feat: allow to provision number of stations by template
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
CommitLineData
66a7748d
JB
1import type { CircularArray } from '../utils/index.js'
2import type { WorkerData } from '../worker/index.js'
4c3f6c20 3import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js'
6bf6769e 4
e1d9a0f4 5export interface TimestampedData {
66a7748d
JB
6 timestamp: number
7 value: number
e1d9a0f4 8}
0c142310 9
e1d9a0f4 10export type StatisticsData = Partial<{
66a7748d
JB
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}>
63b48f77 25
f4b3f35d 26export interface Statistics extends WorkerData {
66a7748d
JB
27 id: string
28 name: string
29 uri: string
30 createdAt: Date
31 updatedAt?: Date
32 statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>
f4b3f35d 33}
e8237645 34
276e05ae 35export interface TemplateStatistics {
e8237645 36 configured: number
8f8f87c4 37 provisioned: number
e8237645
JB
38 added: number
39 started: number
40 indexes: Set<number>
41}