Skip to content

Commit 2ba2dd4

Browse files
feat: added provider and model to ai tracker (#145)
**Requirements** - [X] I have added test coverage for new or changed functionality - [ ] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests) - [ ] I have validated my changes against all supported platform versions **Related issues** Provide links to any issues in this repository or elsewhere relating to this pull request. **Describe the solution you've provided** Provide a clear and concise description of what you expect to happen. **Describe alternatives you've considered** Provide a clear and concise description of any alternative solutions or features you've considered. **Additional context** spec PR here: launchdarkly/sdk-specs#112 --------- Co-authored-by: Jason Bailey <[email protected]>
1 parent ac1bb78 commit 2ba2dd4

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

pkgs/sdk/server-ai/src/LdAiConfigTracker.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ public LdAiConfigTracker(ILaunchDarklyClient client, string configKey, LdAiConfi
4646
{
4747
{ "variationKey", LdValue.Of(config.VariationKey)},
4848
{ "version", LdValue.Of(config.Version)},
49-
{ "configKey" , LdValue.Of(configKey ?? throw new ArgumentNullException(nameof(configKey))) }
49+
{ "configKey" , LdValue.Of(configKey ?? throw new ArgumentNullException(nameof(configKey))) },
50+
{ "modelName", LdValue.Of(config.Model?.Name) },
51+
{ "providerName", LdValue.Of(config.Provider?.Name) },
5052
});
5153
}
5254

pkgs/sdk/server-ai/test/LdAiConfigTrackerTest.cs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ public void CanTrackDuration()
4444
{
4545
{ "variationKey", LdValue.Of(config.VariationKey) },
4646
{ "version", LdValue.Of(config.Version) },
47-
{ "configKey", LdValue.Of(flagKey) }
47+
{ "configKey", LdValue.Of(flagKey) },
48+
{ "modelName", LdValue.Of(config.Model.Name) },
49+
{ "providerName", LdValue.Of(config.Provider.Name) }
4850
});
4951
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
5052

@@ -63,7 +65,9 @@ public void CanTrackTimeToFirstToken()
6365
{
6466
{ "variationKey", LdValue.Of(config.VariationKey) },
6567
{ "version", LdValue.Of(config.Version) },
66-
{ "configKey", LdValue.Of(flagKey) }
68+
{ "configKey", LdValue.Of(flagKey) },
69+
{ "modelName", LdValue.Of(config.Model.Name) },
70+
{ "providerName", LdValue.Of(config.Provider.Name) }
6771
});
6872
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
6973

@@ -82,7 +86,9 @@ public void CanTrackSuccess()
8286
{
8387
{ "variationKey", LdValue.Of(config.VariationKey) },
8488
{ "version", LdValue.Of(config.Version) },
85-
{ "configKey", LdValue.Of(flagKey) }
89+
{ "configKey", LdValue.Of(flagKey) },
90+
{ "modelName", LdValue.Of(config.Model.Name) },
91+
{ "providerName", LdValue.Of(config.Provider.Name) }
8692
});
8793

8894
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -102,7 +108,9 @@ public void CanTrackError()
102108
{
103109
{ "variationKey", LdValue.Of(config.VariationKey) },
104110
{ "version", LdValue.Of(config.Version) },
105-
{ "configKey", LdValue.Of(flagKey) }
111+
{ "configKey", LdValue.Of(flagKey) },
112+
{ "modelName", LdValue.Of(config.Model.Name) },
113+
{ "providerName", LdValue.Of(config.Provider.Name) }
106114
});
107115

108116
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -122,7 +130,9 @@ public async void CanTrackDurationOfTask()
122130
{
123131
{ "variationKey", LdValue.Of(config.VariationKey) },
124132
{ "version", LdValue.Of(config.Version) },
125-
{ "configKey", LdValue.Of(flagKey) }
133+
{ "configKey", LdValue.Of(flagKey) },
134+
{ "modelName", LdValue.Of(config.Model.Name) },
135+
{ "providerName", LdValue.Of(config.Provider.Name) }
126136
});
127137

128138
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -157,7 +167,9 @@ public void CanTrackFeedback()
157167
{
158168
{ "variationKey", LdValue.Of(config.VariationKey) },
159169
{ "version", LdValue.Of(config.Version) },
160-
{ "configKey", LdValue.Of(flagKey) }
170+
{ "configKey", LdValue.Of(flagKey) },
171+
{ "modelName", LdValue.Of(config.Model.Name) },
172+
{ "providerName", LdValue.Of(config.Provider.Name) }
161173
});
162174

163175
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -179,7 +191,9 @@ public void CanTrackTokens()
179191
{
180192
{ "variationKey", LdValue.Of(config.VariationKey) },
181193
{ "version", LdValue.Of(config.Version) },
182-
{ "configKey", LdValue.Of(flagKey) }
194+
{ "configKey", LdValue.Of(flagKey) },
195+
{ "modelName", LdValue.Of(config.Model.Name) },
196+
{ "providerName", LdValue.Of(config.Provider.Name) }
183197
});
184198

185199
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -208,7 +222,9 @@ public void CanTrackResponseWithSpecificLatency()
208222
{
209223
{ "variationKey", LdValue.Of(config.VariationKey) },
210224
{ "version", LdValue.Of(config.Version) },
211-
{ "configKey", LdValue.Of(flagKey) }
225+
{ "configKey", LdValue.Of(flagKey) },
226+
{ "modelName", LdValue.Of(config.Model.Name) },
227+
{ "providerName", LdValue.Of(config.Provider.Name) }
212228
});
213229

214230
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -251,7 +267,9 @@ public void CanTrackResponseWithPartialData()
251267
{
252268
{ "variationKey", LdValue.Of(config.VariationKey) },
253269
{ "version", LdValue.Of(config.Version) },
254-
{ "configKey", LdValue.Of(flagKey) }
270+
{ "configKey", LdValue.Of(flagKey) },
271+
{ "modelName", LdValue.Of(config.Model.Name) },
272+
{ "providerName", LdValue.Of(config.Provider.Name) }
255273
});
256274

257275
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);
@@ -286,7 +304,9 @@ public async Task CanTrackExceptionFromResponse()
286304
{
287305
{ "variationKey", LdValue.Of(config.VariationKey) },
288306
{ "version", LdValue.Of(config.Version) },
289-
{ "configKey", LdValue.Of(flagKey) }
307+
{ "configKey", LdValue.Of(flagKey) },
308+
{ "modelName", LdValue.Of(config.Model.Name) },
309+
{ "providerName", LdValue.Of(config.Provider.Name) }
290310
});
291311

292312
var tracker = new LdAiConfigTracker(mockClient.Object, flagKey, config, context);

0 commit comments

Comments
 (0)