refactor: cleanup OCPP utils
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
index 0c7375d9c0ade1d0dcd8b19b856f6f439479af47..9601a90cb70e2ace501599190aba61f1d834c14a 100644 (file)
@@ -1,6 +1,7 @@
-import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js'
-import type { CircularArray } from '../utils/index.js'
+import type { CircularBuffer } from 'mnemonist'
+
 import type { WorkerData } from '../worker/index.js'
+import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js'
 
 export interface TimestampedData {
   timestamp: number
@@ -12,7 +13,7 @@ export type StatisticsData = Partial<{
   responseCount: number
   errorCount: number
   timeMeasurementCount: number
-  measurementTimeSeries: CircularArray<TimestampedData>
+  measurementTimeSeries: CircularBuffer<TimestampedData> | TimestampedData[]
   currentTimeMeasurement: number
   minTimeMeasurement: number
   maxTimeMeasurement: number
@@ -23,17 +24,18 @@ export type StatisticsData = Partial<{
   stdDevTimeMeasurement: number
 }>
 
-export type Statistics = {
+export interface Statistics extends WorkerData {
   id: string
   name: string
   uri: string
   createdAt: Date
   updatedAt?: Date
   statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>
-} & WorkerData
+}
 
-export interface InternalTemplateStatistics {
+export interface TemplateStatistics {
   configured: number
+  provisioned: number
   added: number
   started: number
   indexes: Set<number>