File tree 2 files changed +28
-2
lines changed
2 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -100,7 +100,12 @@ class LLMObsTagger {
100
100
}
101
101
102
102
tagMetadata ( span , metadata ) {
103
- this . _setTag ( span , METADATA , metadata )
103
+ const existingMetadata = registry . get ( span ) ?. [ METADATA ]
104
+ if ( existingMetadata ) {
105
+ Object . assign ( existingMetadata , metadata )
106
+ } else {
107
+ this . _setTag ( span , METADATA , metadata )
108
+ }
104
109
}
105
110
106
111
tagMetrics ( span , metrics ) {
@@ -128,7 +133,12 @@ class LLMObsTagger {
128
133
}
129
134
}
130
135
131
- this . _setTag ( span , METRICS , filterdMetrics )
136
+ const existingMetrics = registry . get ( span ) ?. [ METRICS ]
137
+ if ( existingMetrics ) {
138
+ Object . assign ( existingMetrics , filterdMetrics )
139
+ } else {
140
+ this . _setTag ( span , METRICS , filterdMetrics )
141
+ }
132
142
}
133
143
134
144
tagSpanTags ( span , tags ) {
Original file line number Diff line number Diff line change @@ -168,6 +168,14 @@ describe('tagger', () => {
168
168
'_ml_obs.meta.metadata' : { a : 'foo' , b : 'bar' }
169
169
} )
170
170
} )
171
+
172
+ it ( 'updates instead of overriding' , ( ) => {
173
+ Tagger . tagMap . set ( span , { '_ml_obs.meta.metadata' : { a : 'foo' } } )
174
+ tagger . tagMetadata ( span , { b : 'bar' } )
175
+ expect ( Tagger . tagMap . get ( span ) ) . to . deep . equal ( {
176
+ '_ml_obs.meta.metadata' : { a : 'foo' , b : 'bar' }
177
+ } )
178
+ } )
171
179
} )
172
180
173
181
describe ( 'tagMetrics' , ( ) => {
@@ -202,6 +210,14 @@ describe('tagger', () => {
202
210
tagger . _register ( span )
203
211
expect ( ( ) => tagger . tagMetrics ( span , metrics ) ) . to . throw ( )
204
212
} )
213
+
214
+ it ( 'updates instead of overriding' , ( ) => {
215
+ Tagger . tagMap . set ( span , { '_ml_obs.metrics' : { a : 1 } } )
216
+ tagger . tagMetrics ( span , { b : 2 } )
217
+ expect ( Tagger . tagMap . get ( span ) ) . to . deep . equal ( {
218
+ '_ml_obs.metrics' : { a : 1 , b : 2 }
219
+ } )
220
+ } )
205
221
} )
206
222
207
223
describe ( 'tagSpanTags' , ( ) => {
You can’t perform that action at this time.
0 commit comments