req_gatling-png--306285301.html 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  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. ProductsPageSimulation
  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.108:443 after 60000 ms<span class="value" style="display:none">0</span></td>
  177. <td class="value error-col-2 total ko">503</td>
  178. <td class="value error-col-3 total ko">25.86%</td>
  179. </tr>
  180. <tr>
  181. <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">1</span></td>
  182. <td class="value error-col-2 total ko">493</td>
  183. <td class="value error-col-3 total ko">25.35%</td>
  184. </tr>
  185. <tr>
  186. <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">2</span></td>
  187. <td class="value error-col-2 total ko">488</td>
  188. <td class="value error-col-3 total ko">25.09%</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">454</td>
  193. <td class="value error-col-3 total ko">23.34%</td>
  194. </tr>
  195. <tr>
  196. <td class="error-col-1 total ko">i.n.h.s.SslHandshakeTimeoutException: handshake timed out after 10000ms<span class="value" style="display:none">4</span></td>
  197. <td class="value error-col-2 total ko">6</td>
  198. <td class="value error-col-3 total ko">0.31%</td>
  199. </tr>
  200. <tr>
  201. <td class="error-col-1 total ko">j.n.UnknownHostException: ecomm.gatling.io<span class="value" style="display:none">5</span></td>
  202. <td class="value error-col-2 total ko">1</td>
  203. <td class="value error-col-3 total ko">0.05%</td>
  204. </tr>
  205. </tbody>
  206. </table>
  207. </div>
  208. <div class="schema geant">
  209. <div id="responsetimeDistributionContainer" class="geant"></div>
  210. </div>
  211. <div class="schema geant">
  212. <div id="responsetimepercentilesovertimeokPercentilesContainer" class="geant"></div>
  213. </div>
  214. <div class="schema geant">
  215. <div id="requests" class="geant"></div>
  216. </div>
  217. <div class="schema geant">
  218. <div id="responses" class="geant"></div>
  219. </div>
  220. <div class="schema geant">
  221. <div id="container_response_time_dispersion" class="geant"></div>
  222. </div>
  223. </div>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. </div>
  229. <script>
  230. var pageStats = stats.contents['req_gatling-png--306285301'].stats;
  231. $(document).ready(function() {
  232. $('.simulation-tooltip').popover({trigger:'hover', placement:'left'});
  233. setDetailsLinkUrl();
  234. setDetailsMenu();
  235. setActiveMenu();
  236. fillStats(pageStats);
  237. Highcharts.setOptions({
  238. global: { useUTC: false }
  239. });
  240. var rangesChart = new Highcharts.Chart({
  241. chart: {
  242. renderTo: 'ranges',
  243. marginRight: 100
  244. },
  245. credits: { enabled: false },
  246. legend: { enabled: false },
  247. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  248. xAxis: {
  249. categories: [
  250. pageStats.group1.htmlName,
  251. pageStats.group2.htmlName,
  252. pageStats.group3.htmlName,
  253. pageStats.group4.htmlName
  254. ]
  255. },
  256. yAxis: {
  257. title: { text: 'Number of Requests' },
  258. reversedStacks: false
  259. },
  260. tooltip: {
  261. formatter: function() {
  262. var s;
  263. if (this.point.name) { // the pie chart
  264. s = ''+ this.point.name +': '+ this.y +'% requests';
  265. } else {
  266. s = ''+ this.y + ' requests';
  267. }
  268. return s;
  269. }
  270. },
  271. plotOptions: {
  272. series: {
  273. stacking: 'normal',
  274. shadow: true
  275. }
  276. },
  277. series: [
  278. {
  279. type: 'column',
  280. data: [{
  281. color: '#68b65c',
  282. y: pageStats.group1.count
  283. },
  284. {
  285. color: '#FFDD00',
  286. y: pageStats.group2.count
  287. },
  288. {
  289. color: '#FFA900',
  290. y: pageStats.group3.count
  291. },
  292. {
  293. color: '#f15b4f',
  294. y: pageStats.group4.count
  295. }]
  296. },
  297. {
  298. type: 'pie',
  299. name: 'Percentages',
  300. data: [
  301. {
  302. name: pageStats.group1.name,
  303. y: pageStats.group1.percentage,
  304. color: '#68b65c'
  305. },
  306. {
  307. name: pageStats.group2.name,
  308. y: pageStats.group2.percentage,
  309. color: '#FFDD00'
  310. },
  311. {
  312. name: pageStats.group3.name,
  313. y: pageStats.group3.percentage,
  314. color: '#FFA900'
  315. },
  316. {
  317. name: pageStats.group4.name,
  318. y: pageStats.group4.percentage,
  319. color: '#f15b4f'
  320. }
  321. ],
  322. center: [368, 0],
  323. size: 90,
  324. showInLegend: false,
  325. dataLabels: { enabled: false }
  326. }
  327. ]
  328. });
  329. rangesChart.setTitle({
  330. text: '<span class="chart_title">Response Time Ranges</span>',
  331. useHTML: true
  332. });
  333. $('#container_errors').sortable('#container_errors');
  334. var responsetimeDistributionChart = new Highcharts.Chart({
  335. chart: {
  336. renderTo: 'responsetimeDistributionContainer',
  337. type: 'column',
  338. marginBottom: 60
  339. },
  340. credits: { enabled: false },
  341. legend: {
  342. enabled: true,
  343. floating: true,
  344. y: 5,
  345. borderWidth: 0,
  346. itemStyle: { fontWeight: "normal" },
  347. symbolRadius: 0
  348. },
  349. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  350. navigator: {
  351. maskInside: false
  352. },
  353. xAxis: {
  354. categories: ['519', '1518', '2518', '3518', '4517', '5517', '6517', '7516', '8516', '9516', '10515', '11515', '12515', '13514', '14514', '15514', '16513', '17513', '18513', '19512', '20512', '21512', '22511', '23511', '24511', '25510', '26510', '27510', '28509', '29509', '30509', '31508', '32508', '33508', '34507', '35507', '36507', '37506', '38506', '39506', '40505', '41505', '42505', '43504', '44504', '45504', '46503', '47503', '48503', '49502', '50502', '51501', '52501', '53501', '54500', '55500', '56500', '57499', '58499', '59499', '60498', '61498', '62498', '63497', '64497', '65497', '66496', '67496', '68496', '69495', '70495', '71495', '72494', '73494', '74494', '75493', '76493', '77493', '78492', '79492', '80492', '81491', '82491', '83491', '84490', '85490', '86490', '87489', '88489', '89489', '90488', '91488', '92488', '93487', '94487', '95487', '96486', '97486', '98486', '99485'],
  355. tickInterval: 20
  356. },
  357. yAxis: {
  358. min: 0,
  359. title: { text: 'Percentage of Requests' },
  360. reversedStacks: false
  361. },
  362. tooltip: {
  363. formatter: function() {
  364. return '<b>'+ this.x +' ms</b><br/>'+
  365. this.series.name +': '+ this.y +' %<br/>'+
  366. 'Total: '+ this.point.stackTotal + ' %';
  367. }
  368. },
  369. plotOptions: {
  370. series: {
  371. groupPadding: 0,
  372. stacking: 'normal',
  373. shadow: true
  374. }
  375. },
  376. series: [
  377. {
  378. type: 'column',
  379. color: '#68b65c',
  380. name: 'OK',
  381. data: [
  382. 3.54,3.06,6.88,2.67,2.67,1.68,1.06,0.44,0.89,0.61,0.61,0.56,0.44,0.36,0.33,0.39,0.5,0.59,0.67,0.44,0.33,0.39,0.3,0.22,0.28,0.44,0.64,0.42,0.39,0.25,0.56,0.5,0.42,0.36,0.64,0.39,0.39,0.44,0.39,0.42,0.33,0.28,0.39,0.33,0.25,0.47,0.44,0.42,0.42,0.44,0.39,0.47,0.44,0.33,0.53,0.39,0.39,0.44,0.59,0.61,0.0,0.0,0.0,0.0,0.05,0.0,0.02,0.0,0.0,0.0,0.0,0.02,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
  383. ],
  384. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  385. },
  386. {
  387. type: 'column',
  388. color: '#f15b4f',
  389. name: 'KO',
  390. data: [
  391. 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.08,0.0,0.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,0.02,0.0,0.0,0.0,0.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,54.3,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.08,0.0,0.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02
  392. ],
  393. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  394. }
  395. ]
  396. });
  397. responsetimeDistributionChart.setTitle({
  398. text: '<span class="chart_title">Response Time Distribution</span>',
  399. useHTML: true
  400. });
  401. var responsetimepercentilesovertimeokPercentiles = unpack([[1744803775,null],[1744803776,null],[1744803777,[1899,2923,3740,3798,3798,3851,3851,3856,3856,3856]],[1744803778,[2882,2895,2913,2930,2930,2999,2999,3008,3008,3008]],[1744803779,[2438,2632,2760,2899,2906,2910,2917,2975,48370,48370]],[1744803780,[3138,4593,4685,4690,4690,4695,4713,4775,4775,4775]],[1744803781,[2863,3427,8703,26299,31406,39808,45811,52220,57164,59430]],[1744803782,[2575,2778,5053,8701,11502,25192,28525,39471,54006,54006]],[1744803783,[4936,12231,25098,35650,36973,43660,51571,56146,56146,56146]],[1744803784,[2784,10150,36896,50057,53484,54420,54974,64072,64343,64343]],[1744803785,[4368,15843,28032,39557,41590,45421,50715,54007,66387,66387]],[1744803786,[7179,20237,28739,41963,44933,44933,49345,52820,52820,52820]],[1744803787,[16596,26699,27997,49834,49834,50316,54449,55393,55393,55393]],[1744803788,[5026,19345,36989,51057,51885,52156,54307,57951,71454,71454]],[1744803789,[8410,17551,26559,35989,37990,38362,46420,54446,55635,55635]],[1744803790,[16480,17837,18861,32954,32954,32954,34798,34798,34798,34798]],[1744803791,[11175,17063,29449,50718,51169,55124,56134,57960,59215,59215]],[1744803792,[3388,14504,30112,31132,31132,31132,51393,51393,51393,51393]],[1744803793,[3128,18224,45865,56812,56812,57088,57088,59360,59360,59360]],[1744803794,[17810,22537,54201,55958,55958,55958,59756,59756,59756,59756]],[1744803795,[11094,13087,18821,27861,47323,47323,47323,47323,47323,47323]],[1744803796,[14699,27915,50988,52186,52186,52186,52186,52186,52186,52186]],[1744803797,[11445,14587,21868,46702,58646,58646,58646,58646,58646,58646]],[1744803798,[6921,8821,10109,12837,12837,46406,46406,46406,46406,46406]],[1744803799,[7700,14240,23782,44210,44210,44210,50543,50543,50543,50543]],[1744803800,[4943,9941,54614,58424,58424,58424,58424,58424,58424,58424]],[1744803801,[5196,6473,15396,48137,56562,56562,57401,57401,57401,57401]],[1744803802,[4811,8269,17259,30047,30047,55774,55774,55774,55774,55774]],[1744803803,[3506,31798,47211,50649,52725,52725,54939,54939,54939,54939]],[1744803804,[2800,3146,9081,18774,46939,46939,55065,55065,55065,55065]],[1744803805,[1831,3968,16226,52820,52820,58150,58150,58150,58150,58150]],[1744803806,[554,1115,2497,6088,12380,18969,38086,53416,53416,53416]],[1744803807,[19,832,3106,9290,14904,18585,47200,52064,52377,52377]],[1744803808,[371,977,3307,11240,24797,46223,53146,58232,59469,59469]],[1744803809,[363,1560,4443,13496,19634,30856,49318,58205,59637,59972]],[1744803810,[306,2428,6905,31874,44150,48935,53394,56888,59440,59440]],[1744803811,[229,2222,4800,29892,37119,43209,48047,57149,59492,59492]],[1744803812,[453,1868,4095,11219,18954,25518,42139,48980,58829,58829]],[1744803813,[703,1982,5303,21373,30963,34135,43777,52933,59862,59862]],[1744803814,[317,1813,3237,22368,35925,43968,47137,54968,59294,59294]],[1744803815,[365,3459,15402,49539,50845,53633,54832,55384,58692,58692]],[1744803816,[665,2705,10066,42788,44911,49560,56631,57390,58290,58290]],[1744803817,[398,2398,8652,42185,48422,48617,53362,57185,59172,59172]],[1744803818,[532,2188,9260,39020,39626,45864,49883,51926,59223,59223]],[1744803819,[576,958,12266,45831,51506,57733,57860,58673,59848,59848]],[1744803820,[730,8268,20898,38531,40986,49224,50660,54869,54869,54869]],[1744803821,[382,2416,20659,39518,41549,42879,51438,59300,59976,59976]],[1744803822,[378,859,9013,46047,48896,50275,52315,54087,59764,59764]],[1744803823,[268,9862,33413,40238,40458,46460,48565,53046,55075,55075]],[1744803824,[427,15116,34144,46436,47753,52342,52528,59619,59619,59619]],[1744803825,[339,4955,25203,36776,38995,42504,42898,46037,59631,59631]],[1744803826,[1501,2390,8433,35700,37280,41527,56392,59168,59168,59168]],[1744803827,[554,2895,12739,43121,43126,43789,44050,44058,46529,46529]],[1744803828,[732,4095,22002,35037,37974,39893,40084,47840,47840,47840]],[1744803829,[4524,9047,31250,49404,49404,54348,54348,56647,56647,56647]],[1744803830,[2463,5026,18800,38144,39937,50573,56550,56795,56795,56795]],[1744803831,[1106,3319,26775,37299,45305,45305,48660,59452,59452,59452]],[1744803832,[1410,6662,24701,34065,35977,37715,40115,40193,46665,46665]],[1744803833,[487,2185,6537,33442,33442,40137,40137,42821,42821,42821]],[1744803834,[340,550,6396,32248,33400,33400,34065,34518,34518,34518]],[1744803835,[1804,5630,28846,45989,53439,53439,57203,57203,57203,57203]],[1744803836,[939,4250,32146,43160,43160,43160,49299,49299,49299,49299]],[1744803837,[1627,2456,26307,31919,31919,32037,32037,32037,32037,32037]],[1744803838,[2372,2372,30069,30536,30536,30536,30536,30536,30536,30536]],[1744803839,[1835,1835,3805,6505,6505,6505,6505,6505,6505,6505]],[1744803840,null],[1744803841,null],[1744803842,[6939,6939,6939,6939,6939,6939,6939,6939,6939,6939]],[1744803843,null],[1744803844,null],[1744803845,null],[1744803846,null],[1744803847,null],[1744803848,null],[1744803849,null],[1744803850,null],[1744803851,null],[1744803852,null],[1744803853,null],[1744803854,null],[1744803855,null],[1744803856,null],[1744803857,null],[1744803858,null],[1744803859,null],[1744803860,null],[1744803861,null],[1744803862,null],[1744803863,null],[1744803864,null],[1744803865,null],[1744803866,null],[1744803867,null],[1744803868,null],[1744803869,null],[1744803870,null],[1744803871,null],[1744803872,null],[1744803873,null],[1744803874,null],[1744803875,null],[1744803876,null],[1744803877,null],[1744803878,null],[1744803879,null],[1744803880,null],[1744803881,null],[1744803882,null],[1744803883,null],[1744803884,null],[1744803885,null],[1744803886,null],[1744803887,null],[1744803888,null],[1744803889,null],[1744803890,null],[1744803891,null],[1744803892,null],[1744803893,null],[1744803894,null],[1744803895,null],[1744803896,null],[1744803897,null]]);
  402. var responsetimepercentilesovertimeokPercentilesChart = new Highcharts.StockChart({
  403. chart: {
  404. renderTo: 'responsetimepercentilesovertimeokPercentilesContainer',
  405. zoomType: 'x',
  406. marginBottom: 60
  407. },
  408. colors: ['#c4fd90', '#7ff77f', '#6ff2ad', '#61ede6', '#58c7e0', '#4ea1d4', '#487ad9', '#3f52cc', '#7335dc', '#c73905', '#FFA900'],
  409. credits: { enabled: false },
  410. legend: {
  411. enabled: true,
  412. floating: true,
  413. y: -65,
  414. borderWidth: 0,
  415. itemStyle: { fontWeight: "normal" },
  416. symbolRadius: 0
  417. },
  418. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  419. navigator: {
  420. maskInside: false,
  421. baseSeries: 9
  422. },
  423. rangeSelector: {
  424. rangeSelector: { align: "left" },
  425. buttonSpacing: 0,
  426. buttonTheme: {
  427. fill: '#CFC9C6',
  428. padding: 1,
  429. stroke: '#000000',
  430. 'stroke-width': 0.25,
  431. style: {
  432. color: '#000000',
  433. fontWeight: 'bold',
  434. },
  435. states: {
  436. stroke: '#92918C',
  437. 'stroke-width': 0.25,
  438. hover: {
  439. fill: '#92918C',
  440. style: { color: 'black' }
  441. },
  442. select: {
  443. fill: '#FFA900',
  444. style: { color: 'white' }
  445. }
  446. }
  447. },
  448. buttons : [
  449. {
  450. type : 'minute',
  451. count : 1,
  452. text : '1m'
  453. }, {
  454. type : 'minute',
  455. count : 10,
  456. text : '10m'
  457. }, {
  458. type : 'hour',
  459. count : 1,
  460. text : '1h'
  461. }, {
  462. type : 'all',
  463. count : 1,
  464. text : 'All'
  465. }
  466. ],
  467. selected : 3,
  468. inputEnabled : false
  469. },
  470. xAxis: {
  471. type: 'datetime',
  472. ordinal: false,
  473. maxZoom: 10000 // three days
  474. },
  475. yAxis:[
  476. {
  477. min: 0,
  478. title: { text: 'Response Time (ms)' },
  479. opposite: false
  480. }, {
  481. min: 0,
  482. title: {
  483. text: 'Active Users',
  484. style: { color: '#FFA900' }
  485. },
  486. opposite: true
  487. }
  488. ],
  489. plotOptions: {
  490. arearange: { lineWidth: 1 },
  491. series: {
  492. dataGrouping: { enabled: false }
  493. }
  494. },
  495. series: [
  496. {
  497. pointInterval: 1000,
  498. name: 'min',
  499. data: responsetimepercentilesovertimeokPercentiles[0],
  500. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  501. type : 'area',
  502. yAxis: 0,
  503. zIndex: 10
  504. },
  505. {
  506. pointInterval: 1000,
  507. name: '25%',
  508. data: responsetimepercentilesovertimeokPercentiles[1],
  509. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  510. type : 'area',
  511. yAxis: 0,
  512. zIndex: 9
  513. },
  514. {
  515. pointInterval: 1000,
  516. name: '50%',
  517. data: responsetimepercentilesovertimeokPercentiles[2],
  518. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  519. type : 'area',
  520. yAxis: 0,
  521. zIndex: 8
  522. },
  523. {
  524. pointInterval: 1000,
  525. name: '75%',
  526. data: responsetimepercentilesovertimeokPercentiles[3],
  527. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  528. type : 'area',
  529. yAxis: 0,
  530. zIndex: 7
  531. },
  532. {
  533. pointInterval: 1000,
  534. name: '80%',
  535. data: responsetimepercentilesovertimeokPercentiles[4],
  536. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  537. type : 'area',
  538. yAxis: 0,
  539. zIndex: 6
  540. },
  541. {
  542. pointInterval: 1000,
  543. name: '85%',
  544. data: responsetimepercentilesovertimeokPercentiles[5],
  545. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  546. type : 'area',
  547. yAxis: 0,
  548. zIndex: 5
  549. },
  550. {
  551. pointInterval: 1000,
  552. name: '90%',
  553. data: responsetimepercentilesovertimeokPercentiles[6],
  554. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  555. type : 'area',
  556. yAxis: 0,
  557. zIndex: 4
  558. },
  559. {
  560. pointInterval: 1000,
  561. name: '95%',
  562. data: responsetimepercentilesovertimeokPercentiles[7],
  563. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  564. type : 'area',
  565. yAxis: 0,
  566. zIndex: 3
  567. },
  568. {
  569. pointInterval: 1000,
  570. name: '99%',
  571. data: responsetimepercentilesovertimeokPercentiles[8],
  572. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  573. type : 'area',
  574. yAxis: 0,
  575. zIndex: 2
  576. },
  577. {
  578. pointInterval: 1000,
  579. name: 'max',
  580. data: responsetimepercentilesovertimeokPercentiles[9],
  581. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  582. type : 'area',
  583. yAxis: 0,
  584. zIndex: 1
  585. },
  586. allUsersData
  587. ]
  588. });
  589. responsetimepercentilesovertimeokPercentilesChart.setTitle({
  590. text: '<span class="chart_title chart_title_">Response Time Percentiles over Time (OK)</span>',
  591. useHTML: true
  592. });
  593. var requests = unpack([[1744803775,[0,0,0]],[1744803776,[0,0,0]],[1744803777,[12,11,1]],[1744803778,[11,11,0]],[1744803779,[76,75,1]],[1744803780,[16,16,0]],[1744803781,[197,104,93]],[1744803782,[152,78,74]],[1744803783,[45,17,28]],[1744803784,[169,23,146]],[1744803785,[393,51,342]],[1744803786,[115,15,100]],[1744803787,[108,16,92]],[1744803788,[187,23,164]],[1744803789,[258,35,223]],[1744803790,[74,7,67]],[1744803791,[73,21,52]],[1744803792,[69,8,61]],[1744803793,[78,12,66]],[1744803794,[51,7,44]],[1744803795,[28,5,23]],[1744803796,[27,4,23]],[1744803797,[33,5,28]],[1744803798,[16,6,10]],[1744803799,[15,8,7]],[1744803800,[10,4,6]],[1744803801,[21,10,11]],[1744803802,[16,6,10]],[1744803803,[17,9,8]],[1744803804,[21,9,12]],[1744803805,[12,6,6]],[1744803806,[20,17,3]],[1744803807,[30,22,8]],[1744803808,[68,58,10]],[1744803809,[164,123,41]],[1744803810,[118,79,39]],[1744803811,[80,66,14]],[1744803812,[65,54,11]],[1744803813,[57,48,9]],[1744803814,[53,48,5]],[1744803815,[56,41,15]],[1744803816,[58,44,14]],[1744803817,[45,41,4]],[1744803818,[39,28,11]],[1744803819,[36,25,11]],[1744803820,[27,18,9]],[1744803821,[38,30,8]],[1744803822,[23,22,1]],[1744803823,[29,23,6]],[1744803824,[29,18,11]],[1744803825,[25,24,1]],[1744803826,[24,19,5]],[1744803827,[27,23,4]],[1744803828,[19,18,1]],[1744803829,[12,12,0]],[1744803830,[21,20,1]],[1744803831,[16,15,1]],[1744803832,[21,21,0]],[1744803833,[12,11,1]],[1744803834,[15,14,1]],[1744803835,[10,9,1]],[1744803836,[7,7,0]],[1744803837,[7,6,1]],[1744803838,[3,3,0]],[1744803839,[3,3,0]],[1744803840,[0,0,0]],[1744803841,[0,0,0]],[1744803842,[1,1,0]],[1744803843,[0,0,0]],[1744803844,[0,0,0]],[1744803845,[0,0,0]],[1744803846,[0,0,0]],[1744803847,[0,0,0]],[1744803848,[0,0,0]],[1744803849,[0,0,0]],[1744803850,[0,0,0]],[1744803851,[0,0,0]],[1744803852,[0,0,0]],[1744803853,[0,0,0]],[1744803854,[0,0,0]],[1744803855,[0,0,0]],[1744803856,[0,0,0]],[1744803857,[0,0,0]],[1744803858,[0,0,0]],[1744803859,[0,0,0]],[1744803860,[0,0,0]],[1744803861,[0,0,0]],[1744803862,[0,0,0]],[1744803863,[0,0,0]],[1744803864,[0,0,0]],[1744803865,[0,0,0]],[1744803866,[0,0,0]],[1744803867,[0,0,0]],[1744803868,[0,0,0]],[1744803869,[0,0,0]],[1744803870,[0,0,0]],[1744803871,[0,0,0]],[1744803872,[0,0,0]],[1744803873,[0,0,0]],[1744803874,[0,0,0]],[1744803875,[0,0,0]],[1744803876,[0,0,0]],[1744803877,[0,0,0]],[1744803878,[0,0,0]],[1744803879,[0,0,0]],[1744803880,[0,0,0]],[1744803881,[0,0,0]],[1744803882,[0,0,0]],[1744803883,[0,0,0]],[1744803884,[0,0,0]],[1744803885,[0,0,0]],[1744803886,[0,0,0]],[1744803887,[0,0,0]],[1744803888,[0,0,0]],[1744803889,[0,0,0]],[1744803890,[0,0,0]],[1744803891,[0,0,0]],[1744803892,[0,0,0]],[1744803893,[0,0,0]],[1744803894,[0,0,0]],[1744803895,[0,0,0]],[1744803896,[0,0,0]],[1744803897,[0,0,0]]]);
  594. var requestsChart = new Highcharts.StockChart({
  595. chart: {
  596. renderTo: 'requests',
  597. zoomType: 'x',
  598. marginBottom: 60
  599. },
  600. credits: { enabled: false },
  601. legend: {
  602. enabled: true,
  603. floating: true,
  604. y: -65,
  605. borderWidth: 0,
  606. itemStyle: { fontWeight: "normal" },
  607. symbolRadius: 0
  608. },
  609. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  610. navigator: {
  611. maskInside: false
  612. },
  613. rangeSelector: {
  614. buttonSpacing: 0,
  615. buttonTheme: {
  616. fill: '#CFC9C6',
  617. padding: 1,
  618. stroke: '#000000',
  619. 'stroke-width': 0.25,
  620. style: {
  621. color: '#000000',
  622. fontWeight: 'bold',
  623. },
  624. states: {
  625. stroke: '#000000',
  626. 'stroke-width': 0.25,
  627. hover: {
  628. fill: '#92918C',
  629. style: { color: 'black' }
  630. },
  631. select: {
  632. fill: '#FFA900',
  633. style: { color: 'white' }
  634. }
  635. }
  636. },
  637. buttons : [
  638. {
  639. type : 'minute',
  640. count : 1,
  641. text : '1m'
  642. }, {
  643. type : 'minute',
  644. count : 10,
  645. text : '10m'
  646. }, {
  647. type : 'hour',
  648. count : 1,
  649. text : '1h'
  650. }, {
  651. type : 'all',
  652. count : 1,
  653. text : 'All'
  654. }
  655. ],
  656. selected : 3,
  657. inputEnabled : false
  658. },
  659. plotOptions: {
  660. series: {
  661. dataGrouping: { enabled: false }
  662. },
  663. area: {
  664. stacking: 'normal'
  665. }
  666. },
  667. xAxis: {
  668. type: 'datetime',
  669. ordinal: false,
  670. maxZoom: 10000 // three days
  671. },
  672. yAxis:[
  673. {
  674. min: 0,
  675. title: { text: 'Number of requests' },
  676. opposite: false,
  677. reversedStacks: false
  678. }, {
  679. min: 0,
  680. title: {
  681. text: 'Active Users',
  682. style: { color: '#FFA900' }
  683. },
  684. opposite: true
  685. }
  686. ],
  687. series: [
  688. {
  689. color: '#5E7BE2',
  690. name: 'All',
  691. data: requests[0],
  692. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  693. ,type: 'area'},
  694. allUsersData
  695. ]
  696. });
  697. requestsChart.setTitle({
  698. text: '<span class="chart_title">Number of requests per second</span>',
  699. useHTML: true
  700. });
  701. var responses = unpack([[1744803775,[0,0,0]],[1744803776,[0,0,0]],[1744803777,[0,0,0]],[1744803778,[0,0,0]],[1744803779,[1,1,0]],[1744803780,[4,4,0]],[1744803781,[47,47,0]],[1744803782,[42,42,0]],[1744803783,[3,3,0]],[1744803784,[29,29,0]],[1744803785,[66,66,0]],[1744803786,[2,2,0]],[1744803787,[9,9,0]],[1744803788,[22,22,0]],[1744803789,[3,3,0]],[1744803790,[8,8,0]],[1744803791,[2,2,0]],[1744803792,[3,3,0]],[1744803793,[7,7,0]],[1744803794,[3,3,0]],[1744803795,[1,1,0]],[1744803796,[10,10,0]],[1744803797,[1,1,0]],[1744803798,[5,5,0]],[1744803799,[2,2,0]],[1744803800,[2,2,0]],[1744803801,[3,3,0]],[1744803802,[3,3,0]],[1744803803,[6,6,0]],[1744803804,[5,5,0]],[1744803805,[8,8,0]],[1744803806,[9,9,0]],[1744803807,[49,49,0]],[1744803808,[30,30,0]],[1744803809,[34,34,0]],[1744803810,[39,39,0]],[1744803811,[45,45,0]],[1744803812,[45,45,0]],[1744803813,[46,46,0]],[1744803814,[58,58,0]],[1744803815,[42,42,0]],[1744803816,[47,46,1]],[1744803817,[26,25,1]],[1744803818,[39,39,0]],[1744803819,[25,25,0]],[1744803820,[29,28,1]],[1744803821,[20,20,0]],[1744803822,[24,24,0]],[1744803823,[40,40,0]],[1744803824,[23,22,1]],[1744803825,[13,13,0]],[1744803826,[19,19,0]],[1744803827,[17,17,0]],[1744803828,[17,17,0]],[1744803829,[14,13,1]],[1744803830,[9,9,0]],[1744803831,[13,13,0]],[1744803832,[16,16,0]],[1744803833,[16,16,0]],[1744803834,[16,15,1]],[1744803835,[25,25,0]],[1744803836,[13,13,0]],[1744803837,[20,18,2]],[1744803838,[18,18,0]],[1744803839,[10,9,1]],[1744803840,[18,18,0]],[1744803841,[106,13,93]],[1744803842,[87,13,74]],[1744803843,[37,10,27]],[1744803844,[151,9,142]],[1744803845,[345,5,340]],[1744803846,[103,5,98]],[1744803847,[96,6,90]],[1744803848,[170,8,162]],[1744803849,[230,6,224]],[1744803850,[82,15,67]],[1744803851,[58,7,51]],[1744803852,[67,6,61]],[1744803853,[71,5,66]],[1744803854,[55,11,44]],[1744803855,[33,10,23]],[1744803856,[32,9,23]],[1744803857,[38,10,28]],[1744803858,[26,16,10]],[1744803859,[24,17,7]],[1744803860,[24,18,6]],[1744803861,[26,15,11]],[1744803862,[16,6,10]],[1744803863,[21,13,8]],[1744803864,[29,16,13]],[1744803865,[15,9,6]],[1744803866,[15,12,3]],[1744803867,[22,11,11]],[1744803868,[29,19,10]],[1744803869,[58,17,41]],[1744803870,[51,12,39]],[1744803871,[27,13,14]],[1744803872,[14,3,11]],[1744803873,[20,10,10]],[1744803874,[12,7,5]],[1744803875,[18,3,15]],[1744803876,[21,7,14]],[1744803877,[10,6,4]],[1744803878,[13,2,11]],[1744803879,[14,3,11]],[1744803880,[11,3,8]],[1744803881,[12,3,9]],[1744803882,[2,1,1]],[1744803883,[8,2,6]],[1744803884,[12,0,12]],[1744803885,[4,3,1]],[1744803886,[7,2,5]],[1744803887,[5,1,4]],[1744803888,[2,1,1]],[1744803889,[0,0,0]],[1744803890,[2,1,1]],[1744803891,[1,0,1]],[1744803892,[1,1,0]],[1744803893,[1,0,1]],[1744803894,[1,0,1]],[1744803895,[1,0,1]],[1744803896,[0,0,0]],[1744803897,[1,0,1]]]);
  702. var requestsChart = new Highcharts.StockChart({
  703. chart: {
  704. renderTo: 'responses',
  705. zoomType: 'x',
  706. marginBottom: 60
  707. },
  708. credits: { enabled: false },
  709. legend: {
  710. enabled: true,
  711. floating: true,
  712. y: -65,
  713. borderWidth: 0,
  714. itemStyle: { fontWeight: "normal" },
  715. symbolRadius: 0
  716. },
  717. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  718. navigator: {
  719. maskInside: false
  720. },
  721. rangeSelector: {
  722. buttonSpacing: 0,
  723. buttonTheme: {
  724. fill: '#CFC9C6',
  725. padding: 1,
  726. stroke: '#000000',
  727. 'stroke-width': 0.25,
  728. style: {
  729. color: '#000000',
  730. fontWeight: 'bold',
  731. },
  732. states: {
  733. stroke: '#000000',
  734. 'stroke-width': 0.25,
  735. hover: {
  736. fill: '#92918C',
  737. style: { color: 'black' }
  738. },
  739. select: {
  740. fill: '#FFA900',
  741. style: { color: 'white' }
  742. }
  743. }
  744. },
  745. buttons : [
  746. {
  747. type : 'minute',
  748. count : 1,
  749. text : '1m'
  750. }, {
  751. type : 'minute',
  752. count : 10,
  753. text : '10m'
  754. }, {
  755. type : 'hour',
  756. count : 1,
  757. text : '1h'
  758. }, {
  759. type : 'all',
  760. count : 1,
  761. text : 'All'
  762. }
  763. ],
  764. selected : 3,
  765. inputEnabled : false
  766. },
  767. plotOptions: {
  768. series: {
  769. dataGrouping: { enabled: false }
  770. },
  771. area: {
  772. stacking: 'normal'
  773. }
  774. },
  775. xAxis: {
  776. type: 'datetime',
  777. ordinal: false,
  778. maxZoom: 10000 // three days
  779. },
  780. yAxis:[
  781. {
  782. min: 0,
  783. title: { text: 'Number of responses' },
  784. opposite: false,
  785. reversedStacks: false
  786. }, {
  787. min: 0,
  788. title: {
  789. text: 'Active Users',
  790. style: { color: '#FFA900' }
  791. },
  792. opposite: true
  793. }
  794. ],
  795. series: [
  796. {
  797. color: '#5E7BE2',
  798. name: 'All',
  799. data: responses[0],
  800. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  801. },
  802. {
  803. color: '#68b65c',
  804. name: 'OK',
  805. data: responses[1],
  806. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  807. ,type: 'area'},
  808. {
  809. color: '#f15b4f',
  810. name: 'KO',
  811. data: responses[2],
  812. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  813. ,type: 'area'},
  814. allUsersData,
  815. {
  816. type: 'pie',
  817. name: 'Distribution',
  818. data: [
  819. {name: 'OK', y: 1613.0, color: '#68b65c'},{name: 'KO', y: 1945.0, color: '#f15b4f'}
  820. ],
  821. center: [775, -40],
  822. size: 70,
  823. showInLegend: false,
  824. dataLabels: { enabled: false },
  825. dataGrouping: { enabled: false }
  826. }
  827. ]
  828. });
  829. requestsChart.setTitle({
  830. text: '<span class="chart_title">Number of responses per second</span>',
  831. useHTML: true
  832. });
  833. var scatterChart = new Highcharts.Chart({
  834. chart: {
  835. renderTo: 'container_response_time_dispersion',
  836. defaultSeriesType: 'scatter',
  837. zoomType: 'xy',
  838. marginBottom: 90
  839. },
  840. credits: { enabled: false },
  841. xAxis: {
  842. title: {
  843. enabled: true,
  844. text: 'Global number of requests per second',
  845. style: { fontWeight: 'bold' }
  846. },
  847. startOnTick: true,
  848. endOnTick: true,
  849. showLastLabel: true,
  850. min: 0
  851. },
  852. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  853. yAxis: {
  854. min: 0,
  855. title: { text: 'Response Time (ms)' }
  856. },
  857. tooltip: {
  858. formatter: function() {
  859. return ''+ this.y +' ms at ' + this.x + ' allreq/s';
  860. }
  861. },
  862. legend: {
  863. enabled: true,
  864. floating: true,
  865. y: 0,
  866. borderWidth: 0,
  867. itemStyle: { fontWeight: "normal" },
  868. },
  869. plotOptions: {
  870. scatter: {
  871. marker: {
  872. radius: 3,
  873. states: {
  874. hover: {
  875. enabled: true,
  876. lineColor: 'rgb(100,100,100)'
  877. }
  878. }
  879. },
  880. states: {
  881. hover: {
  882. marker: { enabled: false }
  883. }
  884. }
  885. }
  886. },
  887. series: [
  888. {
  889. type: 'scatter',
  890. color: '#68b65c',
  891. name: 'OK',
  892. data: [
  893. [3,6939],[9,30536],[9,6505],[21,49299],[21,32037],[30,58424],[30,57203],[36,58150],[36,56647],[36,42821],[45,50543],[45,34518],[48,46406],[48,55774],[48,59452],[51,54939],[57,47840],[60,53416],[63,57401],[63,55065],[63,56795],[63,40193],[69,54087],[72,59168],[75,46037],[81,52186],[81,54869],[81,44058],[84,47323],[87,53046],[87,59619],[90,52064],[99,58646],[108,58673],[114,59300],[117,51926],[135,57185],[153,59756],[159,54968],[168,55384],[171,52933],[174,57390],[195,48980],[204,58232],[207,51393],[219,57960],[222,34798],[234,59360],[240,57149],[325,55393],[344,52820],[354,56888],[492,58205],[560,57951],[775,54446],[1179,54007],[1472,64072],[2230,3856],[2676,3008],[2792,2975],[2828,56146],[3643,39471],[3744,52220],[3859,4775]
  894. ]},
  895. {
  896. type: 'scatter',
  897. color: '#f15b4f',
  898. name: 'KO',
  899. data: [
  900. [21,60010],[30,60003],[30,60014],[36,60005],[36,60000],[45,60002],[45,60013],[48,60003],[48,60002],[48,60014],[51,60002],[57,60003],[60,60002],[63,60002],[63,60002],[63,60014],[69,60011],[72,60015],[75,60012],[81,60005],[81,60015],[81,60011],[84,60006],[87,60012],[87,60016],[90,60009],[99,60009],[108,60010],[114,60014],[117,60013],[135,60004],[153,60009],[159,60009],[168,60010],[171,60013],[174,60011],[195,60013],[204,60011],[207,60007],[219,60007],[222,60005],[234,60007],[240,60014],[325,60012],[344,60006],[354,60010],[492,60006],[560,60008],[775,60007],[1179,60010],[1472,60011],[2230,60000],[2792,60010],[2828,60008],[3643,60013],[3744,60012]
  901. ]}
  902. ]
  903. });
  904. scatterChart.setTitle({
  905. text: '<span class="chart_title">Response Time against Global Throughput</span>',
  906. useHTML: true
  907. });
  908. });
  909. </script>
  910. </div>
  911. </body>
  912. </html>