-import type { CircularArray } from '../utils/CircularArray';
-import type { WorkerData } from './Worker';
+import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
+import type { CircularArray } from '../utils';
+import type { WorkerData } from '../worker';
-export interface TimeSeries {
+export interface TimestampedData {
timestamp: number;
value: number;
}
-export interface StatisticsData {
- countRequest: number;
- countResponse: number;
- countError: number;
- countTimeMeasurement: number;
- timeMeasurementSeries: CircularArray<TimeSeries>;
+export type StatisticsData = Partial<{
+ requestCount: number;
+ responseCount: number;
+ errorCount: number;
+ timeMeasurementCount: number;
+ measurementTimeSeries: CircularArray<TimestampedData>;
currentTimeMeasurement: number;
minTimeMeasurement: number;
maxTimeMeasurement: number;
medTimeMeasurement: number;
ninetyFiveThPercentileTimeMeasurement: number;
stdDevTimeMeasurement: number;
-}
+}>;
-export default interface Statistics extends WorkerData {
+export type Statistics = {
id: string;
name: string;
uri: string;
createdAt: Date;
updatedAt?: Date;
- statisticsData: Map<string, Partial<StatisticsData>>;
-}
+ statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>;
+} & WorkerData;