From 3de82e1c6f0e998d9b06bb04aa5fb2b81441eeb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lud=C4=9Bk=20Nov=C3=BD?= <13610612+ludeknovy@users.noreply.github.com> Date: Tue, 24 Jan 2023 21:13:20 +0100 Subject: [PATCH 1/2] aggregation interval fix --- .../item/shared/item-data-processing.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/server/controllers/item/shared/item-data-processing.ts b/src/server/controllers/item/shared/item-data-processing.ts index f9e7c4a8..aee7ece1 100644 --- a/src/server/controllers/item/shared/item-data-processing.ts +++ b/src/server/controllers/item/shared/item-data-processing.ts @@ -57,6 +57,17 @@ export const itemDataProcessing = async ({ projectName, scenarioName, itemId }) let chartData const extraChartData = [] + const extraIntervalMilliseconds = new Map([ + ["5 seconds", 5000], + ["10 seconds", 10000], + ["30 seconds", 30000], + ["1 minute", 60000], + ["5 minute", 300000], + ["10 minutes", 600000], + ["30 minutes", 1800000], + ["1 hour", 3600000] + ]) + const intervals = [`${defaultInterval} milliseconds`, "5 seconds", "10 seconds", "30 seconds", "1 minute", "5 minute", "10 minutes", "30 minutes", "1 hour"] for (const [index, interval] of Object.entries(intervals)) { @@ -71,6 +82,7 @@ export const itemDataProcessing = async ({ projectName, scenarioName, itemId }) const overviewChart = await db.many(chartOverviewQuery(interval, itemId)) const statusCodeChart = await db.many(chartOverviewStatusCodesQuery(interval, itemId)) if (parseInt(index, 10) === 0) { // default interval + console.log(overviewChart) chartData = prepareChartDataForSaving( { overviewData: overviewChart, @@ -84,7 +96,7 @@ export const itemDataProcessing = async ({ projectName, scenarioName, itemId }) { overviewData: overviewChart, labelData: labelChart, - interval: defaultInterval, + interval: extraIntervalMilliseconds.get(interval), distributedThreads, statusCodeData: statusCodeChart, }) From f3907be9afc77036bc7d8d595a62a66799dda89e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lud=C4=9Bk=20Nov=C3=BD?= <13610612+ludeknovy@users.noreply.github.com> Date: Wed, 25 Jan 2023 18:48:00 +0100 Subject: [PATCH 2/2] extra intervals milliseconds mapping --- .../item/shared/extra-intervals-mapping.ts | 11 +++++++++++ .../controllers/item/shared/item-data-processing.ts | 12 +----------- 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 src/server/controllers/item/shared/extra-intervals-mapping.ts diff --git a/src/server/controllers/item/shared/extra-intervals-mapping.ts b/src/server/controllers/item/shared/extra-intervals-mapping.ts new file mode 100644 index 00000000..c2eaeccf --- /dev/null +++ b/src/server/controllers/item/shared/extra-intervals-mapping.ts @@ -0,0 +1,11 @@ +/* eslint-disable @typescript-eslint/no-magic-numbers */ +export const extraIntervalMilliseconds = new Map([ + ["5 seconds", 5000], + ["10 seconds", 10000], + ["30 seconds", 30000], + ["1 minute", 60000], + ["5 minute", 300000], + ["10 minutes", 600000], + ["30 minutes", 1800000], + ["1 hour", 3600000], +]) diff --git a/src/server/controllers/item/shared/item-data-processing.ts b/src/server/controllers/item/shared/item-data-processing.ts index aee7ece1..75949e0a 100644 --- a/src/server/controllers/item/shared/item-data-processing.ts +++ b/src/server/controllers/item/shared/item-data-processing.ts @@ -16,6 +16,7 @@ import { ReportStatus } from "../../../queries/items.model" import { getScenarioSettings, currentScenarioMetrics } from "../../../queries/scenario" import { sendNotifications } from "../../../utils/notifications/send-notification" import { scenarioThresholdsCalc } from "../utils/scenario-thresholds-calc" +import { extraIntervalMilliseconds } from "./extra-intervals-mapping" export const itemDataProcessing = async ({ projectName, scenarioName, itemId }) => { const MAX_LABEL_CHART_LENGTH = 100000 @@ -57,17 +58,6 @@ export const itemDataProcessing = async ({ projectName, scenarioName, itemId }) let chartData const extraChartData = [] - const extraIntervalMilliseconds = new Map([ - ["5 seconds", 5000], - ["10 seconds", 10000], - ["30 seconds", 30000], - ["1 minute", 60000], - ["5 minute", 300000], - ["10 minutes", 600000], - ["30 minutes", 1800000], - ["1 hour", 3600000] - ]) - const intervals = [`${defaultInterval} milliseconds`, "5 seconds", "10 seconds", "30 seconds", "1 minute", "5 minute", "10 minutes", "30 minutes", "1 hour"] for (const [index, interval] of Object.entries(intervals)) {