@@ -13,12 +13,11 @@ const RequestTotalMetric = InferenceModelComponent + "_request_total"
13
13
const RequestLatenciesMetric = InferenceModelComponent + "_request_duration_seconds"
14
14
const RequestSizesMetric = InferenceModelComponent + "_request_sizes"
15
15
16
- func TestMonitorRequest (t * testing.T ) {
16
+ func TestRecordRequestCounterandSizes (t * testing.T ) {
17
17
type requests struct {
18
18
modelName string
19
19
targetModelName string
20
20
reqSize int
21
- elapsed time.Duration
22
21
}
23
22
scenarios := []struct {
24
23
name string
@@ -30,33 +29,30 @@ func TestMonitorRequest(t *testing.T) {
30
29
modelName : "m10" ,
31
30
targetModelName : "t10" ,
32
31
reqSize : 1200 ,
33
- elapsed : time .Millisecond * 10 ,
34
32
},
35
33
{
36
34
modelName : "m10" ,
37
35
targetModelName : "t10" ,
38
36
reqSize : 500 ,
39
- elapsed : time .Millisecond * 1600 ,
40
37
},
41
38
{
42
39
modelName : "m10" ,
43
40
targetModelName : "t11" ,
44
41
reqSize : 2480 ,
45
- elapsed : time .Millisecond * 60 ,
46
42
},
47
43
{
48
44
modelName : "m20" ,
49
45
targetModelName : "t20" ,
50
46
reqSize : 80 ,
51
- elapsed : time .Millisecond * 120 ,
52
47
},
53
48
},
54
49
}}
55
50
Register ()
56
51
for _ , scenario := range scenarios {
57
52
t .Run (scenario .name , func (t * testing.T ) {
58
53
for _ , req := range scenario .reqs {
59
- MonitorRequest (req .modelName , req .targetModelName , req .reqSize , req .elapsed )
54
+ RecordRequestCounter (req .modelName , req .targetModelName )
55
+ RecordRequestSizes (req .modelName , req .targetModelName , req .reqSize )
60
56
}
61
57
wantRequestTotal , err := os .Open ("testdata/request_total_metric" )
62
58
defer func () {
@@ -70,31 +66,98 @@ func TestMonitorRequest(t *testing.T) {
70
66
if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , wantRequestTotal , RequestTotalMetric ); err != nil {
71
67
t .Error (err )
72
68
}
73
- wantRequestLatencies , err := os .Open ("testdata/request_duration_seconds_metric " )
69
+ wantRequestSizes , err := os .Open ("testdata/request_sizes_metric " )
74
70
defer func () {
75
- if err := wantRequestLatencies .Close (); err != nil {
71
+ if err := wantRequestSizes .Close (); err != nil {
76
72
t .Error (err )
77
73
}
78
74
}()
79
75
if err != nil {
80
76
t .Fatal (err )
81
77
}
82
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , wantRequestLatencies , RequestLatenciesMetric ); err != nil {
78
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , wantRequestSizes , RequestSizesMetric ); err != nil {
83
79
t .Error (err )
84
80
}
85
- wantRequestSizes , err := os .Open ("testdata/request_sizes_metric" )
81
+
82
+ })
83
+ }
84
+ }
85
+
86
+
87
+ func TestRecordRequestLatencies (t * testing.T ) {
88
+ timeBaseline := time .Now ()
89
+ type requests struct {
90
+ modelName string
91
+ targetModelName string
92
+ receivedTime time.Time
93
+ completeTime time.Time
94
+ }
95
+ scenarios := []struct {
96
+ name string
97
+ reqs []requests
98
+ invalid bool
99
+ }{{
100
+ name : "multiple requests" ,
101
+ reqs : []requests {
102
+ {
103
+ modelName : "m10" ,
104
+ targetModelName : "t10" ,
105
+ receivedTime : timeBaseline ,
106
+ completeTime : timeBaseline .Add (time .Millisecond * 10 ),
107
+ },
108
+ {
109
+ modelName : "m10" ,
110
+ targetModelName : "t10" ,
111
+ receivedTime : timeBaseline ,
112
+ completeTime : timeBaseline .Add (time .Millisecond * 1600 ),
113
+ },
114
+ {
115
+ modelName : "m10" ,
116
+ targetModelName : "t11" ,
117
+ receivedTime : timeBaseline ,
118
+ completeTime : timeBaseline .Add (time .Millisecond * 60 ),
119
+ },
120
+ {
121
+ modelName : "m20" ,
122
+ targetModelName : "t20" ,
123
+ receivedTime : timeBaseline ,
124
+ completeTime : timeBaseline .Add (time .Millisecond * 120 ),
125
+ },
126
+ },
127
+ },
128
+ {
129
+ name : "invalid elapsed time" ,
130
+ reqs : []requests {
131
+ {
132
+ modelName : "m10" ,
133
+ targetModelName : "t10" ,
134
+ receivedTime : timeBaseline .Add (time .Millisecond * 10 ),
135
+ completeTime : timeBaseline ,
136
+ }},
137
+ invalid : true ,
138
+ }}
139
+ Register ()
140
+ for _ , scenario := range scenarios {
141
+ t .Run (scenario .name , func (t * testing.T ) {
142
+ for _ , req := range scenario .reqs {
143
+ success := RecordRequestLatencies (req .modelName , req .targetModelName , req .receivedTime , req .completeTime )
144
+ if success == scenario .invalid {
145
+ t .Errorf ("got record success(%v), but the request expects invalid(%v)" , success , scenario .invalid )
146
+ }
147
+ }
148
+
149
+ wantRequestLatencies , err := os .Open ("testdata/request_duration_seconds_metric" )
86
150
defer func () {
87
- if err := wantRequestSizes .Close (); err != nil {
151
+ if err := wantRequestLatencies .Close (); err != nil {
88
152
t .Error (err )
89
153
}
90
154
}()
91
155
if err != nil {
92
156
t .Fatal (err )
93
157
}
94
- if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , wantRequestSizes , RequestSizesMetric ); err != nil {
158
+ if err := testutil .GatherAndCompare (legacyregistry .DefaultGatherer , wantRequestLatencies , RequestLatenciesMetric ); err != nil {
95
159
t .Error (err )
96
160
}
97
-
98
161
})
99
162
}
100
- }
163
+ }
0 commit comments