req_gatling-png--306285301.html 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <link rel="shortcut icon" type="image/x-icon" href="style/favicon.ico"/>
  6. <link href="style/style.css" rel="stylesheet" type="text/css" />
  7. <link href="style/bootstrap.min.css" rel="stylesheet" type="text/css" />
  8. <script src="js/jquery-3.5.1.min.js"></script>
  9. <script src="js/bootstrap.min.js"></script>
  10. <script src="js/gatling.js"></script>
  11. <script src="js/menu.js"></script>
  12. <script src="js/ellipsis.js"></script>
  13. <script src="js/all_sessions.js"></script>
  14. <script src="js/stats.js"></script>
  15. <script src="js/highstock.js"></script>
  16. <script src="js/highcharts-more.js"></script>
  17. <script src="js/theme.js"></script>
  18. <script src="js/unpack.js"></script>
  19. <title>Gatling Stats - gatling.png</title>
  20. </head>
  21. <body>
  22. <script>
  23. const storedTheme = localStorage.getItem('theme') || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
  24. if (storedTheme) document.documentElement.setAttribute('data-theme', storedTheme)
  25. function toggleTheme() {
  26. const currentTheme = document.documentElement.getAttribute("data-theme");
  27. const targetTheme = currentTheme === "light" ? "dark" : "light";
  28. document.documentElement.setAttribute('data-theme', targetTheme)
  29. localStorage.setItem('theme', targetTheme);
  30. };
  31. </script>
  32. <div class="app-container">
  33. <div class="frise"></div>
  34. <div class="head">
  35. <div class="gatling-open-source">
  36. <a class="gatling-logo gatling-logo-light" href="https://gatling.io" target="blank_" title="Gatling Home Page"><img alt="Gatling" src="style/logo-light.svg"/></a>
  37. <a class="gatling-logo gatling-logo-dark" href="https://gatling.io" target="blank_" title="Gatling Home Page"><img alt="Gatling" src="style/logo-dark.svg"/></a>
  38. <a class="gatling-documentation" href="https://gatling.io/docs/" target="_blank">Documentation</a>
  39. </div>
  40. <div class="nav spacer"></div>
  41. <a class="enterprise" href="https://gatling.io/enterprise/next-step/" target="_blank"><strong>Try</strong>
  42. <img class="logo-enterprise-light" alt="Gatling Enterprise" src="style/logo-enterprise-light.svg"/>
  43. <img class="logo-enterprise-dark" alt="Gatling Enterprise" src="style/logo-enterprise-dark.svg"/>
  44. </a>
  45. <button id="theme-toggle" class="theme-toggle" type="button" onclick="toggleTheme()" aria-label="Toggle user interface mode">
  46. <span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
  47. <span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
  48. </button>
  49. </div>
  50. <div class="container details">
  51. <div class="nav">
  52. <ul></ul>
  53. </div>
  54. <div class="cadre">
  55. <div class="content">
  56. <div class="content-header">
  57. <div class="onglet">
  58. CartsPageSimulation
  59. </div>
  60. <div class="sous-menu" id="sousMenu">
  61. <div class="sous-menu-spacer">
  62. <div class="item "><a href="index.html">Global</a></div>
  63. <div class="item ouvert"><a id="details_link" href="#">Details</a></div>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="content-in">
  68. <div class="container-article">
  69. <div class="article">
  70. <div class="schema-container">
  71. <div id="ranges" class="schema ranges-large">
  72. </div>
  73. <div class="infos">
  74. <div class="infos-in">
  75. <div class="infos-title">Stats</div>
  76. <div class="info">
  77. <h2 class="first">Executions</h2>
  78. <table>
  79. <thead>
  80. <tr><th></th><th>Total</th><th>OK</th><th>KO</th></tr>
  81. </thead>
  82. <tbody>
  83. <tr>
  84. <td class="title">Total count</td>
  85. <td id="numberOfRequests" class="total"></td>
  86. <td id="numberOfRequestsOK" class="ok"></td>
  87. <td id="numberOfRequestsKO" class="ko"></td>
  88. </tr>
  89. <tr>
  90. <td class="title">Mean count/s</abbr></td>
  91. <td id="meanNumberOfRequestsPerSecond" class="total"></td>
  92. <td id="meanNumberOfRequestsPerSecondOK" class="ok"></td>
  93. <td id="meanNumberOfRequestsPerSecondKO" class="ko"></td>
  94. </tr>
  95. </tbody>
  96. </table>
  97. <h2 class="second">Response Time (ms)</h2>
  98. <table>
  99. <thead>
  100. <tr>
  101. <th></th>
  102. <th>Total</th>
  103. <th>OK</th>
  104. <th>KO</th>
  105. </tr>
  106. </thead>
  107. <tbody>
  108. <tr>
  109. <td class="title">Min</td>
  110. <td id="minResponseTime" class="total"></td>
  111. <td id="minResponseTimeOK" class="ok"></td>
  112. <td id="minResponseTimeKO" class="ko"></td>
  113. </tr>
  114. <tr>
  115. <td class="title">50th percentile</td>
  116. <td id="percentiles1" class="total"></td>
  117. <td id="percentiles1OK" class="ok"></td>
  118. <td id="percentiles1KO" class="ko"></td>
  119. </tr>
  120. <tr>
  121. <td class="title">75th percentile</td>
  122. <td id="percentiles2" class="total"></td>
  123. <td id="percentiles2OK" class="ok"></td>
  124. <td id="percentiles2KO" class="ko"></td>
  125. </tr>
  126. <tr>
  127. <td class="title">95th percentile</td>
  128. <td id="percentiles3" class="total"></td>
  129. <td id="percentiles3OK" class="ok"></td>
  130. <td id="percentiles3KO" class="ko"></td>
  131. </tr>
  132. <tr>
  133. <td class="title">99th percentile</td>
  134. <td id="percentiles4" class="total"></td>
  135. <td id="percentiles4OK" class="ok"></td>
  136. <td id="percentiles4KO" class="ko"></td>
  137. </tr>
  138. <tr>
  139. <td class="title">Max</td>
  140. <td id="maxResponseTime" class="total"></td>
  141. <td id="maxResponseTimeOK" class="ok"></td>
  142. <td id="maxResponseTimeKO" class="ko"></td>
  143. </tr>
  144. <tr>
  145. <td class="title">Mean</td>
  146. <td id="meanResponseTime" class="total"></td>
  147. <td id="meanResponseTimeOK" class="ok"></td>
  148. <td id="meanResponseTimeKO" class="ko"></td>
  149. </tr>
  150. <tr>
  151. <td class="title">Standard Deviation</td>
  152. <td id="standardDeviation" class="total"></td>
  153. <td id="standardDeviationOK" class="ok"></td>
  154. <td id="standardDeviationKO" class="ko"></td>
  155. </tr>
  156. </tbody>
  157. </table>
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. <div class="statistics extensible-geant collapsed">
  163. <div class="title">
  164. Errors
  165. </div>
  166. <table id="container_errors" class="statistics-in extensible-geant">
  167. <thead>
  168. <tr>
  169. <th id="error-col-1" class="header sortable"><span>Error</span></th>
  170. <th id="error-col-2" class="header sortable"><span>Count</span></th>
  171. <th id="error-col-3" class="header sortable"><span>Percentage</span></th>
  172. </tr>
  173. </thead>
  174. <tbody>
  175. <tr>
  176. <td class="error-col-1 total ko">Request timeout to ecomm.gatling.io/18.164.246.56:443 after 60000 ms<span class="value" style="display:none">0</span></td>
  177. <td class="value error-col-2 total ko">190</td>
  178. <td class="value error-col-3 total ko">27.46%</td>
  179. </tr>
  180. <tr>
  181. <td class="error-col-1 total ko">Request timeout to ecomm.gatling.io/18.164.246.108:443 after 60000 ms<span class="value" style="display:none">1</span></td>
  182. <td class="value error-col-2 total ko">182</td>
  183. <td class="value error-col-3 total ko">26.3%</td>
  184. </tr>
  185. <tr>
  186. <td class="error-col-1 total ko">Request timeout to ecomm.gatling.io/18.164.246.48:443 after 60000 ms<span class="value" style="display:none">2</span></td>
  187. <td class="value error-col-2 total ko">179</td>
  188. <td class="value error-col-3 total ko">25.87%</td>
  189. </tr>
  190. <tr>
  191. <td class="error-col-1 total ko">Request timeout to ecomm.gatling.io/18.164.246.111:443 after 60000 ms<span class="value" style="display:none">3</span></td>
  192. <td class="value error-col-2 total ko">141</td>
  193. <td class="value error-col-3 total ko">20.38%</td>
  194. </tr>
  195. </tbody>
  196. </table>
  197. </div>
  198. <div class="schema geant">
  199. <div id="responsetimeDistributionContainer" class="geant"></div>
  200. </div>
  201. <div class="schema geant">
  202. <div id="responsetimepercentilesovertimeokPercentilesContainer" class="geant"></div>
  203. </div>
  204. <div class="schema geant">
  205. <div id="requests" class="geant"></div>
  206. </div>
  207. <div class="schema geant">
  208. <div id="responses" class="geant"></div>
  209. </div>
  210. <div class="schema geant">
  211. <div id="container_response_time_dispersion" class="geant"></div>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <script>
  220. var pageStats = stats.contents['req_gatling-png--306285301'].stats;
  221. $(document).ready(function() {
  222. $('.simulation-tooltip').popover({trigger:'hover', placement:'left'});
  223. setDetailsLinkUrl();
  224. setDetailsMenu();
  225. setActiveMenu();
  226. fillStats(pageStats);
  227. Highcharts.setOptions({
  228. global: { useUTC: false }
  229. });
  230. var rangesChart = new Highcharts.Chart({
  231. chart: {
  232. renderTo: 'ranges',
  233. marginRight: 100
  234. },
  235. credits: { enabled: false },
  236. legend: { enabled: false },
  237. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  238. xAxis: {
  239. categories: [
  240. pageStats.group1.htmlName,
  241. pageStats.group2.htmlName,
  242. pageStats.group3.htmlName,
  243. pageStats.group4.htmlName
  244. ]
  245. },
  246. yAxis: {
  247. title: { text: 'Number of Requests' },
  248. reversedStacks: false
  249. },
  250. tooltip: {
  251. formatter: function() {
  252. var s;
  253. if (this.point.name) { // the pie chart
  254. s = ''+ this.point.name +': '+ this.y +'% requests';
  255. } else {
  256. s = ''+ this.y + ' requests';
  257. }
  258. return s;
  259. }
  260. },
  261. plotOptions: {
  262. series: {
  263. stacking: 'normal',
  264. shadow: true
  265. }
  266. },
  267. series: [
  268. {
  269. type: 'column',
  270. data: [{
  271. color: '#68b65c',
  272. y: pageStats.group1.count
  273. },
  274. {
  275. color: '#FFDD00',
  276. y: pageStats.group2.count
  277. },
  278. {
  279. color: '#FFA900',
  280. y: pageStats.group3.count
  281. },
  282. {
  283. color: '#f15b4f',
  284. y: pageStats.group4.count
  285. }]
  286. },
  287. {
  288. type: 'pie',
  289. name: 'Percentages',
  290. data: [
  291. {
  292. name: pageStats.group1.name,
  293. y: pageStats.group1.percentage,
  294. color: '#68b65c'
  295. },
  296. {
  297. name: pageStats.group2.name,
  298. y: pageStats.group2.percentage,
  299. color: '#FFDD00'
  300. },
  301. {
  302. name: pageStats.group3.name,
  303. y: pageStats.group3.percentage,
  304. color: '#FFA900'
  305. },
  306. {
  307. name: pageStats.group4.name,
  308. y: pageStats.group4.percentage,
  309. color: '#f15b4f'
  310. }
  311. ],
  312. center: [368, 0],
  313. size: 90,
  314. showInLegend: false,
  315. dataLabels: { enabled: false }
  316. }
  317. ]
  318. });
  319. rangesChart.setTitle({
  320. text: '<span class="chart_title">Response Time Ranges</span>',
  321. useHTML: true
  322. });
  323. $('#container_errors').sortable('#container_errors');
  324. var responsetimeDistributionChart = new Highcharts.Chart({
  325. chart: {
  326. renderTo: 'responsetimeDistributionContainer',
  327. type: 'column',
  328. marginBottom: 60
  329. },
  330. credits: { enabled: false },
  331. legend: {
  332. enabled: true,
  333. floating: true,
  334. y: 5,
  335. borderWidth: 0,
  336. itemStyle: { fontWeight: "normal" },
  337. symbolRadius: 0
  338. },
  339. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  340. navigator: {
  341. maskInside: false
  342. },
  343. xAxis: {
  344. categories: ['470', '1069', '1667', '2266', '2864', '3463', '4061', '4660', '5258', '5857', '6455', '7054', '7652', '8251', '8849', '9448', '10046', '10645', '11243', '11842', '12440', '13039', '13637', '14236', '14834', '15433', '16031', '16630', '17228', '17827', '18425', '19024', '19622', '20221', '20819', '21418', '22016', '22615', '23213', '23812', '24410', '25009', '25607', '26206', '26804', '27403', '28001', '28600', '29198', '29797', '30395', '30994', '31592', '32191', '32789', '33388', '33986', '34585', '35183', '35782', '36380', '36979', '37577', '38176', '38774', '39373', '39971', '40570', '41168', '41767', '42365', '42964', '43562', '44161', '44759', '45358', '45956', '46555', '47153', '47752', '48350', '48949', '49547', '50146', '50744', '51343', '51941', '52540', '53138', '53737', '54335', '54934', '55532', '56131', '56729', '57328', '57926', '58525', '59123', '59722'],
  345. tickInterval: 20
  346. },
  347. yAxis: {
  348. min: 0,
  349. title: { text: 'Percentage of Requests' },
  350. reversedStacks: false
  351. },
  352. tooltip: {
  353. formatter: function() {
  354. return '<b>'+ this.x +' ms</b><br/>'+
  355. this.series.name +': '+ this.y +' %<br/>'+
  356. 'Total: '+ this.point.stackTotal + ' %';
  357. }
  358. },
  359. plotOptions: {
  360. series: {
  361. groupPadding: 0,
  362. stacking: 'normal',
  363. shadow: true
  364. }
  365. },
  366. series: [
  367. {
  368. type: 'column',
  369. color: '#68b65c',
  370. name: 'OK',
  371. data: [
  372. 9.73,9.46,6.63,8.66,4.51,5.9,6.82,3.67,2.4,3.36,2.46,3.04,1.26,0.45,0.34,0.43,0.45,0.22,0.24,0.24,0.53,0.55,0.89,0.57,0.51,0.21,0.32,0.15,0.24,0.42,0.38,0.22,0.15,0.05,0.21,0.21,0.21,0.21,0.3,0.59,0.66,0.57,0.63,0.68,0.38,0.36,0.09,0.19,0.07,0.11,0.03,0.07,0.09,0.09,0.07,0.13,0.05,0.13,0.05,0.07,0.07,0.03,0.15,0.01,0.01,0.03,0.07,0.03,0.07,0.01,0.03,0.01,0.05,0.05,0.03,0.05,0.03,0.05,0.13,0.13,0.05,0.03,0.15,0.09,0.07,0.09,0.26,0.26,0.15,0.11,0.3,0.22,0.17,0.26,0.24,0.19,0.03,0.21,0.45,0.13
  373. ],
  374. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  375. },
  376. {
  377. type: 'column',
  378. color: '#f15b4f',
  379. name: 'KO',
  380. data: [
  381. 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,13.23
  382. ],
  383. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  384. }
  385. ]
  386. });
  387. responsetimeDistributionChart.setTitle({
  388. text: '<span class="chart_title">Response Time Distribution</span>',
  389. useHTML: true
  390. });
  391. var responsetimepercentilesovertimeokPercentiles = unpack([[1744367032,null],[1744367033,null],[1744367034,[4383,5865,5888,5914,5914,5918,5918,5919,5919,5919]],[1744367035,[2482,2663,2783,4332,4347,4428,6250,6254,6266,6266]],[1744367036,[3104,3246,5765,6012,6021,6035,6110,6119,6128,6130]],[1744367037,[3027,3801,4533,5007,5065,5093,5104,5266,5274,5275]],[1744367038,[2576,2583,2711,2877,2882,2884,4103,4121,4301,4301]],[1744367039,[3572,3687,3966,4090,4091,4093,4094,4098,4100,4100]],[1744367040,[538,2352,2383,3715,3731,3780,3796,4104,29030,58493]],[1744367041,[357,1169,1929,2033,2053,3283,6151,13588,32730,52491]],[1744367042,[729,5515,7328,21649,24577,25969,31325,47388,59004,59624]],[1744367043,[339,4151,6890,21251,25154,30832,49273,56647,59225,59742]],[1744367044,[355,2549,4520,16039,23349,25248,36562,52347,58662,59785]],[1744367045,[277,1278,2266,4397,7067,10490,17899,33264,55460,56419]],[1744367046,[286,822,1370,2386,3529,3631,3918,4999,53526,53526]],[1744367047,[177,436,834,1599,6700,7146,51854,53881,55539,55539]],[1744367048,[180,462,715,1732,1936,3558,3834,15911,28749,28749]],[1744367049,[171,433,867,1830,1977,2082,3791,14350,54072,54072]],[1744367050,[287,869,1737,3970,7000,9219,48865,52767,56885,56885]],[1744367051,[313,967,2050,6696,7411,14828,27301,55945,56735,56735]],[1744367052,[445,1162,2180,13878,13917,14524,15081,51838,52114,52114]],[1744367053,[300,762,1830,4583,7061,9143,14138,27506,52260,52260]],[1744367054,[449,766,1337,4596,7461,13234,14136,50849,55369,55369]],[1744367055,[305,845,1496,2883,4479,7355,14206,15175,53728,53728]],[1744367056,[446,1109,1466,3969,6884,7346,14291,28634,53448,53448]],[1744367057,[450,721,1251,2548,3905,6952,14915,26810,51732,51732]],[1744367058,[302,718,1210,1942,2510,3734,3969,13821,54358,54358]],[1744367059,[307,725,1243,2143,2525,3656,8992,15761,55297,55297]],[1744367060,[302,601,1400,2417,2449,2907,6941,7143,13506,13506]],[1744367061,[407,834,1490,2372,3534,3638,3909,3988,27570,27570]],[1744367062,[429,859,1251,1976,2048,2373,2431,3949,37715,37715]],[1744367063,[422,837,1161,1952,2472,2785,6775,8130,56752,56752]],[1744367064,[304,966,1271,2423,2794,3521,3580,3758,53110,53110]],[1744367065,[283,628,1289,1926,2098,2226,3027,53385,54961,54961]],[1744367066,[184,457,984,1206,1668,1997,2168,2818,3900,3900]],[1744367067,[228,443,829,1036,1119,1184,1757,2123,56848,56848]],[1744367068,[181,430,716,1004,1111,1520,1657,2167,4505,4505]],[1744367069,[292,451,828,1058,1109,1692,1960,3932,28797,28797]],[1744367070,[288,408,569,861,1776,1845,2259,5103,24728,24728]],[1744367071,[315,569,1102,2339,3257,3478,3806,7067,26348,26348]],[1744367072,[453,1099,1830,3831,4097,8588,8588,26226,26226,26226]],[1744367073,[473,882,1250,3318,4639,7251,13447,24736,24736,24736]],[1744367074,[303,933,1762,3802,4365,8527,25975,27561,29993,29993]],[1744367075,[175,686,1911,4907,6784,7029,26036,26621,31596,31596]],[1744367076,[413,579,1302,1838,2138,3650,13521,25701,29945,29945]],[1744367077,[563,851,988,2295,2295,13953,13953,26060,26060,26060]],[1744367078,[1112,2018,4161,17661,17661,17661,34730,34730,34730,34730]],[1744367079,[1534,1534,2010,3770,3770,3770,3770,3770,3770,3770]],[1744367080,[1383,1929,19684,25830,25830,25830,25830,25830,25830,25830]],[1744367081,[8406,8406,8406,8406,8406,8406,8406,8406,8406,8406]],[1744367082,[14656,14656,14656,14656,14656,14656,14656,14656,14656,14656]],[1744367083,[8720,8720,8720,8720,8720,8720,8720,8720,8720,8720]],[1744367084,null],[1744367085,null],[1744367086,null],[1744367087,null],[1744367088,[5185,5185,13541,13541,13541,13541,13541,13541,13541,13541]],[1744367089,null],[1744367090,null],[1744367091,null],[1744367092,null],[1744367093,null],[1744367094,null],[1744367095,null],[1744367096,null],[1744367097,null],[1744367098,null],[1744367099,null],[1744367100,null],[1744367101,null],[1744367102,null],[1744367103,null],[1744367104,null],[1744367105,null],[1744367106,null],[1744367107,null],[1744367108,null],[1744367109,null],[1744367110,null],[1744367111,null],[1744367112,null],[1744367113,null],[1744367114,null],[1744367115,null],[1744367116,null],[1744367117,null],[1744367118,null],[1744367119,null],[1744367120,null],[1744367121,null],[1744367122,null],[1744367123,null],[1744367124,null],[1744367125,null],[1744367126,null],[1744367127,null],[1744367128,null],[1744367129,null],[1744367130,null],[1744367131,null],[1744367132,null],[1744367133,null],[1744367134,null],[1744367135,null],[1744367136,null],[1744367137,null],[1744367138,null],[1744367139,null],[1744367140,null],[1744367141,null]]);
  392. var responsetimepercentilesovertimeokPercentilesChart = new Highcharts.StockChart({
  393. chart: {
  394. renderTo: 'responsetimepercentilesovertimeokPercentilesContainer',
  395. zoomType: 'x',
  396. marginBottom: 60
  397. },
  398. colors: ['#c4fd90', '#7ff77f', '#6ff2ad', '#61ede6', '#58c7e0', '#4ea1d4', '#487ad9', '#3f52cc', '#7335dc', '#c73905', '#FFA900'],
  399. credits: { enabled: false },
  400. legend: {
  401. enabled: true,
  402. floating: true,
  403. y: -65,
  404. borderWidth: 0,
  405. itemStyle: { fontWeight: "normal" },
  406. symbolRadius: 0
  407. },
  408. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  409. navigator: {
  410. maskInside: false,
  411. baseSeries: 9
  412. },
  413. rangeSelector: {
  414. rangeSelector: { align: "left" },
  415. buttonSpacing: 0,
  416. buttonTheme: {
  417. fill: '#CFC9C6',
  418. padding: 1,
  419. stroke: '#000000',
  420. 'stroke-width': 0.25,
  421. style: {
  422. color: '#000000',
  423. fontWeight: 'bold',
  424. },
  425. states: {
  426. stroke: '#92918C',
  427. 'stroke-width': 0.25,
  428. hover: {
  429. fill: '#92918C',
  430. style: { color: 'black' }
  431. },
  432. select: {
  433. fill: '#FFA900',
  434. style: { color: 'white' }
  435. }
  436. }
  437. },
  438. buttons : [
  439. {
  440. type : 'minute',
  441. count : 1,
  442. text : '1m'
  443. }, {
  444. type : 'minute',
  445. count : 10,
  446. text : '10m'
  447. }, {
  448. type : 'hour',
  449. count : 1,
  450. text : '1h'
  451. }, {
  452. type : 'all',
  453. count : 1,
  454. text : 'All'
  455. }
  456. ],
  457. selected : 3,
  458. inputEnabled : false
  459. },
  460. xAxis: {
  461. type: 'datetime',
  462. ordinal: false,
  463. maxZoom: 10000 // three days
  464. },
  465. yAxis:[
  466. {
  467. min: 0,
  468. title: { text: 'Response Time (ms)' },
  469. opposite: false
  470. }, {
  471. min: 0,
  472. title: {
  473. text: 'Active Users',
  474. style: { color: '#FFA900' }
  475. },
  476. opposite: true
  477. }
  478. ],
  479. plotOptions: {
  480. arearange: { lineWidth: 1 },
  481. series: {
  482. dataGrouping: { enabled: false }
  483. }
  484. },
  485. series: [
  486. {
  487. pointInterval: 1000,
  488. name: 'min',
  489. data: responsetimepercentilesovertimeokPercentiles[0],
  490. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  491. type : 'area',
  492. yAxis: 0,
  493. zIndex: 10
  494. },
  495. {
  496. pointInterval: 1000,
  497. name: '25%',
  498. data: responsetimepercentilesovertimeokPercentiles[1],
  499. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  500. type : 'area',
  501. yAxis: 0,
  502. zIndex: 9
  503. },
  504. {
  505. pointInterval: 1000,
  506. name: '50%',
  507. data: responsetimepercentilesovertimeokPercentiles[2],
  508. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  509. type : 'area',
  510. yAxis: 0,
  511. zIndex: 8
  512. },
  513. {
  514. pointInterval: 1000,
  515. name: '75%',
  516. data: responsetimepercentilesovertimeokPercentiles[3],
  517. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  518. type : 'area',
  519. yAxis: 0,
  520. zIndex: 7
  521. },
  522. {
  523. pointInterval: 1000,
  524. name: '80%',
  525. data: responsetimepercentilesovertimeokPercentiles[4],
  526. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  527. type : 'area',
  528. yAxis: 0,
  529. zIndex: 6
  530. },
  531. {
  532. pointInterval: 1000,
  533. name: '85%',
  534. data: responsetimepercentilesovertimeokPercentiles[5],
  535. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  536. type : 'area',
  537. yAxis: 0,
  538. zIndex: 5
  539. },
  540. {
  541. pointInterval: 1000,
  542. name: '90%',
  543. data: responsetimepercentilesovertimeokPercentiles[6],
  544. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  545. type : 'area',
  546. yAxis: 0,
  547. zIndex: 4
  548. },
  549. {
  550. pointInterval: 1000,
  551. name: '95%',
  552. data: responsetimepercentilesovertimeokPercentiles[7],
  553. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  554. type : 'area',
  555. yAxis: 0,
  556. zIndex: 3
  557. },
  558. {
  559. pointInterval: 1000,
  560. name: '99%',
  561. data: responsetimepercentilesovertimeokPercentiles[8],
  562. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  563. type : 'area',
  564. yAxis: 0,
  565. zIndex: 2
  566. },
  567. {
  568. pointInterval: 1000,
  569. name: 'max',
  570. data: responsetimepercentilesovertimeokPercentiles[9],
  571. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  572. type : 'area',
  573. yAxis: 0,
  574. zIndex: 1
  575. },
  576. allUsersData
  577. ]
  578. });
  579. responsetimepercentilesovertimeokPercentilesChart.setTitle({
  580. text: '<span class="chart_title chart_title_">Response Time Percentiles over Time (OK)</span>',
  581. useHTML: true
  582. });
  583. var requests = unpack([[1744367032,[0,0,0]],[1744367033,[0,0,0]],[1744367034,[12,12,0]],[1744367035,[77,77,0]],[1744367036,[112,112,0]],[1744367037,[152,152,0]],[1744367038,[63,63,0]],[1744367039,[96,96,0]],[1744367040,[269,268,1]],[1744367041,[329,306,23]],[1744367042,[1016,669,347]],[1744367043,[909,715,194]],[1744367044,[609,510,99]],[1744367045,[171,154,17]],[1744367046,[27,27,0]],[1744367047,[25,25,0]],[1744367048,[55,55,0]],[1744367049,[92,92,0]],[1744367050,[90,89,1]],[1744367051,[75,75,0]],[1744367052,[40,39,1]],[1744367053,[42,40,2]],[1744367054,[44,43,1]],[1744367055,[53,53,0]],[1744367056,[56,55,1]],[1744367057,[63,63,0]],[1744367058,[82,80,2]],[1744367059,[48,48,0]],[1744367060,[45,44,1]],[1744367061,[23,22,1]],[1744367062,[31,31,0]],[1744367063,[29,29,0]],[1744367064,[32,32,0]],[1744367065,[39,39,0]],[1744367066,[30,30,0]],[1744367067,[61,61,0]],[1744367068,[66,66,0]],[1744367069,[42,42,0]],[1744367070,[35,35,0]],[1744367071,[22,21,1]],[1744367072,[13,13,0]],[1744367073,[18,18,0]],[1744367074,[47,47,0]],[1744367075,[38,38,0]],[1744367076,[22,22,0]],[1744367077,[11,11,0]],[1744367078,[7,7,0]],[1744367079,[3,3,0]],[1744367080,[4,4,0]],[1744367081,[1,1,0]],[1744367082,[1,1,0]],[1744367083,[1,1,0]],[1744367084,[0,0,0]],[1744367085,[0,0,0]],[1744367086,[0,0,0]],[1744367087,[0,0,0]],[1744367088,[2,2,0]],[1744367089,[0,0,0]],[1744367090,[0,0,0]],[1744367091,[0,0,0]],[1744367092,[0,0,0]],[1744367093,[0,0,0]],[1744367094,[0,0,0]],[1744367095,[0,0,0]],[1744367096,[0,0,0]],[1744367097,[0,0,0]],[1744367098,[0,0,0]],[1744367099,[0,0,0]],[1744367100,[0,0,0]],[1744367101,[0,0,0]],[1744367102,[0,0,0]],[1744367103,[0,0,0]],[1744367104,[0,0,0]],[1744367105,[0,0,0]],[1744367106,[0,0,0]],[1744367107,[0,0,0]],[1744367108,[0,0,0]],[1744367109,[0,0,0]],[1744367110,[0,0,0]],[1744367111,[0,0,0]],[1744367112,[0,0,0]],[1744367113,[0,0,0]],[1744367114,[0,0,0]],[1744367115,[0,0,0]],[1744367116,[0,0,0]],[1744367117,[0,0,0]],[1744367118,[0,0,0]],[1744367119,[0,0,0]],[1744367120,[0,0,0]],[1744367121,[0,0,0]],[1744367122,[0,0,0]],[1744367123,[0,0,0]],[1744367124,[0,0,0]],[1744367125,[0,0,0]],[1744367126,[0,0,0]],[1744367127,[0,0,0]],[1744367128,[0,0,0]],[1744367129,[0,0,0]],[1744367130,[0,0,0]],[1744367131,[0,0,0]],[1744367132,[0,0,0]],[1744367133,[0,0,0]],[1744367134,[0,0,0]],[1744367135,[0,0,0]],[1744367136,[0,0,0]],[1744367137,[0,0,0]],[1744367138,[0,0,0]],[1744367139,[0,0,0]],[1744367140,[0,0,0]],[1744367141,[0,0,0]]]);
  584. var requestsChart = new Highcharts.StockChart({
  585. chart: {
  586. renderTo: 'requests',
  587. zoomType: 'x',
  588. marginBottom: 60
  589. },
  590. credits: { enabled: false },
  591. legend: {
  592. enabled: true,
  593. floating: true,
  594. y: -65,
  595. borderWidth: 0,
  596. itemStyle: { fontWeight: "normal" },
  597. symbolRadius: 0
  598. },
  599. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  600. navigator: {
  601. maskInside: false
  602. },
  603. rangeSelector: {
  604. buttonSpacing: 0,
  605. buttonTheme: {
  606. fill: '#CFC9C6',
  607. padding: 1,
  608. stroke: '#000000',
  609. 'stroke-width': 0.25,
  610. style: {
  611. color: '#000000',
  612. fontWeight: 'bold',
  613. },
  614. states: {
  615. stroke: '#000000',
  616. 'stroke-width': 0.25,
  617. hover: {
  618. fill: '#92918C',
  619. style: { color: 'black' }
  620. },
  621. select: {
  622. fill: '#FFA900',
  623. style: { color: 'white' }
  624. }
  625. }
  626. },
  627. buttons : [
  628. {
  629. type : 'minute',
  630. count : 1,
  631. text : '1m'
  632. }, {
  633. type : 'minute',
  634. count : 10,
  635. text : '10m'
  636. }, {
  637. type : 'hour',
  638. count : 1,
  639. text : '1h'
  640. }, {
  641. type : 'all',
  642. count : 1,
  643. text : 'All'
  644. }
  645. ],
  646. selected : 3,
  647. inputEnabled : false
  648. },
  649. plotOptions: {
  650. series: {
  651. dataGrouping: { enabled: false }
  652. },
  653. area: {
  654. stacking: 'normal'
  655. }
  656. },
  657. xAxis: {
  658. type: 'datetime',
  659. ordinal: false,
  660. maxZoom: 10000 // three days
  661. },
  662. yAxis:[
  663. {
  664. min: 0,
  665. title: { text: 'Number of requests' },
  666. opposite: false,
  667. reversedStacks: false
  668. }, {
  669. min: 0,
  670. title: {
  671. text: 'Active Users',
  672. style: { color: '#FFA900' }
  673. },
  674. opposite: true
  675. }
  676. ],
  677. series: [
  678. {
  679. color: '#5E7BE2',
  680. name: 'All',
  681. data: requests[0],
  682. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  683. ,type: 'area'},
  684. allUsersData
  685. ]
  686. });
  687. requestsChart.setTitle({
  688. text: '<span class="chart_title">Number of requests per second</span>',
  689. useHTML: true
  690. });
  691. var responses = unpack([[1744367032,[0,0,0]],[1744367033,[0,0,0]],[1744367034,[0,0,0]],[1744367035,[0,0,0]],[1744367036,[0,0,0]],[1744367037,[1,1,0]],[1744367038,[51,51,0]],[1744367039,[55,55,0]],[1744367040,[90,90,0]],[1744367041,[75,75,0]],[1744367042,[240,240,0]],[1744367043,[447,447,0]],[1744367044,[129,129,0]],[1744367045,[71,71,0]],[1744367046,[251,251,0]],[1744367047,[286,286,0]],[1744367048,[243,243,0]],[1744367049,[291,291,0]],[1744367050,[176,176,0]],[1744367051,[120,120,0]],[1744367052,[87,87,0]],[1744367053,[64,64,0]],[1744367054,[73,73,0]],[1744367055,[68,68,0]],[1744367056,[81,81,0]],[1744367057,[73,73,0]],[1744367058,[84,84,0]],[1744367059,[90,90,0]],[1744367060,[66,66,0]],[1744367061,[74,74,0]],[1744367062,[57,57,0]],[1744367063,[53,53,0]],[1744367064,[59,59,0]],[1744367065,[50,50,0]],[1744367066,[62,62,0]],[1744367067,[97,97,0]],[1744367068,[148,148,0]],[1744367069,[91,91,0]],[1744367070,[69,69,0]],[1744367071,[46,46,0]],[1744367072,[24,24,0]],[1744367073,[21,21,0]],[1744367074,[34,34,0]],[1744367075,[34,34,0]],[1744367076,[32,32,0]],[1744367077,[34,34,0]],[1744367078,[22,22,0]],[1744367079,[14,14,0]],[1744367080,[13,13,0]],[1744367081,[6,6,0]],[1744367082,[14,14,0]],[1744367083,[7,7,0]],[1744367084,[8,8,0]],[1744367085,[3,3,0]],[1744367086,[8,8,0]],[1744367087,[2,2,0]],[1744367088,[5,5,0]],[1744367089,[9,9,0]],[1744367090,[9,9,0]],[1744367091,[6,6,0]],[1744367092,[9,9,0]],[1744367093,[8,8,0]],[1744367094,[7,7,0]],[1744367095,[8,8,0]],[1744367096,[11,11,0]],[1744367097,[9,9,0]],[1744367098,[23,23,0]],[1744367099,[21,21,0]],[1744367100,[21,20,1]],[1744367101,[42,19,23]],[1744367102,[374,29,345]],[1744367103,[214,18,196]],[1744367104,[106,7,99]],[1744367105,[19,2,17]],[1744367106,[3,3,0]],[1744367107,[5,5,0]],[1744367108,[2,2,0]],[1744367109,[5,5,0]],[1744367110,[2,1,1]],[1744367111,[0,0,0]],[1744367112,[3,2,1]],[1744367113,[2,0,2]],[1744367114,[2,1,1]],[1744367115,[0,0,0]],[1744367116,[1,0,1]],[1744367117,[1,1,0]],[1744367118,[3,1,2]],[1744367119,[0,0,0]],[1744367120,[3,2,1]],[1744367121,[1,0,1]],[1744367122,[0,0,0]],[1744367123,[0,0,0]],[1744367124,[1,1,0]],[1744367125,[0,0,0]],[1744367126,[0,0,0]],[1744367127,[0,0,0]],[1744367128,[0,0,0]],[1744367129,[0,0,0]],[1744367130,[0,0,0]],[1744367131,[1,0,1]],[1744367132,[0,0,0]],[1744367133,[0,0,0]],[1744367134,[0,0,0]],[1744367135,[0,0,0]],[1744367136,[0,0,0]],[1744367137,[0,0,0]],[1744367138,[0,0,0]],[1744367139,[0,0,0]],[1744367140,[0,0,0]],[1744367141,[0,0,0]]]);
  692. var requestsChart = new Highcharts.StockChart({
  693. chart: {
  694. renderTo: 'responses',
  695. zoomType: 'x',
  696. marginBottom: 60
  697. },
  698. credits: { enabled: false },
  699. legend: {
  700. enabled: true,
  701. floating: true,
  702. y: -65,
  703. borderWidth: 0,
  704. itemStyle: { fontWeight: "normal" },
  705. symbolRadius: 0
  706. },
  707. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  708. navigator: {
  709. maskInside: false
  710. },
  711. rangeSelector: {
  712. buttonSpacing: 0,
  713. buttonTheme: {
  714. fill: '#CFC9C6',
  715. padding: 1,
  716. stroke: '#000000',
  717. 'stroke-width': 0.25,
  718. style: {
  719. color: '#000000',
  720. fontWeight: 'bold',
  721. },
  722. states: {
  723. stroke: '#000000',
  724. 'stroke-width': 0.25,
  725. hover: {
  726. fill: '#92918C',
  727. style: { color: 'black' }
  728. },
  729. select: {
  730. fill: '#FFA900',
  731. style: { color: 'white' }
  732. }
  733. }
  734. },
  735. buttons : [
  736. {
  737. type : 'minute',
  738. count : 1,
  739. text : '1m'
  740. }, {
  741. type : 'minute',
  742. count : 10,
  743. text : '10m'
  744. }, {
  745. type : 'hour',
  746. count : 1,
  747. text : '1h'
  748. }, {
  749. type : 'all',
  750. count : 1,
  751. text : 'All'
  752. }
  753. ],
  754. selected : 3,
  755. inputEnabled : false
  756. },
  757. plotOptions: {
  758. series: {
  759. dataGrouping: { enabled: false }
  760. },
  761. area: {
  762. stacking: 'normal'
  763. }
  764. },
  765. xAxis: {
  766. type: 'datetime',
  767. ordinal: false,
  768. maxZoom: 10000 // three days
  769. },
  770. yAxis:[
  771. {
  772. min: 0,
  773. title: { text: 'Number of responses' },
  774. opposite: false,
  775. reversedStacks: false
  776. }, {
  777. min: 0,
  778. title: {
  779. text: 'Active Users',
  780. style: { color: '#FFA900' }
  781. },
  782. opposite: true
  783. }
  784. ],
  785. series: [
  786. {
  787. color: '#5E7BE2',
  788. name: 'All',
  789. data: responses[0],
  790. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  791. },
  792. {
  793. color: '#68b65c',
  794. name: 'OK',
  795. data: responses[1],
  796. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  797. ,type: 'area'},
  798. {
  799. color: '#f15b4f',
  800. name: 'KO',
  801. data: responses[2],
  802. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  803. ,type: 'area'},
  804. allUsersData,
  805. {
  806. type: 'pie',
  807. name: 'Distribution',
  808. data: [
  809. {name: 'OK', y: 4538.0, color: '#68b65c'},{name: 'KO', y: 692.0, color: '#f15b4f'}
  810. ],
  811. center: [775, -40],
  812. size: 70,
  813. showInLegend: false,
  814. dataLabels: { enabled: false },
  815. dataGrouping: { enabled: false }
  816. }
  817. ]
  818. });
  819. requestsChart.setTitle({
  820. text: '<span class="chart_title">Number of responses per second</span>',
  821. useHTML: true
  822. });
  823. var scatterChart = new Highcharts.Chart({
  824. chart: {
  825. renderTo: 'container_response_time_dispersion',
  826. defaultSeriesType: 'scatter',
  827. zoomType: 'xy',
  828. marginBottom: 90
  829. },
  830. credits: { enabled: false },
  831. xAxis: {
  832. title: {
  833. enabled: true,
  834. text: 'Global number of requests per second',
  835. style: { fontWeight: 'bold' }
  836. },
  837. startOnTick: true,
  838. endOnTick: true,
  839. showLastLabel: true,
  840. min: 0
  841. },
  842. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  843. yAxis: {
  844. min: 0,
  845. title: { text: 'Response Time (ms)' }
  846. },
  847. tooltip: {
  848. formatter: function() {
  849. return ''+ this.y +' ms at ' + this.x + ' allreq/s';
  850. }
  851. },
  852. legend: {
  853. enabled: true,
  854. floating: true,
  855. y: 0,
  856. borderWidth: 0,
  857. itemStyle: { fontWeight: "normal" },
  858. },
  859. plotOptions: {
  860. scatter: {
  861. marker: {
  862. radius: 3,
  863. states: {
  864. hover: {
  865. enabled: true,
  866. lineColor: 'rgb(100,100,100)'
  867. }
  868. }
  869. },
  870. states: {
  871. hover: {
  872. marker: { enabled: false }
  873. }
  874. }
  875. }
  876. },
  877. series: [
  878. {
  879. type: 'scatter',
  880. color: '#68b65c',
  881. name: 'OK',
  882. data: [
  883. [3,8406],[3,14656],[3,8720],[6,13541],[9,3770],[12,25830],[21,34730],[33,26060],[39,26226],[54,24736],[66,7067],[66,25701],[69,3988],[75,53881],[81,4999],[87,8130],[90,2818],[93,3949],[96,3758],[105,5103],[114,26621],[117,53385],[120,51838],[126,27506],[126,3932],[132,50849],[135,7143],[141,27561],[144,15761],[159,15175],[165,15911],[168,28634],[183,2123],[189,26810],[198,2167],[225,55945],[246,13821],[270,52767],[276,14350],[514,33264],[807,4104],[987,13588],[1535,4098],[1639,4121],[1826,52347],[2729,56647],[2862,5266],[3046,47388],[3872,6254],[5243,5919],[7856,6119]
  884. ]},
  885. {
  886. type: 'scatter',
  887. color: '#f15b4f',
  888. name: 'KO',
  889. data: [
  890. [66,60008],[69,60004],[120,60021],[126,60004],[132,60013],[135,60001],[168,60018],[246,60012],[270,60007],[514,60009],[807,60001],[987,60007],[1826,60017],[2729,60012],[3046,60013]
  891. ]}
  892. ]
  893. });
  894. scatterChart.setTitle({
  895. text: '<span class="chart_title">Response Time against Global Throughput</span>',
  896. useHTML: true
  897. });
  898. });
  899. </script>
  900. </div>
  901. </body>
  902. </html>