ATG: add support for idTag distribution algorithms
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
index 120f258ef247005fd00129a9762b18471ef8951d..72f96696905165847155a305ddb8b4d5e3f8ab5b 100644 (file)
@@ -1,11 +1,17 @@
-import { CircularArray } from '../utils/CircularArray';
+import type { CircularArray } from '../utils/CircularArray';
+import type { WorkerData } from './Worker';
 
-export interface StatisticsData {
+export type TimeSeries = {
+  timestamp: number;
+  value: number;
+};
+
+export type StatisticsData = {
   countRequest: number;
   countResponse: number;
   countError: number;
   countTimeMeasurement: number;
-  timeMeasurementSeries: CircularArray<number>;
+  timeMeasurementSeries: CircularArray<TimeSeries>;
   currentTimeMeasurement: number;
   minTimeMeasurement: number;
   maxTimeMeasurement: number;
@@ -14,12 +20,13 @@ export interface StatisticsData {
   medTimeMeasurement: number;
   ninetyFiveThPercentileTimeMeasurement: number;
   stdDevTimeMeasurement: number;
-}
+};
 
-export default interface Statistics {
+export type Statistics = WorkerData & {
   id: string;
-  URI: string;
+  name: string;
+  uri: string;
   createdAt: Date;
   updatedAt?: Date;
-  statisticsData: Record<string, StatisticsData>;
-}
+  statisticsData: Map<string, Partial<StatisticsData>>;
+};