@@ -42,7 +42,7 @@ def client(td: TestData) -> LDClient:
42
42
43
43
def test_summary_starts_empty (client : LDClient ):
44
44
context = Context .create ("user-key" )
45
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 1 , context )
45
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 1 , "fakeModel" , "fakeProvider" , context )
46
46
47
47
assert tracker .get_summary ().duration is None
48
48
assert tracker .get_summary ().feedback is None
@@ -52,13 +52,13 @@ def test_summary_starts_empty(client: LDClient):
52
52
53
53
def test_tracks_duration (client : LDClient ):
54
54
context = Context .create ("user-key" )
55
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
55
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
56
56
tracker .track_duration (100 )
57
57
58
58
client .track .assert_called_with ( # type: ignore
59
59
"$ld:ai:duration:total" ,
60
60
context ,
61
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
61
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
62
62
100 ,
63
63
)
64
64
@@ -67,7 +67,7 @@ def test_tracks_duration(client: LDClient):
67
67
68
68
def test_tracks_duration_of (client : LDClient ):
69
69
context = Context .create ("user-key" )
70
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
70
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
71
71
tracker .track_duration_of (lambda : sleep (0.01 ))
72
72
73
73
calls = client .track .mock_calls # type: ignore
@@ -79,19 +79,21 @@ def test_tracks_duration_of(client: LDClient):
79
79
"variationKey" : "variation-key" ,
80
80
"configKey" : "config-key" ,
81
81
"version" : 3 ,
82
+ "modelName" : "fakeModel" ,
83
+ "providerName" : "fakeProvider" ,
82
84
}
83
85
assert calls [0 ].args [3 ] == pytest .approx (10 , rel = 10 )
84
86
85
87
86
88
def test_tracks_time_to_first_token (client : LDClient ):
87
89
context = Context .create ("user-key" )
88
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
90
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
89
91
tracker .track_time_to_first_token (100 )
90
92
91
93
client .track .assert_called_with ( # type: ignore
92
94
"$ld:ai:tokens:ttf" ,
93
95
context ,
94
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
96
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
95
97
100 ,
96
98
)
97
99
@@ -100,7 +102,7 @@ def test_tracks_time_to_first_token(client: LDClient):
100
102
101
103
def test_tracks_duration_of_with_exception (client : LDClient ):
102
104
context = Context .create ("user-key" )
103
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
105
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
104
106
105
107
def sleep_and_throw ():
106
108
sleep (0.01 )
@@ -121,13 +123,15 @@ def sleep_and_throw():
121
123
"variationKey" : "variation-key" ,
122
124
"configKey" : "config-key" ,
123
125
"version" : 3 ,
126
+ "modelName" : "fakeModel" ,
127
+ "providerName" : "fakeProvider" ,
124
128
}
125
129
assert calls [0 ].args [3 ] == pytest .approx (10 , rel = 10 )
126
130
127
131
128
132
def test_tracks_token_usage (client : LDClient ):
129
133
context = Context .create ("user-key" )
130
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
134
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
131
135
132
136
tokens = TokenUsage (300 , 200 , 100 )
133
137
tracker .track_tokens (tokens )
@@ -136,19 +140,19 @@ def test_tracks_token_usage(client: LDClient):
136
140
call (
137
141
"$ld:ai:tokens:total" ,
138
142
context ,
139
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
143
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
140
144
300 ,
141
145
),
142
146
call (
143
147
"$ld:ai:tokens:input" ,
144
148
context ,
145
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
149
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
146
150
200 ,
147
151
),
148
152
call (
149
153
"$ld:ai:tokens:output" ,
150
154
context ,
151
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
155
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
152
156
100 ,
153
157
),
154
158
]
@@ -160,7 +164,7 @@ def test_tracks_token_usage(client: LDClient):
160
164
161
165
def test_tracks_bedrock_metrics (client : LDClient ):
162
166
context = Context .create ("user-key" )
163
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
167
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
164
168
165
169
bedrock_result = {
166
170
"ResponseMetadata" : {"HTTPStatusCode" : 200 },
@@ -179,31 +183,31 @@ def test_tracks_bedrock_metrics(client: LDClient):
179
183
call (
180
184
"$ld:ai:generation:success" ,
181
185
context ,
182
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
186
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
183
187
1 ,
184
188
),
185
189
call (
186
190
"$ld:ai:duration:total" ,
187
191
context ,
188
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
192
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
189
193
50 ,
190
194
),
191
195
call (
192
196
"$ld:ai:tokens:total" ,
193
197
context ,
194
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
198
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
195
199
330 ,
196
200
),
197
201
call (
198
202
"$ld:ai:tokens:input" ,
199
203
context ,
200
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
204
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
201
205
220 ,
202
206
),
203
207
call (
204
208
"$ld:ai:tokens:output" ,
205
209
context ,
206
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
210
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
207
211
110 ,
208
212
),
209
213
]
@@ -217,7 +221,7 @@ def test_tracks_bedrock_metrics(client: LDClient):
217
221
218
222
def test_tracks_bedrock_metrics_with_error (client : LDClient ):
219
223
context = Context .create ("user-key" )
220
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
224
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
221
225
222
226
bedrock_result = {
223
227
"ResponseMetadata" : {"HTTPStatusCode" : 500 },
@@ -236,31 +240,31 @@ def test_tracks_bedrock_metrics_with_error(client: LDClient):
236
240
call (
237
241
"$ld:ai:generation:error" ,
238
242
context ,
239
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
243
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
240
244
1 ,
241
245
),
242
246
call (
243
247
"$ld:ai:duration:total" ,
244
248
context ,
245
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
249
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
246
250
50 ,
247
251
),
248
252
call (
249
253
"$ld:ai:tokens:total" ,
250
254
context ,
251
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
255
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
252
256
330 ,
253
257
),
254
258
call (
255
259
"$ld:ai:tokens:input" ,
256
260
context ,
257
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
261
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
258
262
220 ,
259
263
),
260
264
call (
261
265
"$ld:ai:tokens:output" ,
262
266
context ,
263
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
267
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
264
268
110 ,
265
269
),
266
270
]
@@ -274,7 +278,7 @@ def test_tracks_bedrock_metrics_with_error(client: LDClient):
274
278
275
279
def test_tracks_openai_metrics (client : LDClient ):
276
280
context = Context .create ("user-key" )
277
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
281
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
278
282
279
283
class Result :
280
284
def __init__ (self ):
@@ -294,25 +298,25 @@ def to_dict(self):
294
298
call (
295
299
"$ld:ai:generation:success" ,
296
300
context ,
297
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
301
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
298
302
1 ,
299
303
),
300
304
call (
301
305
"$ld:ai:tokens:total" ,
302
306
context ,
303
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
307
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
304
308
330 ,
305
309
),
306
310
call (
307
311
"$ld:ai:tokens:input" ,
308
312
context ,
309
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
313
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
310
314
220 ,
311
315
),
312
316
call (
313
317
"$ld:ai:tokens:output" ,
314
318
context ,
315
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
319
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
316
320
110 ,
317
321
),
318
322
]
@@ -324,7 +328,7 @@ def to_dict(self):
324
328
325
329
def test_tracks_openai_metrics_with_exception (client : LDClient ):
326
330
context = Context .create ("user-key" )
327
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
331
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
328
332
329
333
def raise_exception ():
330
334
raise ValueError ("Something went wrong" )
@@ -339,7 +343,7 @@ def raise_exception():
339
343
call (
340
344
"$ld:ai:generation:error" ,
341
345
context ,
342
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
346
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
343
347
1 ,
344
348
),
345
349
]
@@ -358,29 +362,29 @@ def raise_exception():
358
362
)
359
363
def test_tracks_feedback (client : LDClient , kind : FeedbackKind , label : str ):
360
364
context = Context .create ("user-key" )
361
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
365
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
362
366
363
367
tracker .track_feedback ({"kind" : kind })
364
368
365
369
client .track .assert_called_with ( # type: ignore
366
370
f"$ld:ai:feedback:user:{ label } " ,
367
371
context ,
368
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
372
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
369
373
1 ,
370
374
)
371
375
assert tracker .get_summary ().feedback == {"kind" : kind }
372
376
373
377
374
378
def test_tracks_success (client : LDClient ):
375
379
context = Context .create ("user-key" )
376
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
380
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
377
381
tracker .track_success ()
378
382
379
383
calls = [
380
384
call (
381
385
"$ld:ai:generation:success" ,
382
386
context ,
383
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
387
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
384
388
1 ,
385
389
),
386
390
]
@@ -392,14 +396,14 @@ def test_tracks_success(client: LDClient):
392
396
393
397
def test_tracks_error (client : LDClient ):
394
398
context = Context .create ("user-key" )
395
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
399
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
396
400
tracker .track_error ()
397
401
398
402
calls = [
399
403
call (
400
404
"$ld:ai:generation:error" ,
401
405
context ,
402
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
406
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
403
407
1 ,
404
408
),
405
409
]
@@ -411,21 +415,21 @@ def test_tracks_error(client: LDClient):
411
415
412
416
def test_error_overwrites_success (client : LDClient ):
413
417
context = Context .create ("user-key" )
414
- tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , context )
418
+ tracker = LDAIConfigTracker (client , "variation-key" , "config-key" , 3 , "fakeModel" , "fakeProvider" , context )
415
419
tracker .track_success ()
416
420
tracker .track_error ()
417
421
418
422
calls = [
419
423
call (
420
424
"$ld:ai:generation:success" ,
421
425
context ,
422
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
426
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
423
427
1 ,
424
428
),
425
429
call (
426
430
"$ld:ai:generation:error" ,
427
431
context ,
428
- {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 },
432
+ {"variationKey" : "variation-key" , "configKey" : "config-key" , "version" : 3 , "modelName" : "fakeModel" , "providerName" : "fakeProvider" },
429
433
1 ,
430
434
),
431
435
]
0 commit comments