refactor: cleanup performance statistics namespace
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
index 37460aee97cb0382cc322a4f8745d77204045d1e..44c941e70bee6e2b7ee828f657c75463a5ffef73 100644 (file)
@@ -1,18 +1,18 @@
-import type { CircularArray } from '../utils/CircularArray';
 import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
-import type { WorkerData } from './Worker';
+import type { CircularArray } from '../utils';
+import type { WorkerData } from '../worker';
 
-export type TimeSeries = {
+export type TimestampedData = {
   timestamp: number;
   value: number;
 };
 
-export type StatisticsData = {
-  countRequest: number;
-  countResponse: number;
-  countError: number;
-  countTimeMeasurement: number;
-  timeMeasurementSeries: CircularArray<TimeSeries>;
+type StatisticsData = Partial<{
+  requestCount: number;
+  responseCount: number;
+  errorCount: number;
+  timeMeasurementCount: number;
+  measurementTimeSeries: CircularArray<TimestampedData>;
   currentTimeMeasurement: number;
   minTimeMeasurement: number;
   maxTimeMeasurement: number;
@@ -21,13 +21,13 @@ export type StatisticsData = {
   medTimeMeasurement: number;
   ninetyFiveThPercentileTimeMeasurement: number;
   stdDevTimeMeasurement: number;
-};
+}>;
 
-export type Statistics = WorkerData & {
+export type Statistics = {
   id: string;
   name: string;
   uri: string;
   createdAt: Date;
   updatedAt?: Date;
-  statisticsData: Map<string, Partial<StatisticsData>>;
-};
+  statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>;
+} & WorkerData;