-import { Entity, PrimaryKey, Property } from '@mikro-orm/core';
-
-import { PerformanceData } from './PerformanceData';
+import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
+
+interface StatisticsData {
+ name: string
+ requestCount: number
+ responseCount: number
+ errorCount: number
+ timeMeasurementCount: number
+ measurementTimeSeries: Array<{
+ timestamp: number
+ value: number
+ }>
+ currentTimeMeasurement: number
+ minTimeMeasurement: number
+ maxTimeMeasurement: number
+ totalTimeMeasurement: number
+ avgTimeMeasurement: number
+ medTimeMeasurement: number
+ ninetyFiveThPercentileTimeMeasurement: number
+ stdDevTimeMeasurement: number
+}
@Entity()
export class PerformanceRecord {
- // @PrimaryKey()
- // pk!: number;
+ @PrimaryKey()
+ id!: string
- // @Property()
- // id: string;
+ @Property()
+ name!: string
- // @Property()
- // URI: string;
+ @Property()
+ uri!: string
- // @Property()
- // createdAt: Date;
+ @Property()
+ createdAt!: Date
- // @Property({ nullable: true })
- // updatedAt?: Date;
+ @Property()
+ updatedAt?: Date
- // @Property({ nullable: true })
- // performanceData?: PerformanceData[];
+ @Property()
+ statisticsData!: Array<Partial<StatisticsData>>
}
-