build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
1 import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
2 import type { CircularArray } from '../utils';
3 import type { WorkerData } from '../worker';
4
5 export interface TimestampedData {
6 timestamp: number;
7 value: number;
8 }
9
10 export type StatisticsData = Partial<{
11 requestCount: number;
12 responseCount: number;
13 errorCount: number;
14 timeMeasurementCount: number;
15 measurementTimeSeries: CircularArray<TimestampedData>;
16 currentTimeMeasurement: number;
17 minTimeMeasurement: number;
18 maxTimeMeasurement: number;
19 totalTimeMeasurement: number;
20 avgTimeMeasurement: number;
21 medTimeMeasurement: number;
22 ninetyFiveThPercentileTimeMeasurement: number;
23 stdDevTimeMeasurement: number;
24 }>;
25
26 export type Statistics = {
27 id: string;
28 name: string;
29 uri: string;
30 createdAt: Date;
31 updatedAt?: Date;
32 statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>;
33 } & WorkerData;