X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fperformance%2FPerformanceStatistics.ts;h=565ef6e7a2e4126a6fcc7e7e8e6c7c6f0f6cef8a;hb=d58b442097da31f8b974d51aef63c64470d9ab48;hp=c25cde0d1816de3a6ef2fb826538cbff4026930a;hpb=d4c3e68a1a6321f2f43ef0521e121e827f3eb29b;p=e-mobility-charging-stations-simulator.git diff --git a/src/performance/PerformanceStatistics.ts b/src/performance/PerformanceStatistics.ts index c25cde0d..565ef6e7 100644 --- a/src/performance/PerformanceStatistics.ts +++ b/src/performance/PerformanceStatistics.ts @@ -4,7 +4,6 @@ import { type PerformanceEntry, PerformanceObserver, performance } from 'node:pe import type { URL } from 'node:url'; import { parentPort } from 'node:worker_threads'; -import { MessageChannelUtils } from '../charging-station'; import { type IncomingRequestCommand, MessageType, @@ -12,7 +11,17 @@ import { type Statistics, type TimeSeries, } from '../types'; -import { CircularArray, Configuration, Constants, Utils, logger } from '../utils'; +import { + CircularArray, + Configuration, + Constants, + Utils, + buildPerformanceStatisticsMessage, + logger, + median, + nthPercentile, + stdDeviation, +} from '../utils'; export class PerformanceStatistics { private static readonly instances: Map = new Map< @@ -72,7 +81,7 @@ export class PerformanceStatistics { this.statistics.statisticsData.has(command) && this.statistics.statisticsData.get(command)?.countRequest ) { - this.statistics.statisticsData.get(command).countRequest++; + ++this.statistics.statisticsData.get(command).countRequest; } else { this.statistics.statisticsData.set(command, { ...this.statistics.statisticsData.get(command), @@ -85,7 +94,7 @@ export class PerformanceStatistics { this.statistics.statisticsData.has(command) && this.statistics.statisticsData.get(command)?.countResponse ) { - this.statistics.statisticsData.get(command).countResponse++; + ++this.statistics.statisticsData.get(command).countResponse; } else { this.statistics.statisticsData.set(command, { ...this.statistics.statisticsData.get(command), @@ -98,7 +107,7 @@ export class PerformanceStatistics { this.statistics.statisticsData.has(command) && this.statistics.statisticsData.get(command)?.countError ) { - this.statistics.statisticsData.get(command).countError++; + ++this.statistics.statisticsData.get(command).countError; } else { this.statistics.statisticsData.set(command, { ...this.statistics.statisticsData.get(command), @@ -225,27 +234,25 @@ export class PerformanceStatistics { timestamp: entry.startTime, value: entry.duration, })); - this.statistics.statisticsData.get(entryName).medTimeMeasurement = Utils.median( + this.statistics.statisticsData.get(entryName).medTimeMeasurement = median( this.extractTimeSeriesValues( this.statistics.statisticsData.get(entryName).timeMeasurementSeries ) ); this.statistics.statisticsData.get(entryName).ninetyFiveThPercentileTimeMeasurement = - Utils.percentile( + nthPercentile( this.extractTimeSeriesValues( this.statistics.statisticsData.get(entryName).timeMeasurementSeries ), 95 ); - this.statistics.statisticsData.get(entryName).stdDevTimeMeasurement = Utils.stdDeviation( + this.statistics.statisticsData.get(entryName).stdDevTimeMeasurement = stdDeviation( this.extractTimeSeriesValues( this.statistics.statisticsData.get(entryName).timeMeasurementSeries ) ); if (Configuration.getPerformanceStorage().enabled) { - parentPort?.postMessage( - MessageChannelUtils.buildPerformanceStatisticsMessage(this.statistics) - ); + parentPort?.postMessage(buildPerformanceStatisticsMessage(this.statistics)); } }