81ba1d564e11c5018caabda84e16284968b51f12
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
1 import type { CircularArray } from '../utils/index.js'
2 import type { WorkerData } from '../worker/index.js'
3 import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js'
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 interface Statistics extends WorkerData {
27 id: string
28 name: string
29 uri: string
30 createdAt: Date
31 updatedAt?: Date
32 statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>
33 }
34
35 export interface TemplateStatistics {
36 configured: number
37 added: number
38 started: number
39 indexes: Set<number>
40 }