@@ -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