-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 type TimeSeries = {
+export type TimestampedData = {
timestamp: number;
value: number;
};
-export type StatisticsData = {
+type StatisticsData = Partial<{
countRequest: number;
countResponse: number;
countError: number;
countTimeMeasurement: number;
- timeMeasurementSeries: CircularArray<TimeSeries>;
+ 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;