req_main-88f760be-c--2032902728.html 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975
  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 - main.88f760be.css</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">j.n.SocketException: No buffer space available (maximum connections reached?): connect<span class="value" style="display:none">0</span></td>
  177. <td class="value error-col-2 total ko">2838</td>
  178. <td class="value error-col-3 total ko">73.11%</td>
  179. </tr>
  180. <tr>
  181. <td class="error-col-1 total ko">i.n.c.ConnectTimeoutException: connection timed out after 10000 ms: ecomm.gatling.io/18.164.246.111:443<span class="value" style="display:none">1</span></td>
  182. <td class="value error-col-2 total ko">233</td>
  183. <td class="value error-col-3 total ko">6%</td>
  184. </tr>
  185. <tr>
  186. <td class="error-col-1 total ko">i.n.c.ConnectTimeoutException: connection timed out after 10000 ms: ecomm.gatling.io/18.164.246.108:443<span class="value" style="display:none">2</span></td>
  187. <td class="value error-col-2 total ko">219</td>
  188. <td class="value error-col-3 total ko">5.64%</td>
  189. </tr>
  190. <tr>
  191. <td class="error-col-1 total ko">i.n.c.ConnectTimeoutException: connection timed out after 10000 ms: ecomm.gatling.io/18.164.246.56:443<span class="value" style="display:none">3</span></td>
  192. <td class="value error-col-2 total ko">204</td>
  193. <td class="value error-col-3 total ko">5.26%</td>
  194. </tr>
  195. <tr>
  196. <td class="error-col-1 total ko">i.n.c.ConnectTimeoutException: connection timed out after 10000 ms: ecomm.gatling.io/18.164.246.48:443<span class="value" style="display:none">4</span></td>
  197. <td class="value error-col-2 total ko">196</td>
  198. <td class="value error-col-3 total ko">5.05%</td>
  199. </tr>
  200. <tr>
  201. <td class="error-col-1 total ko">j.n.BindException: Address already in use: getsockopt<span class="value" style="display:none">5</span></td>
  202. <td class="value error-col-2 total ko">130</td>
  203. <td class="value error-col-3 total ko">3.35%</td>
  204. </tr>
  205. <tr>
  206. <td class="error-col-1 total ko">i.n.h.s.SslHandshakeTimeoutException: handshake timed out after 10000ms<span class="value" style="display:none">6</span></td>
  207. <td class="value error-col-2 total ko">34</td>
  208. <td class="value error-col-3 total ko">0.88%</td>
  209. </tr>
  210. <tr>
  211. <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">7</span></td>
  212. <td class="value error-col-2 total ko">8</td>
  213. <td class="value error-col-3 total ko">0.21%</td>
  214. </tr>
  215. <tr>
  216. <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">8</span></td>
  217. <td class="value error-col-2 total ko">8</td>
  218. <td class="value error-col-3 total ko">0.21%</td>
  219. </tr>
  220. <tr>
  221. <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">9</span></td>
  222. <td class="value error-col-2 total ko">8</td>
  223. <td class="value error-col-3 total ko">0.21%</td>
  224. </tr>
  225. <tr>
  226. <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">10</span></td>
  227. <td class="value error-col-2 total ko">4</td>
  228. <td class="value error-col-3 total ko">0.1%</td>
  229. </tr>
  230. </tbody>
  231. </table>
  232. </div>
  233. <div class="schema geant">
  234. <div id="responsetimeDistributionContainer" class="geant"></div>
  235. </div>
  236. <div class="schema geant">
  237. <div id="responsetimepercentilesovertimeokPercentilesContainer" class="geant"></div>
  238. </div>
  239. <div class="schema geant">
  240. <div id="requests" class="geant"></div>
  241. </div>
  242. <div class="schema geant">
  243. <div id="responses" class="geant"></div>
  244. </div>
  245. <div class="schema geant">
  246. <div id="container_response_time_dispersion" class="geant"></div>
  247. </div>
  248. </div>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <script>
  255. var pageStats = stats.contents['req_main-88f760be-c--2032902728'].stats;
  256. $(document).ready(function() {
  257. $('.simulation-tooltip').popover({trigger:'hover', placement:'left'});
  258. setDetailsLinkUrl();
  259. setDetailsMenu();
  260. setActiveMenu();
  261. fillStats(pageStats);
  262. Highcharts.setOptions({
  263. global: { useUTC: false }
  264. });
  265. var rangesChart = new Highcharts.Chart({
  266. chart: {
  267. renderTo: 'ranges',
  268. marginRight: 100
  269. },
  270. credits: { enabled: false },
  271. legend: { enabled: false },
  272. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  273. xAxis: {
  274. categories: [
  275. pageStats.group1.htmlName,
  276. pageStats.group2.htmlName,
  277. pageStats.group3.htmlName,
  278. pageStats.group4.htmlName
  279. ]
  280. },
  281. yAxis: {
  282. title: { text: 'Number of Requests' },
  283. reversedStacks: false
  284. },
  285. tooltip: {
  286. formatter: function() {
  287. var s;
  288. if (this.point.name) { // the pie chart
  289. s = ''+ this.point.name +': '+ this.y +'% requests';
  290. } else {
  291. s = ''+ this.y + ' requests';
  292. }
  293. return s;
  294. }
  295. },
  296. plotOptions: {
  297. series: {
  298. stacking: 'normal',
  299. shadow: true
  300. }
  301. },
  302. series: [
  303. {
  304. type: 'column',
  305. data: [{
  306. color: '#68b65c',
  307. y: pageStats.group1.count
  308. },
  309. {
  310. color: '#FFDD00',
  311. y: pageStats.group2.count
  312. },
  313. {
  314. color: '#FFA900',
  315. y: pageStats.group3.count
  316. },
  317. {
  318. color: '#f15b4f',
  319. y: pageStats.group4.count
  320. }]
  321. },
  322. {
  323. type: 'pie',
  324. name: 'Percentages',
  325. data: [
  326. {
  327. name: pageStats.group1.name,
  328. y: pageStats.group1.percentage,
  329. color: '#68b65c'
  330. },
  331. {
  332. name: pageStats.group2.name,
  333. y: pageStats.group2.percentage,
  334. color: '#FFDD00'
  335. },
  336. {
  337. name: pageStats.group3.name,
  338. y: pageStats.group3.percentage,
  339. color: '#FFA900'
  340. },
  341. {
  342. name: pageStats.group4.name,
  343. y: pageStats.group4.percentage,
  344. color: '#f15b4f'
  345. }
  346. ],
  347. center: [368, 0],
  348. size: 90,
  349. showInLegend: false,
  350. dataLabels: { enabled: false }
  351. }
  352. ]
  353. });
  354. rangesChart.setTitle({
  355. text: '<span class="chart_title">Response Time Ranges</span>',
  356. useHTML: true
  357. });
  358. $('#container_errors').sortable('#container_errors');
  359. var responsetimeDistributionChart = new Highcharts.Chart({
  360. chart: {
  361. renderTo: 'responsetimeDistributionContainer',
  362. type: 'column',
  363. marginBottom: 60
  364. },
  365. credits: { enabled: false },
  366. legend: {
  367. enabled: true,
  368. floating: true,
  369. y: 5,
  370. borderWidth: 0,
  371. itemStyle: { fontWeight: "normal" },
  372. symbolRadius: 0
  373. },
  374. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  375. navigator: {
  376. maskInside: false
  377. },
  378. xAxis: {
  379. categories: ['300', '900', '1500', '2100', '2701', '3301', '3901', '4501', '5101', '5701', '6301', '6902', '7502', '8102', '8702', '9302', '9902', '10502', '11103', '11703', '12303', '12903', '13503', '14103', '14703', '15304', '15904', '16504', '17104', '17704', '18304', '18904', '19505', '20105', '20705', '21305', '21905', '22505', '23105', '23706', '24306', '24906', '25506', '26106', '26706', '27306', '27907', '28507', '29107', '29707', '30307', '30907', '31507', '32107', '32708', '33308', '33908', '34508', '35108', '35708', '36308', '36909', '37509', '38109', '38709', '39309', '39909', '40509', '41110', '41710', '42310', '42910', '43510', '44110', '44710', '45311', '45911', '46511', '47111', '47711', '48311', '48911', '49512', '50112', '50712', '51312', '51912', '52512', '53112', '53713', '54313', '54913', '55513', '56113', '56713', '57313', '57914', '58514', '59114', '59714'],
  380. tickInterval: 20
  381. },
  382. yAxis: {
  383. min: 0,
  384. title: { text: 'Percentage of Requests' },
  385. reversedStacks: false
  386. },
  387. tooltip: {
  388. formatter: function() {
  389. return '<b>'+ this.x +' ms</b><br/>'+
  390. this.series.name +': '+ this.y +' %<br/>'+
  391. 'Total: '+ this.point.stackTotal + ' %';
  392. }
  393. },
  394. plotOptions: {
  395. series: {
  396. groupPadding: 0,
  397. stacking: 'normal',
  398. shadow: true
  399. }
  400. },
  401. series: [
  402. {
  403. type: 'column',
  404. color: '#68b65c',
  405. name: 'OK',
  406. data: [
  407. 0.07,0.28,0.51,0.68,0.63,0.51,0.65,0.78,0.43,0.34,0.24,0.19,0.24,0.4,0.53,0.49,0.28,0.19,0.53,0.53,0.57,0.43,0.43,0.36,0.28,0.47,0.19,0.26,0.21,0.28,0.22,0.43,0.21,0.19,0.34,0.38,0.49,0.59,0.32,0.28,0.43,0.36,0.45,0.34,0.26,0.3,0.42,0.38,0.51,0.36,0.26,0.24,0.36,0.32,0.28,0.19,0.19,0.34,0.34,0.21,0.15,0.11,0.13,0.24,0.22,0.26,0.15,0.15,0.24,0.15,0.15,0.07,0.07,0.07,0.01,0.05,0.07,0.05,0.05,0.05,0.03,0.03,0.03,0.05,0.07,0.01,0.01,0.03,0.05,0.01,0.0,0.03,0.03,0.03,0.09,0.05,0.09,0.03,0.07,0.05
  408. ],
  409. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  410. },
  411. {
  412. type: 'column',
  413. color: '#f15b4f',
  414. name: 'KO',
  415. data: [
  416. 27.93,14.47,7.91,2.12,1.77,0.0,0.11,0.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.66,1.28,1.75,0.22,0.07,0.03,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,4.56,0.49,0.09,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.0,0.15,3.63,0.01,0.09,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.05,0.0,0.03,0.0,0.0,2.71,1.56,0.86,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.53
  417. ],
  418. tooltip: { yDecimals: 0, ySuffix: 'ms' }
  419. }
  420. ]
  421. });
  422. responsetimeDistributionChart.setTitle({
  423. text: '<span class="chart_title">Response Time Distribution</span>',
  424. useHTML: true
  425. });
  426. var responsetimepercentilesovertimeokPercentiles = unpack([[1744367032,null],[1744367033,null],[1744367034,[19173,19173,23453,26423,26423,26423,26423,26423,26423,26423]],[1744367035,[12915,14691,25158,32213,32213,39486,39486,43847,43847,43847]],[1744367036,[22360,24915,31706,33748,33748,33748,37866,37866,37866,37866]],[1744367037,null],[1744367038,null],[1744367039,null],[1744367040,[11554,13103,16731,36735,48394,48394,48394,48394,48394,48394]],[1744367041,[6988,8782,9643,37874,43531,43531,43531,43531,43531,43531]],[1744367042,[8417,9480,9906,12088,12835,12940,15351,25531,25736,25736]],[1744367043,[4860,11073,22961,38980,39311,39906,46487,55159,59641,59641]],[1744367044,[11531,18767,24270,38807,39567,41810,45606,59202,59601,59601]],[1744367045,[8877,16241,30886,35422,37392,38143,38304,41833,46505,46505]],[1744367046,[4301,8707,32942,40406,45984,52698,56959,57849,57849,57849]],[1744367047,[964,9697,28986,32400,40404,40404,47975,56038,56038,56038]],[1744367048,[1018,3584,14842,26701,35265,35664,39736,50171,54993,54993]],[1744367049,[1107,3828,8035,24354,30686,36285,42700,51482,56565,56565]],[1744367050,[1416,4776,13215,23209,34835,36031,38790,53059,58320,58320]],[1744367051,[1254,5609,17711,25310,26701,47666,55501,57623,59225,59225]],[1744367052,[2506,6179,20131,32003,34333,35669,37180,50143,59626,59626]],[1744367053,[1410,6955,14378,24515,27612,29215,30571,32481,56615,56615]],[1744367054,[1554,4812,24876,33929,35954,36289,43869,55526,57223,57223]],[1744367055,[1473,12588,25093,33216,34793,39060,42330,50494,58380,58380]],[1744367056,[2136,23941,29299,39305,40885,42111,43139,51006,57667,57667]],[1744367057,[1274,9723,29225,38581,40393,42154,43733,47214,57859,57859]],[1744367058,[560,10438,23860,34252,38419,39356,40980,41913,45481,45481]],[1744367059,[1970,11573,21274,30360,32959,33881,38145,49625,51000,51000]],[1744367060,[1092,13531,26519,33654,37646,38095,39783,42127,48760,48760]],[1744367061,[2256,11939,15109,22274,27569,40640,41354,59260,59260,59260]],[1744367062,[1407,4394,21589,31558,34264,34933,36130,37285,41153,41153]],[1744367063,[1570,7983,12572,28329,28602,29536,31977,38919,46855,46855]],[1744367064,[3688,13447,20512,30867,31111,32893,34160,41211,41496,41496]],[1744367065,[1239,12613,24082,28919,30697,32042,32876,41185,45867,45867]],[1744367066,[2555,18251,26357,30669,32391,33276,36213,36676,42346,42346]],[1744367067,[584,4251,17341,26688,28015,29296,31220,32044,39615,39615]],[1744367068,[544,11730,23608,28141,28458,29293,30169,30899,41757,41757]],[1744367069,[569,11814,21853,28670,30541,32772,35281,39542,41757,41757]],[1744367070,[997,5538,14837,26224,28912,29131,32892,41194,53109,53109]],[1744367071,[718,6305,11410,17840,21423,21922,25572,29124,39327,39327]],[1744367072,[5461,11217,21000,22526,22526,23716,23716,25852,25852,25852]],[1744367073,[2592,8742,13630,18272,19115,20785,23148,25145,25145,25145]],[1744367074,[1775,4629,12467,18627,20684,25249,27391,29019,31204,31204]],[1744367075,[710,9924,18947,22615,23207,24921,29510,34097,35830,35830]],[1744367076,[1988,3545,11141,13497,17860,17999,18849,24872,30337,30337]],[1744367077,[2799,9452,17275,19843,21556,21556,28175,28175,28175,28175]],[1744367078,[5726,7832,15548,17247,17247,18255,18255,18255,18255,18255]],[1744367079,[5372,5372,16403,18656,18656,18656,18656,18656,18656,18656]],[1744367080,[2956,28657,29602,31045,31045,31045,31045,31045,31045,31045]],[1744367081,[13349,13349,13349,13349,13349,13349,13349,13349,13349,13349]],[1744367082,[5887,5887,5887,5887,5887,5887,5887,5887,5887,5887]],[1744367083,[16320,16320,16320,16320,16320,16320,16320,16320,16320,16320]],[1744367084,null],[1744367085,null],[1744367086,null],[1744367087,null],[1744367088,[8410,8410,13129,13129,13129,13129,13129,13129,13129,13129]],[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]]);
  427. var responsetimepercentilesovertimeokPercentilesChart = new Highcharts.StockChart({
  428. chart: {
  429. renderTo: 'responsetimepercentilesovertimeokPercentilesContainer',
  430. zoomType: 'x',
  431. marginBottom: 60
  432. },
  433. colors: ['#c4fd90', '#7ff77f', '#6ff2ad', '#61ede6', '#58c7e0', '#4ea1d4', '#487ad9', '#3f52cc', '#7335dc', '#c73905', '#FFA900'],
  434. credits: { enabled: false },
  435. legend: {
  436. enabled: true,
  437. floating: true,
  438. y: -65,
  439. borderWidth: 0,
  440. itemStyle: { fontWeight: "normal" },
  441. symbolRadius: 0
  442. },
  443. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  444. navigator: {
  445. maskInside: false,
  446. baseSeries: 9
  447. },
  448. rangeSelector: {
  449. rangeSelector: { align: "left" },
  450. buttonSpacing: 0,
  451. buttonTheme: {
  452. fill: '#CFC9C6',
  453. padding: 1,
  454. stroke: '#000000',
  455. 'stroke-width': 0.25,
  456. style: {
  457. color: '#000000',
  458. fontWeight: 'bold',
  459. },
  460. states: {
  461. stroke: '#92918C',
  462. 'stroke-width': 0.25,
  463. hover: {
  464. fill: '#92918C',
  465. style: { color: 'black' }
  466. },
  467. select: {
  468. fill: '#FFA900',
  469. style: { color: 'white' }
  470. }
  471. }
  472. },
  473. buttons : [
  474. {
  475. type : 'minute',
  476. count : 1,
  477. text : '1m'
  478. }, {
  479. type : 'minute',
  480. count : 10,
  481. text : '10m'
  482. }, {
  483. type : 'hour',
  484. count : 1,
  485. text : '1h'
  486. }, {
  487. type : 'all',
  488. count : 1,
  489. text : 'All'
  490. }
  491. ],
  492. selected : 3,
  493. inputEnabled : false
  494. },
  495. xAxis: {
  496. type: 'datetime',
  497. ordinal: false,
  498. maxZoom: 10000 // three days
  499. },
  500. yAxis:[
  501. {
  502. min: 0,
  503. title: { text: 'Response Time (ms)' },
  504. opposite: false
  505. }, {
  506. min: 0,
  507. title: {
  508. text: 'Active Users',
  509. style: { color: '#FFA900' }
  510. },
  511. opposite: true
  512. }
  513. ],
  514. plotOptions: {
  515. arearange: { lineWidth: 1 },
  516. series: {
  517. dataGrouping: { enabled: false }
  518. }
  519. },
  520. series: [
  521. {
  522. pointInterval: 1000,
  523. name: 'min',
  524. data: responsetimepercentilesovertimeokPercentiles[0],
  525. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  526. type : 'area',
  527. yAxis: 0,
  528. zIndex: 10
  529. },
  530. {
  531. pointInterval: 1000,
  532. name: '25%',
  533. data: responsetimepercentilesovertimeokPercentiles[1],
  534. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  535. type : 'area',
  536. yAxis: 0,
  537. zIndex: 9
  538. },
  539. {
  540. pointInterval: 1000,
  541. name: '50%',
  542. data: responsetimepercentilesovertimeokPercentiles[2],
  543. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  544. type : 'area',
  545. yAxis: 0,
  546. zIndex: 8
  547. },
  548. {
  549. pointInterval: 1000,
  550. name: '75%',
  551. data: responsetimepercentilesovertimeokPercentiles[3],
  552. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  553. type : 'area',
  554. yAxis: 0,
  555. zIndex: 7
  556. },
  557. {
  558. pointInterval: 1000,
  559. name: '80%',
  560. data: responsetimepercentilesovertimeokPercentiles[4],
  561. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  562. type : 'area',
  563. yAxis: 0,
  564. zIndex: 6
  565. },
  566. {
  567. pointInterval: 1000,
  568. name: '85%',
  569. data: responsetimepercentilesovertimeokPercentiles[5],
  570. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  571. type : 'area',
  572. yAxis: 0,
  573. zIndex: 5
  574. },
  575. {
  576. pointInterval: 1000,
  577. name: '90%',
  578. data: responsetimepercentilesovertimeokPercentiles[6],
  579. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  580. type : 'area',
  581. yAxis: 0,
  582. zIndex: 4
  583. },
  584. {
  585. pointInterval: 1000,
  586. name: '95%',
  587. data: responsetimepercentilesovertimeokPercentiles[7],
  588. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  589. type : 'area',
  590. yAxis: 0,
  591. zIndex: 3
  592. },
  593. {
  594. pointInterval: 1000,
  595. name: '99%',
  596. data: responsetimepercentilesovertimeokPercentiles[8],
  597. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  598. type : 'area',
  599. yAxis: 0,
  600. zIndex: 2
  601. },
  602. {
  603. pointInterval: 1000,
  604. name: 'max',
  605. data: responsetimepercentilesovertimeokPercentiles[9],
  606. tooltip: { yDecimals: 0, ySuffix: 'ms' },
  607. type : 'area',
  608. yAxis: 0,
  609. zIndex: 1
  610. },
  611. allUsersData
  612. ]
  613. });
  614. responsetimepercentilesovertimeokPercentilesChart.setTitle({
  615. text: '<span class="chart_title chart_title_">Response Time Percentiles over Time (OK)</span>',
  616. useHTML: true
  617. });
  618. var requests = unpack([[1744367032,[0,0,0]],[1744367033,[0,0,0]],[1744367034,[12,3,9]],[1744367035,[77,12,65]],[1744367036,[112,8,104]],[1744367037,[152,0,152]],[1744367038,[63,0,63]],[1744367039,[96,0,96]],[1744367040,[269,5,264]],[1744367041,[329,5,324]],[1744367042,[1015,34,981]],[1744367043,[910,30,880]],[1744367044,[608,33,575]],[1744367045,[172,23,149]],[1744367046,[27,17,10]],[1744367047,[25,14,11]],[1744367048,[55,43,12]],[1744367049,[92,67,25]],[1744367050,[90,61,29]],[1744367051,[75,51,24]],[1744367052,[40,26,14]],[1744367053,[42,21,21]],[1744367054,[44,35,9]],[1744367055,[53,46,7]],[1744367056,[56,55,1]],[1744367057,[63,61,2]],[1744367058,[82,70,12]],[1744367059,[48,36,12]],[1744367060,[45,40,5]],[1744367061,[23,17,6]],[1744367062,[31,25,6]],[1744367063,[29,28,1]],[1744367064,[32,31,1]],[1744367065,[39,38,1]],[1744367066,[30,30,0]],[1744367067,[61,61,0]],[1744367068,[66,66,0]],[1744367069,[42,41,1]],[1744367070,[35,33,2]],[1744367071,[22,21,1]],[1744367072,[13,12,1]],[1744367073,[18,17,1]],[1744367074,[47,45,2]],[1744367075,[38,37,1]],[1744367076,[22,22,0]],[1744367077,[11,10,1]],[1744367078,[7,6,1]],[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]]]);
  619. var requestsChart = new Highcharts.StockChart({
  620. chart: {
  621. renderTo: 'requests',
  622. zoomType: 'x',
  623. marginBottom: 60
  624. },
  625. credits: { enabled: false },
  626. legend: {
  627. enabled: true,
  628. floating: true,
  629. y: -65,
  630. borderWidth: 0,
  631. itemStyle: { fontWeight: "normal" },
  632. symbolRadius: 0
  633. },
  634. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  635. navigator: {
  636. maskInside: false
  637. },
  638. rangeSelector: {
  639. buttonSpacing: 0,
  640. buttonTheme: {
  641. fill: '#CFC9C6',
  642. padding: 1,
  643. stroke: '#000000',
  644. 'stroke-width': 0.25,
  645. style: {
  646. color: '#000000',
  647. fontWeight: 'bold',
  648. },
  649. states: {
  650. stroke: '#000000',
  651. 'stroke-width': 0.25,
  652. hover: {
  653. fill: '#92918C',
  654. style: { color: 'black' }
  655. },
  656. select: {
  657. fill: '#FFA900',
  658. style: { color: 'white' }
  659. }
  660. }
  661. },
  662. buttons : [
  663. {
  664. type : 'minute',
  665. count : 1,
  666. text : '1m'
  667. }, {
  668. type : 'minute',
  669. count : 10,
  670. text : '10m'
  671. }, {
  672. type : 'hour',
  673. count : 1,
  674. text : '1h'
  675. }, {
  676. type : 'all',
  677. count : 1,
  678. text : 'All'
  679. }
  680. ],
  681. selected : 3,
  682. inputEnabled : false
  683. },
  684. plotOptions: {
  685. series: {
  686. dataGrouping: { enabled: false }
  687. },
  688. area: {
  689. stacking: 'normal'
  690. }
  691. },
  692. xAxis: {
  693. type: 'datetime',
  694. ordinal: false,
  695. maxZoom: 10000 // three days
  696. },
  697. yAxis:[
  698. {
  699. min: 0,
  700. title: { text: 'Number of requests' },
  701. opposite: false,
  702. reversedStacks: false
  703. }, {
  704. min: 0,
  705. title: {
  706. text: 'Active Users',
  707. style: { color: '#FFA900' }
  708. },
  709. opposite: true
  710. }
  711. ],
  712. series: [
  713. {
  714. color: '#5E7BE2',
  715. name: 'All',
  716. data: requests[0],
  717. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  718. ,type: 'area'},
  719. allUsersData
  720. ]
  721. });
  722. requestsChart.setTitle({
  723. text: '<span class="chart_title">Number of requests per second</span>',
  724. useHTML: true
  725. });
  726. var responses = unpack([[1744367032,[0,0,0]],[1744367033,[0,0,0]],[1744367034,[0,0,0]],[1744367035,[0,0,0]],[1744367036,[0,0,0]],[1744367037,[0,0,0]],[1744367038,[0,0,0]],[1744367039,[57,0,57]],[1744367040,[226,0,226]],[1744367041,[375,0,375]],[1744367042,[278,0,278]],[1744367043,[793,0,793]],[1744367044,[1112,0,1112]],[1744367045,[42,0,42]],[1744367046,[0,0,0]],[1744367047,[0,0,0]],[1744367048,[7,7,0]],[1744367049,[3,2,1]],[1744367050,[10,10,0]],[1744367051,[32,19,13]],[1744367052,[50,29,21]],[1744367053,[89,20,69]],[1744367054,[77,30,47]],[1744367055,[36,15,21]],[1744367056,[17,17,0]],[1744367057,[15,15,0]],[1744367058,[21,21,0]],[1744367059,[24,17,7]],[1744367060,[24,19,5]],[1744367061,[29,21,8]],[1744367062,[29,17,12]],[1744367063,[49,26,23]],[1744367064,[87,17,70]],[1744367065,[135,18,117]],[1744367066,[17,16,1]],[1744367067,[22,22,0]],[1744367068,[21,18,3]],[1744367069,[37,27,10]],[1744367070,[26,17,9]],[1744367071,[34,21,13]],[1744367072,[37,30,7]],[1744367073,[55,26,29]],[1744367074,[108,17,91]],[1744367075,[70,23,47]],[1744367076,[126,31,95]],[1744367077,[49,27,22]],[1744367078,[36,31,5]],[1744367079,[36,23,13]],[1744367080,[53,39,14]],[1744367081,[34,30,4]],[1744367082,[25,17,8]],[1744367083,[32,25,7]],[1744367084,[81,33,48]],[1744367085,[90,32,58]],[1744367086,[42,31,11]],[1744367087,[50,41,9]],[1744367088,[35,27,8]],[1744367089,[35,31,4]],[1744367090,[30,25,5]],[1744367091,[31,25,6]],[1744367092,[40,35,5]],[1744367093,[34,30,4]],[1744367094,[28,23,5]],[1744367095,[34,28,6]],[1744367096,[31,28,3]],[1744367097,[32,29,3]],[1744367098,[33,29,4]],[1744367099,[32,30,2]],[1744367100,[15,14,1]],[1744367101,[9,9,0]],[1744367102,[18,14,4]],[1744367103,[17,14,3]],[1744367104,[14,7,7]],[1744367105,[7,7,0]],[1744367106,[4,4,0]],[1744367107,[8,7,1]],[1744367108,[7,7,0]],[1744367109,[8,8,0]],[1744367110,[9,6,3]],[1744367111,[10,7,3]],[1744367112,[3,2,1]],[1744367113,[1,0,1]],[1744367114,[2,2,0]],[1744367115,[1,1,0]],[1744367116,[0,0,0]],[1744367117,[0,0,0]],[1744367118,[0,0,0]],[1744367119,[0,0,0]],[1744367120,[2,1,1]],[1744367121,[0,0,0]],[1744367122,[0,0,0]],[1744367123,[1,1,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,[1,0,1]],[1744367138,[0,0,0]],[1744367139,[0,0,0]],[1744367140,[0,0,0]],[1744367141,[0,0,0]]]);
  727. var requestsChart = new Highcharts.StockChart({
  728. chart: {
  729. renderTo: 'responses',
  730. zoomType: 'x',
  731. marginBottom: 60
  732. },
  733. credits: { enabled: false },
  734. legend: {
  735. enabled: true,
  736. floating: true,
  737. y: -65,
  738. borderWidth: 0,
  739. itemStyle: { fontWeight: "normal" },
  740. symbolRadius: 0
  741. },
  742. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  743. navigator: {
  744. maskInside: false
  745. },
  746. rangeSelector: {
  747. buttonSpacing: 0,
  748. buttonTheme: {
  749. fill: '#CFC9C6',
  750. padding: 1,
  751. stroke: '#000000',
  752. 'stroke-width': 0.25,
  753. style: {
  754. color: '#000000',
  755. fontWeight: 'bold',
  756. },
  757. states: {
  758. stroke: '#000000',
  759. 'stroke-width': 0.25,
  760. hover: {
  761. fill: '#92918C',
  762. style: { color: 'black' }
  763. },
  764. select: {
  765. fill: '#FFA900',
  766. style: { color: 'white' }
  767. }
  768. }
  769. },
  770. buttons : [
  771. {
  772. type : 'minute',
  773. count : 1,
  774. text : '1m'
  775. }, {
  776. type : 'minute',
  777. count : 10,
  778. text : '10m'
  779. }, {
  780. type : 'hour',
  781. count : 1,
  782. text : '1h'
  783. }, {
  784. type : 'all',
  785. count : 1,
  786. text : 'All'
  787. }
  788. ],
  789. selected : 3,
  790. inputEnabled : false
  791. },
  792. plotOptions: {
  793. series: {
  794. dataGrouping: { enabled: false }
  795. },
  796. area: {
  797. stacking: 'normal'
  798. }
  799. },
  800. xAxis: {
  801. type: 'datetime',
  802. ordinal: false,
  803. maxZoom: 10000 // three days
  804. },
  805. yAxis:[
  806. {
  807. min: 0,
  808. title: { text: 'Number of responses' },
  809. opposite: false,
  810. reversedStacks: false
  811. }, {
  812. min: 0,
  813. title: {
  814. text: 'Active Users',
  815. style: { color: '#FFA900' }
  816. },
  817. opposite: true
  818. }
  819. ],
  820. series: [
  821. {
  822. color: '#5E7BE2',
  823. name: 'All',
  824. data: responses[0],
  825. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  826. },
  827. {
  828. color: '#68b65c',
  829. name: 'OK',
  830. data: responses[1],
  831. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  832. ,type: 'area'},
  833. {
  834. color: '#f15b4f',
  835. name: 'KO',
  836. data: responses[2],
  837. tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
  838. ,type: 'area'},
  839. allUsersData,
  840. {
  841. type: 'pie',
  842. name: 'Distribution',
  843. data: [
  844. {name: 'OK', y: 1348.0, color: '#68b65c'},{name: 'KO', y: 3882.0, color: '#f15b4f'}
  845. ],
  846. center: [775, -40],
  847. size: 70,
  848. showInLegend: false,
  849. dataLabels: { enabled: false },
  850. dataGrouping: { enabled: false }
  851. }
  852. ]
  853. });
  854. requestsChart.setTitle({
  855. text: '<span class="chart_title">Number of responses per second</span>',
  856. useHTML: true
  857. });
  858. var scatterChart = new Highcharts.Chart({
  859. chart: {
  860. renderTo: 'container_response_time_dispersion',
  861. defaultSeriesType: 'scatter',
  862. zoomType: 'xy',
  863. marginBottom: 90
  864. },
  865. credits: { enabled: false },
  866. xAxis: {
  867. title: {
  868. enabled: true,
  869. text: 'Global number of requests per second',
  870. style: { fontWeight: 'bold' }
  871. },
  872. startOnTick: true,
  873. endOnTick: true,
  874. showLastLabel: true,
  875. min: 0
  876. },
  877. title: { text: 'A title to let highcharts reserve the place for the title set later' },
  878. yAxis: {
  879. min: 0,
  880. title: { text: 'Response Time (ms)' }
  881. },
  882. tooltip: {
  883. formatter: function() {
  884. return ''+ this.y +' ms at ' + this.x + ' allreq/s';
  885. }
  886. },
  887. legend: {
  888. enabled: true,
  889. floating: true,
  890. y: 0,
  891. borderWidth: 0,
  892. itemStyle: { fontWeight: "normal" },
  893. },
  894. plotOptions: {
  895. scatter: {
  896. marker: {
  897. radius: 3,
  898. states: {
  899. hover: {
  900. enabled: true,
  901. lineColor: 'rgb(100,100,100)'
  902. }
  903. }
  904. },
  905. states: {
  906. hover: {
  907. marker: { enabled: false }
  908. }
  909. }
  910. }
  911. },
  912. series: [
  913. {
  914. type: 'scatter',
  915. color: '#68b65c',
  916. name: 'OK',
  917. data: [
  918. [3,13349],[3,5887],[3,16320],[6,13129],[9,18656],[12,31045],[21,18255],[33,28175],[39,25852],[54,25145],[66,29124],[66,24872],[69,59260],[75,56038],[81,57849],[87,38919],[90,36676],[93,37285],[96,41211],[105,41194],[114,34097],[117,41185],[120,50143],[126,32481],[126,39542],[132,55526],[135,42127],[141,29019],[144,49625],[159,50494],[165,50171],[168,51006],[183,32044],[189,47214],[198,30899],[225,57623],[246,41913],[270,53059],[276,51482],[514,41833],[807,48394],[987,43531],[1826,59202],[2729,55159],[3046,25531],[3872,43847],[5243,26423],[7856,37866]
  919. ]},
  920. {
  921. type: 'scatter',
  922. color: '#f15b4f',
  923. name: 'KO',
  924. data: [
  925. [21,14207],[33,60009],[39,25212],[54,25182],[66,28175],[69,30013],[75,60010],[81,40033],[87,30014],[93,30016],[96,27160],[105,26307],[114,22146],[117,21134],[120,60007],[126,40028],[126,21129],[132,40039],[135,60010],[141,18199],[144,38219],[159,44183],[165,40020],[168,37154],[189,30010],[225,60010],[246,40025],[270,60010],[276,40013],[514,40181],[807,11251],[987,10498],[1535,1862],[1639,2087],[1826,40134],[2729,20810],[2862,2765],[3046,11023],[3872,41202],[5243,41004],[7856,40650]
  926. ]}
  927. ]
  928. });
  929. scatterChart.setTitle({
  930. text: '<span class="chart_title">Response Time against Global Throughput</span>',
  931. useHTML: true
  932. });
  933. });
  934. </script>
  935. </div>
  936. </body>
  937. </html>