summaryrefslogtreecommitdiff
path: root/website/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'website/app.js')
-rw-r--r--website/app.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/website/app.js b/website/app.js
index 23618274b..9f16e8e45 100644
--- a/website/app.js
+++ b/website/app.js
@@ -42,6 +42,10 @@ export function createThroughputColumns(data) {
return createColumns(data, "throughput");
}
+export function createProxyColumns(data) {
+ return createColumns(data, "req_per_sec_proxy");
+}
+
export function createReqPerSecColumns(data) {
return createColumns(data, "req_per_sec");
}
@@ -197,15 +201,41 @@ export function drawCharts(dataUrl) {
return drawChartsFromBenchmarkData(dataUrl);
}
+const proxyFields = [
+ "req_per_sec"
+ //"max_latency"
+];
+function extractProxyFields(data) {
+ for (const row of data) {
+ for (const field of proxyFields) {
+ const d = row[field];
+ if (!d) continue;
+ const name = field + "_proxy";
+ const newField = {};
+ row[name] = newField;
+ for (const k of Object.getOwnPropertyNames(d)) {
+ if (k.includes("_proxy")) {
+ const v = d[k];
+ delete d[k];
+ newField[k] = v;
+ }
+ }
+ }
+ }
+}
/**
* Draws the charts from the benchmark data stored in gh-pages branch.
*/
export async function drawChartsFromBenchmarkData(dataUrl) {
const data = await getJson(dataUrl);
+ // hack to extract proxy fields from req/s fields
+ extractProxyFields(data);
+
const execTimeColumns = createExecTimeColumns(data);
const throughputColumns = createThroughputColumns(data);
const reqPerSecColumns = createReqPerSecColumns(data);
+ const proxyColumns = createProxyColumns(data);
const maxLatencyColumns = createMaxLatencyColumns(data);
const maxMemoryColumns = createMaxMemoryColumns(data);
const binarySizeColumns = createBinarySizeColumns(data);
@@ -235,6 +265,7 @@ export async function drawChartsFromBenchmarkData(dataUrl) {
gen("#exec-time-chart", execTimeColumns, "seconds", logScale);
gen("#throughput-chart", throughputColumns, "seconds", logScale);
gen("#req-per-sec-chart", reqPerSecColumns, "1000 req/sec", formatReqSec);
+ gen("#proxy-req-per-sec-chart", proxyColumns, "req/sec");
gen("#max-latency-chart", maxLatencyColumns, "milliseconds", logScale);
gen("#max-memory-chart", maxMemoryColumns, "megabytes", formatMB);
gen("#binary-size-chart", binarySizeColumns, "megabytes", formatMB);