1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <link rel="shortcut icon" type="image/x-icon" href="style/favicon.ico"/>
- <link href="style/style.css" rel="stylesheet" type="text/css" />
- <link href="style/bootstrap.min.css" rel="stylesheet" type="text/css" />
- <script src="js/jquery-3.5.1.min.js"></script>
- <script src="js/bootstrap.min.js"></script>
- <script src="js/gatling.js"></script>
- <script src="js/menu.js"></script>
- <script src="js/ellipsis.js"></script>
- <script src="js/all_sessions.js"></script>
- <script src="js/stats.js"></script>
- <script src="js/highstock.js"></script>
- <script src="js/highcharts-more.js"></script>
- <script src="js/theme.js"></script>
- <script src="js/unpack.js"></script>
- <title>Gatling Stats - Global Information</title>
- </head>
- <body>
- <script>
- const storedTheme = localStorage.getItem('theme') || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
- if (storedTheme) document.documentElement.setAttribute('data-theme', storedTheme)
- function toggleTheme() {
- const currentTheme = document.documentElement.getAttribute("data-theme");
- const targetTheme = currentTheme === "light" ? "dark" : "light";
- document.documentElement.setAttribute('data-theme', targetTheme)
- localStorage.setItem('theme', targetTheme);
- };
- </script>
- <div class="app-container">
- <div class="frise"></div>
- <div class="head">
- <div class="gatling-open-source">
- <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>
- <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>
- <a class="gatling-documentation" href="https://gatling.io/docs/" target="_blank">Documentation</a>
- </div>
- <div class="nav spacer"></div>
- <a class="enterprise" href="https://gatling.io/enterprise/next-step/" target="_blank"><strong>Try</strong>
- <img class="logo-enterprise-light" alt="Gatling Enterprise" src="style/logo-enterprise-light.svg"/>
- <img class="logo-enterprise-dark" alt="Gatling Enterprise" src="style/logo-enterprise-dark.svg"/>
- </a>
- <button id="theme-toggle" class="theme-toggle" type="button" onclick="toggleTheme()" aria-label="Toggle user interface mode">
- <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>
- <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>
- </button>
- </div>
- <div class="container details">
- <div class="nav">
- <ul></ul>
- </div>
- <div class="cadre">
- <div class="content">
- <div class="content-header">
- <div class="onglet">
- CartsPageSimulation
- </div>
- <div class="sous-menu" id="sousMenu">
- <div class="sous-menu-spacer">
- <div class="item ouvert"><a href="index.html">Global</a></div>
- <div class="item "><a id="details_link" href="#">Details</a></div>
- </div>
- </div>
- </div>
- <div class="content-in">
- <div class="container-article">
- <div class="article">
-
-
- <div class="schema-container">
- <div id="ranges" class="schema ranges">
- </div>
- <div class="schema polar">
- <div id="container_number_of_requests"></div>
- </div>
- <div class="simulation-card">
- <div class="simulation-version-information">
- <span class="simulation-information-title">Gatling Version</span>
- <span class="simulation-information-item">
- <span class="simulation-information-label">Version: </span>
- <span>3.13.5</span>
- </span>
- <span class="simulation-information-item">
- <span class="simulation-information-label">Released: </span>
- <span>2025-03-11</span>
- </span>
- </div>
- <div id="simulation-information" class="simulation-version-information">
- <span class="simulation-information-title">Run Information</span>
- <div class="simulation-information-container">
- <span class="simulation-information-item">
- <span class="simulation-information-label">Date: </span>
- <span>2025-04-11 10:23:52 GMT</span>
- </span>
- <span class="simulation-information-item">
- <span class="simulation-information-label">Duration: </span>
- <span>1m 49s </span>
- </span>
- <span class="simulation-information-item">
- <span class="simulation-information-label">Description: </span>
- <span>—</span>
- </span>
- </div>
- </div>
- </div>
- </div>
- <div id="statistics_table_container">
- <div id="stats" class="statistics extensible-geant collapsed">
- <div class="title">
- <div id="statistics_title" class="title_base"><span class="title_base_stats">Stats</span><span class="expand-table">Fixed height</span><span id="toggle-stats" class="toggle-table"></span><span class="collapse-table">Full size</span></div>
- <div class="right">
- <button class="statistics-button expand-all-button">Expand all groups</button>
- <button class="statistics-button collapse-all-button">Collapse all groups</button>
- <button id="statistics_full_screen" class="statistics-button" onclick="openStatisticsTableModal()"><img alt="Fullscreen" src="style/fullscreen.svg"></button>
- </div>
- </div>
- <div class="scrollable">
- <table id="container_statistics_head" class="statistics-in extensible-geant">
- <thead>
- <tr>
- <th rowspan="2" id="col-1" class="header sortable sorted-up"><span>Requests</span></th>
- <th colspan="5" class="header"><span class="executions">Executions</span></th>
- <th colspan="8" class="header"><span class="response-time">Response Time (ms)</span></th>
- </tr>
- <tr>
- <th id="col-2" class="header sortable"><span>Total</span></th>
- <th id="col-3" class="header sortable"><span>OK</span></th>
- <th id="col-4" class="header sortable"><span>KO</span></th>
- <th id="col-5" class="header sortable"><span>% KO</span></th>
- <th id="col-6" class="header sortable"><span><abbr title="Count of events per second">Cnt/s</abbr></span></th>
- <th id="col-7" class="header sortable"><span>Min</span></th>
- <th id="col-8" class="header sortable"><span>50th pct</span></th>
- <th id="col-9" class="header sortable"><span>75th pct</span></th>
- <th id="col-10" class="header sortable"><span>95th pct</span></th>
- <th id="col-11" class="header sortable"><span>99th pct</span></th>
- <th id="col-12" class="header sortable"><span>Max</span></th>
- <th id="col-13" class="header sortable"><span>Mean</span></th>
- <th id="col-14" class="header sortable"><span><abbr title="Standard Deviation">Std Dev</abbr></span></th>
- </tr>
- </thead>
- <tbody></tbody>
- </table>
- <table id="container_statistics_body" class="statistics-in extensible-geant">
- <tbody></tbody>
- </table>
- </div>
- </div>
- </div>
- <dialog id="statistics_table_modal" class="statistics-table-modal">
- <div class="statistics-table-modal-header"><button class="button-modal" onclick="closeStatisticsTableModal()"><img alt="Close" src="style/close.svg"></button></div>
- <div class="statistics-table-modal-container">
- <div id="statistics_table_modal_content" class="statistics-table-modal-content"></div>
- </div>
- </dialog>
- <script>
- function openStatisticsTableModal () {
- const statsTable = document.getElementById("stats");
- const statsTableModal = document.getElementById("statistics_table_modal");
- const fullScreenButton = document.getElementById("statistics_full_screen");
- fullScreenButton.disabled = true;
- if (typeof statsTableModal.showModal === "function") {
- const statsTableModalContent = document.getElementById("statistics_table_modal_content");
- statsTableModalContent.innerHTML = "";
- statsTableModalContent.appendChild(statsTable);
- statsTableModal.showModal();
- statsTableModal.addEventListener("close", function () {
- const container = document.getElementById("statistics_table_container");
- container.appendChild(statsTable);
- fullScreenButton.disabled = false;
- });
- } else {
- const incompatibleBrowserVersionMessage = document.createElement("div");
- incompatibleBrowserVersionMessage.innerText = "Sorry, the <dialog> API is not supported by this browser.";
- statsTable.insertBefore(incompatibleBrowserVersionMessage, statsTable.children[0]);
- }
- }
- function closeStatisticsTableModal () {
- const statsTableModal = document.getElementById("statistics_table_modal");
- statsTableModal.close();
- }
- </script>
- <div class="statistics extensible-geant collapsed">
- <div class="title">
- Errors
- </div>
- <table id="container_errors" class="statistics-in extensible-geant">
- <thead>
- <tr>
- <th id="error-col-1" class="header sortable"><span>Error</span></th>
- <th id="error-col-2" class="header sortable"><span>Count</span></th>
- <th id="error-col-3" class="header sortable"><span>Percentage</span></th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
- <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>
- <td class="value error-col-2 total ko">15313</td>
- <td class="value error-col-3 total ko">54.32%</td>
- </tr>
- <tr>
- <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>
- <td class="value error-col-2 total ko">2936</td>
- <td class="value error-col-3 total ko">10.42%</td>
- </tr>
- <tr>
- <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">2</span></td>
- <td class="value error-col-2 total ko">2909</td>
- <td class="value error-col-3 total ko">10.32%</td>
- </tr>
- <tr>
- <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">3</span></td>
- <td class="value error-col-2 total ko">2900</td>
- <td class="value error-col-3 total ko">10.29%</td>
- </tr>
- <tr>
- <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">4</span></td>
- <td class="value error-col-2 total ko">2892</td>
- <td class="value error-col-3 total ko">10.26%</td>
- </tr>
- <tr>
- <td class="error-col-1 total ko">j.n.BindException: Address already in use: getsockopt<span class="value" style="display:none">5</span></td>
- <td class="value error-col-2 total ko">325</td>
- <td class="value error-col-3 total ko">1.15%</td>
- </tr>
- <tr>
- <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">6</span></td>
- <td class="value error-col-2 total ko">205</td>
- <td class="value error-col-3 total ko">0.73%</td>
- </tr>
- <tr>
- <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">7</span></td>
- <td class="value error-col-2 total ko">203</td>
- <td class="value error-col-3 total ko">0.72%</td>
- </tr>
- <tr>
- <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">8</span></td>
- <td class="value error-col-2 total ko">193</td>
- <td class="value error-col-3 total ko">0.68%</td>
- </tr>
- <tr>
- <td class="error-col-1 total ko">i.n.h.s.SslHandshakeTimeoutException: handshake timed out after 10000ms<span class="value" style="display:none">9</span></td>
- <td class="value error-col-2 total ko">163</td>
- <td class="value error-col-3 total ko">0.58%</td>
- </tr>
- <tr>
- <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>
- <td class="value error-col-2 total ko">151</td>
- <td class="value error-col-3 total ko">0.54%</td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="schema geant">
- <div id="active_users" class="geant"></div>
- </div>
- <div class="schema geant">
- <div id="responsetimeDistributionContainer" class="geant"></div>
- </div>
- <div class="schema geant">
- <div id="responsetimepercentilesovertimeokPercentilesContainer" class="geant"></div>
- </div>
- <div class="schema geant">
- <div id="requests" class="geant"></div>
- </div>
- <div class="schema geant">
- <div id="responses" class="geant"></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script>
- var pageStats = stats.stats;
- $(document).ready(function() {
- $('.simulation-tooltip').popover({trigger:'hover', placement:'left'});
- setDetailsLinkUrl();
- setGlobalMenu();
- setActiveMenu();
- fillStats(pageStats);
-
- Highcharts.setOptions({
- global: { useUTC: false }
- });
- var rangesChart = new Highcharts.Chart({
- chart: {
- renderTo: 'ranges',
- marginRight: 100
- },
- credits: { enabled: false },
- legend: { enabled: false },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- xAxis: {
- categories: [
- pageStats.group1.htmlName,
- pageStats.group2.htmlName,
- pageStats.group3.htmlName,
- pageStats.group4.htmlName
- ]
- },
- yAxis: {
- title: { text: 'Number of Requests' },
- reversedStacks: false
- },
- tooltip: {
- formatter: function() {
- var s;
- if (this.point.name) { // the pie chart
- s = ''+ this.point.name +': '+ this.y +'% requests';
- } else {
- s = ''+ this.y + ' requests';
- }
- return s;
- }
- },
- plotOptions: {
- series: {
- stacking: 'normal',
- shadow: true
- }
- },
- series: [
- {
- type: 'column',
- data: [{
- color: '#68b65c',
- y: pageStats.group1.count
- },
- {
- color: '#FFDD00',
- y: pageStats.group2.count
- },
- {
- color: '#FFA900',
- y: pageStats.group3.count
- },
- {
- color: '#f15b4f',
- y: pageStats.group4.count
- }]
- },
- {
- type: 'pie',
- name: 'Percentages',
- data: [
- {
- name: pageStats.group1.name,
- y: pageStats.group1.percentage,
- color: '#68b65c'
- },
- {
- name: pageStats.group2.name,
- y: pageStats.group2.percentage,
- color: '#FFDD00'
- },
- {
- name: pageStats.group3.name,
- y: pageStats.group3.percentage,
- color: '#FFA900'
- },
- {
- name: pageStats.group4.name,
- y: pageStats.group4.percentage,
- color: '#f15b4f'
- }
- ],
- center: [345, 0],
- size: 90,
- showInLegend: false,
- dataLabels: { enabled: false }
- }
- ]
- });
- rangesChart.setTitle({
- text: '<span class="chart_title">Response Time Ranges</span>',
- useHTML: true
- });
- function numberOfRequestsDataForGroup(group) {
- var data = {names: [], oks: [], kos: []};
- $.each(group.contents, function(contentName, content) {
- if (content.type == 'GROUP') {
- var result = numberOfRequestsDataForGroup(content);
- data.names = data.names.concat(result.names);
- data.oks = data.oks.concat(result.oks);
- data.kos = data.kos.concat(result.kos);
- }
- else if (content.type == 'REQUEST') {
- data.names.push(content.path);
- data.oks.push(parseInt(content.stats.numberOfRequests.ok));
- data.kos.push(parseInt(content.stats.numberOfRequests.ko));
- }
- });
- return data;
- }
- var numberOfRequestsData = numberOfRequestsDataForGroup(stats);
- var tickInterval = Math.ceil(numberOfRequestsData.names.length / 1000);
- new Highcharts.Chart({
- chart: {
- renderTo:'container_number_of_requests',
- polar:true,
- type:'column',
- height:330
- },
- credits:{
- enabled:false
- },
- title:{
- text:'<span class="chart_title">Number of requests</span>',
- useHTML: true,
- widthAdjust:-20
- },
- xAxis:{
- tickmarkPlacement:'on',
- tickInterval: tickInterval,
- categories:numberOfRequestsData.names,
- labels:{ enabled:false }
- },
- yAxis:{
- min:0,
- reversedStacks: false
- },
- plotOptions:{
- series:{
- stacking:'normal',
- groupPadding:0,
- pointPlacement:'on',
- shadow: true
- }
- },
- legend: {
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- series:[
- {
- name:'OK',
- data:numberOfRequestsData.oks,
- color:"#68b65c"
- },
- {
- name:'KO',
- data:numberOfRequestsData.kos,
- color:"#f15b4f"
- }
- ]
- });
- $('#container_exceptions').sortable('#container_exceptions');
-
- function generateHtmlRow(request, level, index, parent, group) {
- if (request.name == 'All Requests')
- var url = 'index.html';
- else
- var url = request.pathFormatted + '.html';
- if (group)
- var expandButtonStyle = '';
- else
- var expandButtonStyle = ' hidden';
- if (request.stats.numberOfRequests.total != 0)
- var koPercent = (request.stats.numberOfRequests.ko * 100 / request.stats.numberOfRequests.total).toFixed(2);
- else
- var koPercent = '-'
- return '<tr id="' + request.pathFormatted + '" data-parent=' + parent + '> \
- <td class="total col-1"> \
- <div class="expandable-container"> \
- <span id="' + request.pathFormatted + '" style="margin-left: ' + (level * 10) + 'px;" class="expand-button' + expandButtonStyle + '"> </span> \
- <a href="' + url +'" class="withTooltip">' + ellipsedLabel({ name: request.name, parentClass: "table-cell-tooltip" }) + '</a><span class="value" style="display:none;">' + index + '</span> \
- </div> \
- </td> \
- <td class="value total col-2">' + request.stats.numberOfRequests.total + '</td> \
- <td class="value ok col-3">' + request.stats.numberOfRequests.ok + '</td> \
- <td class="value ko col-4">' + request.stats.numberOfRequests.ko + '</td> \
- <td class="value ko col-5">' + koPercent + '</td> \
- <td class="value total col-6">' + request.stats.meanNumberOfRequestsPerSecond.total + '</td> \
- <td class="value total col-7">' + request.stats.minResponseTime.total + '</td> \
- <td class="value total col-8">' + request.stats.percentiles1.total + '</td> \
- <td class="value total col-9">' + request.stats.percentiles2.total + '</td> \
- <td class="value total col-10">' + request.stats.percentiles3.total + '</td> \
- <td class="value total col-11">' + request.stats.percentiles4.total + '</td> \
- <td class="value total col-12">' + request.stats.maxResponseTime.total + '</td> \
- <td class="value total col-13">' + request.stats.meanResponseTime.total + '</td> \
- <td class="value total col-14">' + request.stats.standardDeviation.total + '</td> \
- </tr>';
- }
- function generateHtmlRowsForGroup(group, level, index, parent) {
- var buffer = '';
- if (!parent)
- parent = 'ROOT';
- else {
- buffer += generateHtmlRow(group, level - 1, index, parent, true);
- index++;
- parent = group.pathFormatted;
- }
- $.each(group.contents, function(contentName, content) {
- if (content.type == 'GROUP') {
- var result = generateHtmlRowsForGroup(content, level + 1, index, parent);
- buffer += result.html;
- index = result.index;
- }
- else if (content.type == 'REQUEST') {
- buffer += generateHtmlRow(content, level, index, parent);
- index++;
- }
- });
- return { html: buffer, index: index };
- }
- $('#container_statistics_head tbody').append(generateHtmlRow(stats, 0, 0));
- var lines = generateHtmlRowsForGroup(stats, 0, 0);
- $('#container_statistics_body tbody').append(lines.html);
- $('#container_statistics_head').sortable('#container_statistics_body');
- $('.statistics').expandable();
- if (lines.index < 30) {
- $('#statistics_title span').attr('style', 'display: none;');
- } else {
- $('#statistics_title').addClass('title_collapsed');
- $('#statistics_title').click(function() {
- $('#toggle-stats').toggleClass("off");
- $(this).toggleClass('title_collapsed').toggleClass('title_expanded');
- $('#container_statistics_body').parent().toggleClass('scrollable').toggleClass('');
- });
- }
- $('.table-cell-tooltip').popover({trigger:'hover'});
- $('#container_errors').sortable('#container_errors');
-
- allUsersData.yAxis = 0;
- var allUsersChart = new Highcharts.StockChart({
- chart: {
- renderTo: 'active_users',
- zoomType: 'x'
- },
- credits: { enabled: false },
- legend: {
- enabled: true,
- floating: true,
- align: 'right',
- verticalAlign: 'top',
- layout: 'vertical',
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- navigator: {
- maskInside: false
- },
- rangeSelector: {
- buttonSpacing: 0,
- buttonTheme: {
- fill: '#CFC9C6',
- padding: 1,
- stroke: '#000000',
- 'stroke-width': 0.25,
- style: {
- color: '#000000',
- fontWeight: 'bold',
- },
- states: {
- stroke: '#000000',
- 'stroke-width': 0.25,
- hover: {
- fill: '#92918C',
- style: { color: 'black' }
- },
- select: {
- fill: '#FFA900',
- style: { color: 'white' }
- }
- }
- },
- buttons : [
- {
- type : 'minute',
- count : 1,
- text : '1m'
- }, {
- type : 'minute',
- count : 10,
- text : '10m'
- }, {
- type : 'hour',
- count : 1,
- text : '1h'
- }, {
- type : 'all',
- count : 1,
- text : 'All'
- }
- ],
- selected : 3,
- inputEnabled : false
- },
- xAxis: {
- type: 'datetime',
- ordinal: false,
- maxZoom: 10000 // three days
- },
- yAxis: {
- title: { text: 'Number of Active Users' },
- opposite: false,
- min: 0
- },
- series: [
- {
- color: '#5E7BE2',
- name: 'Cart Page Load Test',
- data: [
- [1744367032000,3116],[1744367033000,5252],[1744367034000,9861],[1744367035000,15586],[1744367036000,20905],[1744367037000,23030],[1744367038000,24383],[1744367039000,25000],[1744367040000,19446],[1744367041000,17135],[1744367042000,15774],[1744367043000,15464],[1744367044000,15089],[1744367045000,14446],[1744367046000,14360],[1744367047000,14155],[1744367048000,13991],[1744367049000,13850],[1744367050000,13721],[1744367051000,13606],[1744367052000,13515],[1744367053000,13471],[1744367054000,13399],[1744367055000,13228],[1744367056000,13173],[1744367057000,13137],[1744367058000,13107],[1744367059000,13075],[1744367060000,13031],[1744367061000,12987],[1744367062000,12935],[1744367063000,12893],[1744367064000,12783],[1744367065000,12219],[1744367066000,12103],[1744367067000,11980],[1744367068000,11908],[1744367069000,11840],[1744367070000,11787],[1744367071000,11744],[1744367072000,11710],[1744367073000,11686],[1744367074000,11416],[1744367075000,8189],[1744367076000,6346],[1744367077000,2190],[1744367078000,2162],[1744367079000,2136],[1744367080000,2098],[1744367081000,2072],[1744367082000,2039],[1744367083000,2017],[1744367084000,1982],[1744367085000,1868],[1744367086000,1836],[1744367087000,1796],[1744367088000,1759],[1744367089000,1721],[1744367090000,1683],[1744367091000,1645],[1744367092000,1606],[1744367093000,1558],[1744367094000,1523],[1744367095000,1467],[1744367096000,1416],[1744367097000,1356],[1744367098000,1266],[1744367099000,1164],[1744367100000,1084],[1744367101000,1017],[1744367102000,918],[1744367103000,518],[1744367104000,278],[1744367105000,166],[1744367106000,144],[1744367107000,125],[1744367108000,101],[1744367109000,87],[1744367110000,64],[1744367111000,50],[1744367112000,38],[1744367113000,29],[1744367114000,23],[1744367115000,21],[1744367116000,19],[1744367117000,17],[1744367118000,15],[1744367119000,13],[1744367120000,10],[1744367121000,8],[1744367122000,6],[1744367123000,6],[1744367124000,4],[1744367125000,4],[1744367126000,4],[1744367127000,4],[1744367128000,3],[1744367129000,3],[1744367130000,3],[1744367131000,2],[1744367132000,2],[1744367133000,2],[1744367134000,2],[1744367135000,2],[1744367136000,2],[1744367137000,2],[1744367138000,1],[1744367139000,1],[1744367140000,1],[1744367141000,1]
- ],
- tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }},
- allUsersData
- ]
- });
- allUsersChart.setTitle({
- text: '<span class="chart_title">Active Users along the Simulation</span>',
- useHTML: true
- });
- allUsersData.yAxis = 1;
- var responsetimeDistributionChart = new Highcharts.Chart({
- chart: {
- renderTo: 'responsetimeDistributionContainer',
- type: 'column',
- marginBottom: 60
- },
- credits: { enabled: false },
- legend: {
- enabled: true,
- floating: true,
- y: 5,
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- navigator: {
- maskInside: false
- },
- xAxis: {
- categories: ['300', '900', '1501', '2101', '2701', '3301', '3901', '4502', '5102', '5702', '6302', '6902', '7503', '8103', '8703', '9303', '9903', '10504', '11104', '11704', '12304', '12905', '13505', '14105', '14705', '15305', '15906', '16506', '17106', '17706', '18306', '18907', '19507', '20107', '20707', '21307', '21908', '22508', '23108', '23708', '24309', '24909', '25509', '26109', '26709', '27310', '27910', '28510', '29110', '29710', '30311', '30911', '31511', '32111', '32711', '33312', '33912', '34512', '35112', '35712', '36313', '36913', '37513', '38113', '38714', '39314', '39914', '40514', '41114', '41715', '42315', '42915', '43515', '44115', '44716', '45316', '45916', '46516', '47116', '47717', '48317', '48917', '49517', '50118', '50718', '51318', '51918', '52518', '53119', '53719', '54319', '54919', '55519', '56120', '56720', '57320', '57920', '58520', '59121', '59721'],
- tickInterval: 20
- },
- yAxis: {
- min: 0,
- title: { text: 'Percentage of Requests' },
- reversedStacks: false
- },
- tooltip: {
- formatter: function() {
- return '<b>'+ this.x +' ms</b><br/>'+
- this.series.name +': '+ this.y +' %<br/>'+
- 'Total: '+ this.point.stackTotal + ' %';
- }
- },
- plotOptions: {
- series: {
- groupPadding: 0,
- stacking: 'normal',
- shadow: true
- }
- },
- series: [
- {
- type: 'column',
- color: '#68b65c',
- name: 'OK',
- data: [
- 0.95,1.27,0.8,1.48,0.85,0.76,1.43,0.79,0.75,0.55,0.62,0.57,0.33,1.12,0.76,1.7,1.83,1.74,0.92,1.04,0.33,0.26,0.32,0.24,0.31,0.25,0.22,0.17,0.13,0.14,0.22,0.19,0.18,0.12,0.13,0.19,0.26,0.25,0.23,0.26,0.28,0.24,0.25,0.23,0.18,0.14,0.15,0.17,0.19,0.18,0.12,0.12,0.19,0.2,0.22,0.14,0.14,0.14,0.13,0.1,0.08,0.07,0.09,0.1,0.14,0.15,0.13,0.09,0.1,0.07,0.05,0.03,0.05,0.04,0.01,0.04,0.04,0.01,0.03,0.05,0.02,0.02,0.03,0.03,0.02,0.01,0.05,0.04,0.03,0.02,0.04,0.04,0.03,0.04,0.05,0.04,0.02,0.03,0.07,0.03
- ],
- tooltip: { yDecimals: 0, ySuffix: 'ms' }
- },
- {
- type: 'column',
- color: '#f15b4f',
- name: 'KO',
- data: [
- 7.23,7.09,3.18,0.57,2.22,9.09,4.07,0.49,2.17,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32,1.98,0.44,0.05,0.05,0.09,0.05,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.25,0.43,0.02,0.0,0.0,0.0,0.02,0.0,0.02,0.0,0.0,0.0,0.0,0.02,0.01,0.0,0.1,2.13,0.21,0.04,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.72,21.36,1.51,0.14,0.0,0.0,0.0,0.0,0.0,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,1.84
- ],
- tooltip: { yDecimals: 0, ySuffix: 'ms' }
- }
- ]
- });
- responsetimeDistributionChart.setTitle({
- text: '<span class="chart_title">Response Time Distribution</span>',
- useHTML: true
- });
- var responsetimepercentilesovertimeokPercentiles = unpack([[1744367032,[1463,5665,8137,9764,9836,10123,10513,11528,11569,21671]],[1744367033,[8347,9341,10115,10494,10572,10811,11522,11551,18113,54992]],[1744367034,[4383,10883,12112,24262,26161,30510,33091,38367,41754,50882]],[1744367035,[2482,14642,20063,31537,32419,33635,38497,39728,42783,53493]],[1744367036,[3104,12518,19301,31414,32432,33831,35424,39272,42477,45928]],[1744367037,[3027,3801,4533,5007,5065,5093,5104,5266,5274,5275]],[1744367038,[2576,2584,2712,2882,2884,4103,4128,11142,12153,12153]],[1744367039,[3572,3687,3966,4090,4091,4093,4094,4098,4100,4100]],[1744367040,[538,2354,3259,3727,3775,3792,3811,12747,40392,58493]],[1744367041,[357,1279,1930,2040,2056,3921,6988,23653,37874,52491]],[1744367042,[729,5687,8178,21181,24451,25720,28524,47145,58876,59624]],[1744367043,[339,4363,7255,24003,26500,34351,49177,56421,59279,59742]],[1744367044,[355,2707,5936,23446,25132,32331,43330,53284,59202,59785]],[1744367045,[277,1461,3712,19430,25564,32247,38143,46097,54990,56419]],[1744367046,[286,1374,6187,36332,40646,46261,52698,57219,58321,58321]],[1744367047,[177,962,9697,28986,32400,40404,51854,55539,59547,59547]],[1744367048,[180,1021,6142,22386,26209,31003,38163,52026,59767,59951]],[1744367049,[171,1076,4405,16306,22318,29401,36579,49280,54171,59625]],[1744367050,[287,1995,8088,21903,26508,35362,47031,52767,58167,58914]],[1744367051,[313,2802,9184,22781,26999,36796,46627,55945,59008,59225]],[1744367052,[445,2819,12829,28831,32697,35607,40457,47533,59626,59626]],[1744367053,[300,1889,7868,19406,22412,27612,36603,44026,56615,56615]],[1744367054,[449,2159,13614,32396,34026,38731,43869,50129,55526,57223]],[1744367055,[305,2245,16222,36860,39378,42393,45192,53212,57558,58380]],[1744367056,[446,3639,24400,37500,39770,41332,44295,51006,58428,59643]],[1744367057,[450,2130,13893,35058,38067,40013,42154,47214,55300,57859]],[1744367058,[302,1765,9276,31850,35604,38419,40752,42543,49999,54358]],[1744367059,[307,1417,8780,27947,30360,33881,38207,41227,51000,55297]],[1744367060,[302,1883,8736,31281,34980,38095,39783,42127,50186,53180]],[1744367061,[407,2056,6755,22274,26119,27569,37169,40640,59260,59260]],[1744367062,[429,1572,5962,24176,31805,35089,36130,37945,44024,44024]],[1744367063,[422,1570,7983,28277,29577,31977,37029,42616,56752,56752]],[1744367064,[304,2179,15235,30867,32705,33353,34160,38998,53110,53110]],[1744367065,[283,1839,19299,31519,32114,32814,34159,38153,53385,54961]],[1744367066,[184,1206,20692,29488,31451,33256,34969,37079,42346,42346]],[1744367067,[228,1014,8293,27842,29296,30368,31791,33864,43771,56848]],[1744367068,[181,954,12535,27081,28910,29716,30338,34090,38899,41757]],[1744367069,[292,996,12185,26367,28797,30541,33416,37915,43414,59138]],[1744367070,[288,828,5598,25224,27149,28959,29924,34614,41194,53109]],[1744367071,[315,1569,7067,21922,24238,25916,28242,31078,39327,39327]],[1744367072,[453,3831,17599,23716,25852,26196,26686,29909,33852,33852]],[1744367073,[473,1890,11147,21904,24736,26397,26610,28071,35629,35629]],[1744367074,[303,2198,10362,21229,24100,25975,27963,30388,35011,36477]],[1744367075,[175,3923,15521,23047,23768,26203,29363,30398,34097,35830]],[1744367076,[413,1838,5803,18330,18849,23370,24872,29945,40085,40085]],[1744367077,[563,2295,12000,19843,21556,22526,22869,28175,32670,32670]],[1744367078,[1112,5726,17661,21589,27868,30883,34730,43733,43733,43733]],[1744367079,[1534,3770,9258,18656,19395,19395,19849,19849,19849,19849]],[1744367080,[1383,10240,19684,29602,29602,29722,29722,31045,31045,31045]],[1744367081,[8406,8406,13349,13349,13349,13349,13349,13349,13349,13349]],[1744367082,[5887,5887,14656,14656,14656,14656,14656,14656,14656,14656]],[1744367083,[8720,8720,11883,16320,16320,16320,16320,16320,16320,16320]],[1744367084,null],[1744367085,null],[1744367086,null],[1744367087,null],[1744367088,[5185,6974,10684,13129,13129,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]]);
- var responsetimepercentilesovertimeokPercentilesChart = new Highcharts.StockChart({
- chart: {
- renderTo: 'responsetimepercentilesovertimeokPercentilesContainer',
- zoomType: 'x',
- marginBottom: 60
- },
- colors: ['#c4fd90', '#7ff77f', '#6ff2ad', '#61ede6', '#58c7e0', '#4ea1d4', '#487ad9', '#3f52cc', '#7335dc', '#c73905', '#FFA900'],
- credits: { enabled: false },
- legend: {
- enabled: true,
- floating: true,
- y: -65,
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- navigator: {
- maskInside: false,
- baseSeries: 9
- },
- rangeSelector: {
- rangeSelector: { align: "left" },
- buttonSpacing: 0,
- buttonTheme: {
- fill: '#CFC9C6',
- padding: 1,
- stroke: '#000000',
- 'stroke-width': 0.25,
- style: {
- color: '#000000',
- fontWeight: 'bold',
- },
- states: {
- stroke: '#92918C',
- 'stroke-width': 0.25,
- hover: {
- fill: '#92918C',
- style: { color: 'black' }
- },
- select: {
- fill: '#FFA900',
- style: { color: 'white' }
- }
- }
- },
- buttons : [
- {
- type : 'minute',
- count : 1,
- text : '1m'
- }, {
- type : 'minute',
- count : 10,
- text : '10m'
- }, {
- type : 'hour',
- count : 1,
- text : '1h'
- }, {
- type : 'all',
- count : 1,
- text : 'All'
- }
- ],
- selected : 3,
- inputEnabled : false
- },
- xAxis: {
- type: 'datetime',
- ordinal: false,
- maxZoom: 10000 // three days
- },
- yAxis:[
- {
- min: 0,
- title: { text: 'Response Time (ms)' },
- opposite: false
- }, {
- min: 0,
- title: {
- text: 'Active Users',
- style: { color: '#FFA900' }
- },
- opposite: true
- }
- ],
- plotOptions: {
- arearange: { lineWidth: 1 },
- series: {
- dataGrouping: { enabled: false }
- }
- },
- series: [
-
-
- {
- pointInterval: 1000,
- name: 'min',
- data: responsetimepercentilesovertimeokPercentiles[0],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 10
- },
- {
- pointInterval: 1000,
- name: '25%',
- data: responsetimepercentilesovertimeokPercentiles[1],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 9
- },
- {
- pointInterval: 1000,
- name: '50%',
- data: responsetimepercentilesovertimeokPercentiles[2],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 8
- },
- {
- pointInterval: 1000,
- name: '75%',
- data: responsetimepercentilesovertimeokPercentiles[3],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 7
- },
- {
- pointInterval: 1000,
- name: '80%',
- data: responsetimepercentilesovertimeokPercentiles[4],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 6
- },
- {
- pointInterval: 1000,
- name: '85%',
- data: responsetimepercentilesovertimeokPercentiles[5],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 5
- },
- {
- pointInterval: 1000,
- name: '90%',
- data: responsetimepercentilesovertimeokPercentiles[6],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 4
- },
- {
- pointInterval: 1000,
- name: '95%',
- data: responsetimepercentilesovertimeokPercentiles[7],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 3
- },
- {
- pointInterval: 1000,
- name: '99%',
- data: responsetimepercentilesovertimeokPercentiles[8],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 2
- },
- {
- pointInterval: 1000,
- name: 'max',
- data: responsetimepercentilesovertimeokPercentiles[9],
- tooltip: { yDecimals: 0, ySuffix: 'ms' },
- type : 'area',
- yAxis: 0,
- zIndex: 1
- },
- allUsersData
- ]
- });
- responsetimepercentilesovertimeokPercentilesChart.setTitle({
- text: '<span class="chart_title chart_title_">Response Time Percentiles over Time (OK)</span>',
- useHTML: true
- });
- var requests = unpack([[1744367032,[1547,1547,0]],[1744367033,[1982,1898,84]],[1744367034,[5243,837,4406]],[1744367035,[3872,511,3361]],[1744367036,[7856,680,7176]],[1744367037,[2862,152,2710]],[1744367038,[1639,68,1571]],[1744367039,[1535,96,1439]],[1744367040,[807,282,525]],[1744367041,[987,313,674]],[1744367042,[3046,727,2319]],[1744367043,[2729,789,1940]],[1744367044,[1826,586,1240]],[1744367045,[514,205,309]],[1744367046,[81,59,22]],[1744367047,[75,58,17]],[1744367048,[165,139,26]],[1744367049,[276,225,51]],[1744367050,[270,212,58]],[1744367051,[225,185,40]],[1744367052,[120,94,26]],[1744367053,[126,91,35]],[1744367054,[132,113,19]],[1744367055,[159,149,10]],[1744367056,[168,163,5]],[1744367057,[189,180,9]],[1744367058,[246,223,23]],[1744367059,[144,121,23]],[1744367060,[135,118,17]],[1744367061,[69,60,9]],[1744367062,[93,82,11]],[1744367063,[87,80,7]],[1744367064,[96,93,3]],[1744367065,[117,116,1]],[1744367066,[90,90,0]],[1744367067,[183,183,0]],[1744367068,[198,197,1]],[1744367069,[126,125,1]],[1744367070,[105,103,2]],[1744367071,[66,61,5]],[1744367072,[39,37,2]],[1744367073,[54,51,3]],[1744367074,[141,137,4]],[1744367075,[114,112,2]],[1744367076,[66,66,0]],[1744367077,[33,32,1]],[1744367078,[21,20,1]],[1744367079,[9,9,0]],[1744367080,[12,12,0]],[1744367081,[3,2,1]],[1744367082,[3,2,1]],[1744367083,[3,3,0]],[1744367084,[0,0,0]],[1744367085,[0,0,0]],[1744367086,[0,0,0]],[1744367087,[0,0,0]],[1744367088,[6,6,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]]]);
- var requestsChart = new Highcharts.StockChart({
- chart: {
- renderTo: 'requests',
- zoomType: 'x',
- marginBottom: 60
- },
- credits: { enabled: false },
- legend: {
- enabled: true,
- floating: true,
- y: -65,
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- navigator: {
- maskInside: false
- },
- rangeSelector: {
- buttonSpacing: 0,
- buttonTheme: {
- fill: '#CFC9C6',
- padding: 1,
- stroke: '#000000',
- 'stroke-width': 0.25,
- style: {
- color: '#000000',
- fontWeight: 'bold',
- },
- states: {
- stroke: '#000000',
- 'stroke-width': 0.25,
- hover: {
- fill: '#92918C',
- style: { color: 'black' }
- },
- select: {
- fill: '#FFA900',
- style: { color: 'white' }
- }
- }
- },
- buttons : [
- {
- type : 'minute',
- count : 1,
- text : '1m'
- }, {
- type : 'minute',
- count : 10,
- text : '10m'
- }, {
- type : 'hour',
- count : 1,
- text : '1h'
- }, {
- type : 'all',
- count : 1,
- text : 'All'
- }
- ],
- selected : 3,
- inputEnabled : false
- },
- plotOptions: {
- series: {
- dataGrouping: { enabled: false }
- },
- area: {
- stacking: 'normal'
- }
- },
- xAxis: {
- type: 'datetime',
- ordinal: false,
- maxZoom: 10000 // three days
- },
- yAxis:[
- {
- min: 0,
- title: { text: 'Number of requests' },
- opposite: false,
- reversedStacks: false
- }, {
- min: 0,
- title: {
- text: 'Active Users',
- style: { color: '#FFA900' }
- },
- opposite: true
- }
- ],
- series: [
- {
- color: '#5E7BE2',
- name: 'All',
- data: requests[0],
- tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
- ,type: 'area'},
- allUsersData
- ]
- });
- requestsChart.setTitle({
- text: '<span class="chart_title">Number of requests per second</span>',
- useHTML: true
- });
- var responses = unpack([[1744367032,[0,0,0]],[1744367033,[0,0,0]],[1744367034,[12,12,0]],[1744367035,[78,78,0]],[1744367036,[111,111,0]],[1744367037,[153,153,0]],[1744367038,[115,115,0]],[1744367039,[1988,151,1837]],[1744367040,[5872,358,5514]],[1744367041,[3207,404,2803]],[1744367042,[1894,1256,638]],[1744367043,[2971,1357,1614]],[1744367044,[3246,737,2509]],[1744367045,[778,242,536]],[1744367046,[280,278,2]],[1744367047,[312,312,0]],[1744367048,[307,307,0]],[1744367049,[391,389,2]],[1744367050,[283,282,1]],[1744367051,[309,219,90]],[1744367052,[220,163,57]],[1744367053,[276,129,147]],[1744367054,[293,154,139]],[1744367055,[275,150,125]],[1744367056,[183,169,14]],[1744367057,[174,171,3]],[1744367058,[206,202,4]],[1744367059,[193,172,21]],[1744367060,[173,152,21]],[1744367061,[152,138,14]],[1744367062,[161,128,33]],[1744367063,[198,136,62]],[1744367064,[427,134,293]],[1744367065,[705,135,570]],[1744367066,[238,135,103]],[1744367067,[242,209,33]],[1744367068,[276,269,7]],[1744367069,[215,188,27]],[1744367070,[169,147,22]],[1744367071,[143,116,27]],[1744367072,[101,89,12]],[1744367073,[137,81,56]],[1744367074,[1075,129,946]],[1744367075,[3391,113,3278]],[1744367076,[3633,102,3531]],[1744367077,[1975,90,1885]],[1744367078,[92,77,15]],[1744367079,[78,57,21]],[1744367080,[107,73,34]],[1744367081,[64,54,10]],[1744367082,[67,54,13]],[1744367083,[63,48,15]],[1744367084,[160,61,99]],[1744367085,[172,54,118]],[1744367086,[74,54,20]],[1744367087,[89,73,16]],[1744367088,[66,50,16]],[1744367089,[70,59,11]],[1744367090,[68,56,12]],[1744367091,[65,58,7]],[1744367092,[86,76,10]],[1744367093,[77,66,11]],[1744367094,[74,56,18]],[1744367095,[101,92,9]],[1744367096,[74,67,7]],[1744367097,[115,112,3]],[1744367098,[120,115,5]],[1744367099,[112,108,4]],[1744367100,[82,79,3]],[1744367101,[71,47,24]],[1744367102,[413,63,350]],[1744367103,[246,43,203]],[1744367104,[140,30,110]],[1744367105,[46,29,17]],[1744367106,[17,15,2]],[1744367107,[25,24,1]],[1744367108,[19,19,0]],[1744367109,[23,22,1]],[1744367110,[19,14,5]],[1744367111,[14,8,6]],[1744367112,[10,6,4]],[1744367113,[7,3,4]],[1744367114,[5,4,1]],[1744367115,[2,2,0]],[1744367116,[2,1,1]],[1744367117,[1,1,0]],[1744367118,[3,1,2]],[1744367119,[0,0,0]],[1744367120,[5,3,2]],[1744367121,[2,1,1]],[1744367122,[0,0,0]],[1744367123,[1,1,0]],[1744367124,[1,1,0]],[1744367125,[0,0,0]],[1744367126,[0,0,0]],[1744367127,[0,0,0]],[1744367128,[1,1,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,[1,0,1]],[1744367138,[0,0,0]],[1744367139,[0,0,0]],[1744367140,[0,0,0]],[1744367141,[1,0,1]]]);
- var requestsChart = new Highcharts.StockChart({
- chart: {
- renderTo: 'responses',
- zoomType: 'x',
- marginBottom: 60
- },
- credits: { enabled: false },
- legend: {
- enabled: true,
- floating: true,
- y: -65,
- borderWidth: 0,
- itemStyle: { fontWeight: "normal" },
- symbolRadius: 0
- },
- title: { text: 'A title to let highcharts reserve the place for the title set later' },
- navigator: {
- maskInside: false
- },
- rangeSelector: {
- buttonSpacing: 0,
- buttonTheme: {
- fill: '#CFC9C6',
- padding: 1,
- stroke: '#000000',
- 'stroke-width': 0.25,
- style: {
- color: '#000000',
- fontWeight: 'bold',
- },
- states: {
- stroke: '#000000',
- 'stroke-width': 0.25,
- hover: {
- fill: '#92918C',
- style: { color: 'black' }
- },
- select: {
- fill: '#FFA900',
- style: { color: 'white' }
- }
- }
- },
- buttons : [
- {
- type : 'minute',
- count : 1,
- text : '1m'
- }, {
- type : 'minute',
- count : 10,
- text : '10m'
- }, {
- type : 'hour',
- count : 1,
- text : '1h'
- }, {
- type : 'all',
- count : 1,
- text : 'All'
- }
- ],
- selected : 3,
- inputEnabled : false
- },
- plotOptions: {
- series: {
- dataGrouping: { enabled: false }
- },
- area: {
- stacking: 'normal'
- }
- },
- xAxis: {
- type: 'datetime',
- ordinal: false,
- maxZoom: 10000 // three days
- },
- yAxis:[
- {
- min: 0,
- title: { text: 'Number of responses' },
- opposite: false,
- reversedStacks: false
- }, {
- min: 0,
- title: {
- text: 'Active Users',
- style: { color: '#FFA900' }
- },
- opposite: true
- }
- ],
- series: [
- {
- color: '#5E7BE2',
- name: 'All',
- data: responses[0],
- tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
- },
- {
- color: '#68b65c',
- name: 'OK',
- data: responses[1],
- tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
- ,type: 'area'},
- {
- color: '#f15b4f',
- name: 'KO',
- data: responses[2],
- tooltip: { yDecimals: 0, ySuffix: '', valueDecimals: 0 }
- ,type: 'area'},
- allUsersData,
- {
-
- type: 'pie',
- name: 'Distribution',
- data: [
- {name: 'OK', y: 12500.0, color: '#68b65c'},{name: 'KO', y: 28190.0, color: '#f15b4f'}
- ],
- center: [775, -40],
- size: 70,
- showInLegend: false,
- dataLabels: { enabled: false },
- dataGrouping: { enabled: false }
- }
- ]
- });
- requestsChart.setTitle({
- text: '<span class="chart_title">Number of responses per second</span>',
- useHTML: true
- });
- });
- </script>
- </div>
- </body>
- </html>
|