| 1 | import type { CircularBuffer } from 'mnemonist' |
| 2 | |
| 3 | import type { WorkerData } from '../worker/index.js' |
| 4 | import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js' |
| 5 | |
| 6 | export interface TimestampedData { |
| 7 | timestamp: number |
| 8 | value: number |
| 9 | } |
| 10 | |
| 11 | export type StatisticsData = Partial<{ |
| 12 | requestCount: number |
| 13 | responseCount: number |
| 14 | errorCount: number |
| 15 | timeMeasurementCount: number |
| 16 | measurementTimeSeries: CircularBuffer<TimestampedData> | TimestampedData[] |
| 17 | currentTimeMeasurement: number |
| 18 | minTimeMeasurement: number |
| 19 | maxTimeMeasurement: number |
| 20 | totalTimeMeasurement: number |
| 21 | avgTimeMeasurement: number |
| 22 | medTimeMeasurement: number |
| 23 | ninetyFiveThPercentileTimeMeasurement: number |
| 24 | stdDevTimeMeasurement: number |
| 25 | }> |
| 26 | |
| 27 | export interface Statistics extends WorkerData { |
| 28 | id: string |
| 29 | name: string |
| 30 | uri: string |
| 31 | createdAt: Date |
| 32 | updatedAt?: Date |
| 33 | statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData> |
| 34 | } |
| 35 | |
| 36 | export interface TemplateStatistics { |
| 37 | configured: number |
| 38 | provisioned: number |
| 39 | added: number |
| 40 | started: number |
| 41 | indexes: Set<number> |
| 42 | } |