Skip to content

Commit 2abbc2c

Browse files
committed
Fix: updated tracking event names for success, error, and duration to be exactly like @launchdarkly/server-sdk-ai
1 parent 9d23cc5 commit 2abbc2c

File tree

1 file changed

+41
-53
lines changed

1 file changed

+41
-53
lines changed

packages/sdk/cloudflare-ai/src/LDAIConfigTrackerImpl.ts

Lines changed: 41 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -20,88 +20,76 @@ export class LDAIConfigTrackerImpl implements LDAIConfigTracker {
2020
) {}
2121

2222
trackSuccess(): void {
23-
this._ldClient.track('$ld:ai:generation', this._context, this._createBaseMetadata(), 1);
23+
this._ldClient.track('$ld:ai:generation:success', this._context, this._createBaseMetadata(), 1);
2424
this._tracked.success = true;
2525
}
2626

2727
trackError(): void {
28-
this._ldClient.track(
29-
'$ld:ai:generation',
30-
this._context,
31-
{ ...this._createBaseMetadata(), success: false },
32-
0,
33-
);
28+
this._ldClient.track('$ld:ai:generation:error', this._context, this._createBaseMetadata(), 1);
3429
this._tracked.success = false;
3530
}
3631

3732
trackDuration(durationMs: number): void {
3833
this._ldClient.track(
39-
'$ld:ai:duration',
34+
'$ld:ai:duration:total',
4035
this._context,
41-
{
42-
...this._createBaseMetadata(),
43-
durationMs,
44-
},
36+
this._createBaseMetadata(),
4537
durationMs,
4638
);
4739
this._tracked.durationMs = durationMs;
4840
}
4941

5042
trackMetrics(metrics: { durationMs: number; usage?: LDTokenUsage; success: boolean }): void {
51-
const metadata = {
52-
...this._createBaseMetadata(),
53-
durationMs: metrics.durationMs,
54-
success: metrics.success,
55-
};
56-
57-
if (metrics.usage) {
58-
Object.assign(metadata, {
59-
inputTokens: metrics.usage.input,
60-
outputTokens: metrics.usage.output,
61-
totalTokens: metrics.usage.total,
62-
});
63-
this._tracked.tokens = metrics.usage;
64-
}
65-
6643
this._tracked.durationMs = metrics.durationMs;
67-
this._tracked.success = metrics.success;
68-
69-
this._ldClient.track('$ld:ai:generation', this._context, metadata, 1);
70-
44+
this.trackDuration(metrics.durationMs);
45+
if (metrics.success) {
46+
this.trackSuccess();
47+
} else {
48+
this.trackError();
49+
}
7150
if (metrics.usage) {
72-
this._ldClient.track('$ld:ai:tokens', this._context, metadata, metrics.usage.total);
51+
this.trackTokens(metrics.usage);
7352
}
7453
}
7554

7655
trackTokens(usage: LDTokenUsage): void {
77-
const metadata = {
78-
...this._createBaseMetadata(),
79-
inputTokens: usage.input,
80-
outputTokens: usage.output,
81-
totalTokens: usage.total,
82-
};
83-
this._ldClient.track('$ld:ai:tokens', this._context, metadata, usage.total);
56+
const metadata = this._createBaseMetadata();
57+
if (usage.total > 0) {
58+
this._ldClient.track('$ld:ai:tokens:total', this._context, metadata, usage.total);
59+
}
60+
if (usage.input > 0) {
61+
this._ldClient.track('$ld:ai:tokens:input', this._context, metadata, usage.input);
62+
}
63+
if (usage.output > 0) {
64+
this._ldClient.track('$ld:ai:tokens:output', this._context, metadata, usage.output);
65+
}
8466
this._tracked.tokens = usage;
8567
}
8668

8769
trackFeedback(kind: LDFeedbackKind): void {
88-
this._ldClient.track(
89-
'$ld:ai:feedback',
90-
this._context,
91-
{
92-
...this._createBaseMetadata(),
93-
feedback: kind,
94-
},
95-
kind === 'positive' ? 1 : 0,
96-
);
70+
if (kind === 'positive') {
71+
this._ldClient.track(
72+
'$ld:ai:feedback:user:positive',
73+
this._context,
74+
this._createBaseMetadata(),
75+
1,
76+
);
77+
} else if (kind === 'negative') {
78+
this._ldClient.track(
79+
'$ld:ai:feedback:user:negative',
80+
this._context,
81+
this._createBaseMetadata(),
82+
1,
83+
);
84+
}
9785
this._tracked.feedback = { kind } as any;
9886
}
9987

10088
trackTimeToFirstToken(timeToFirstTokenMs: number): void {
10189
this._ldClient.track(
102-
'$ld:ai:ttft',
90+
'$ld:ai:tokens:ttf',
10391
this._context,
104-
{ ...this._createBaseMetadata(), timeToFirstTokenMs },
92+
this._createBaseMetadata(),
10593
timeToFirstTokenMs,
10694
);
10795
this._tracked.timeToFirstTokenMs = timeToFirstTokenMs;
@@ -195,11 +183,11 @@ export class LDAIConfigTrackerImpl implements LDAIConfigTracker {
195183

196184
private _createBaseMetadata(): Record<string, unknown> {
197185
return {
198-
aiConfigKey: this._configKey,
186+
configKey: this._configKey,
199187
variationKey: this._variationKey,
200188
version: this._version,
201-
model: this._modelName,
202-
provider: this._providerName,
189+
modelName: this._modelName,
190+
providerName: this._providerName,
203191
};
204192
}
205193
}

0 commit comments

Comments
 (0)