Refine TS and linter configuration
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
1 import type { CircularArray } from '../utils/CircularArray';
2 import type { WorkerData } from './Worker';
3
4 export interface TimeSeries {
5 timestamp: number;
6 value: number;
7 }
8
9 export interface StatisticsData {
10 countRequest: number;
11 countResponse: number;
12 countError: number;
13 countTimeMeasurement: number;
14 timeMeasurementSeries: CircularArray<TimeSeries>;
15 currentTimeMeasurement: number;
16 minTimeMeasurement: number;
17 maxTimeMeasurement: number;
18 totalTimeMeasurement: number;
19 avgTimeMeasurement: number;
20 medTimeMeasurement: number;
21 ninetyFiveThPercentileTimeMeasurement: number;
22 stdDevTimeMeasurement: number;
23 }
24
25 export default interface Statistics extends WorkerData {
26 id: string;
27 name: string;
28 uri: string;
29 createdAt: Date;
30 updatedAt?: Date;
31 statisticsData: Map<string, Partial<StatisticsData>>;
32 }