Commit | Line | Data |
---|---|---|
c27c3eee JB |
1 | import { Column, Entity, ManyToOne, OneToMany } from 'typeorm'; |
2 | ||
3 | import { CircularArray } from '../../../utils/CircularArray'; | |
4 | ||
5 | @Entity() | |
6 | export class PerformanceRecords { | |
7 | @Column('string') | |
8 | id: string; | |
9 | ||
10 | @Column('string') | |
11 | URI: string; | |
12 | ||
13 | @Column('date') | |
14 | createdAt: Date; | |
15 | ||
16 | @Column('date') | |
17 | lastUpdatedAt?: Date; | |
18 | ||
19 | @OneToMany((type) => PerformanceData, (performanceData) => performanceData.performanceRecords) | |
20 | performanceData?: PerformanceData[]; | |
21 | } | |
22 | ||
23 | @Entity() | |
24 | export class PerformanceData { | |
25 | @Column('string') | |
26 | commandName: string; | |
27 | ||
28 | @Column('integer') | |
29 | countRequest: number; | |
30 | ||
31 | @Column('integer') | |
32 | countResponse: number; | |
33 | ||
34 | @Column('integer') | |
35 | countError: number; | |
36 | ||
37 | @Column('integer') | |
38 | countTimeMeasurement: number; | |
39 | ||
40 | @Column({ type: 'double', array: true }) | |
41 | timeMeasurementSeries: CircularArray<number>; | |
42 | ||
43 | @Column('double') | |
44 | currentTimeMeasurement: number; | |
45 | ||
46 | @Column('double') | |
47 | minTimeMeasurement: number; | |
48 | ||
49 | @Column('double') | |
50 | maxTimeMeasurement: number; | |
51 | ||
52 | @Column('double') | |
53 | totalTimeMeasurement: number; | |
54 | ||
55 | @Column('double') | |
56 | avgTimeMeasurement: number; | |
57 | ||
58 | @Column('double') | |
59 | medTimeMeasurement: number; | |
60 | ||
61 | @Column('double') | |
62 | ninetyFiveThPercentileTimeMeasurement: number; | |
63 | ||
64 | @Column('double') | |
65 | stdDevTimeMeasurement: number; | |
66 | ||
67 | @ManyToOne((type) => PerformanceRecords, (performanceRecords) => performanceRecords.performanceData) | |
68 | performanceRecords?: PerformanceRecords; | |
69 | } |