@@ -265,14 +265,20 @@ impl SdkMeter {
265265 {
266266 let validation_result = validate_instrument_config ( builder. name . as_ref ( ) , & builder. unit ) ;
267267 if let Err ( err) = validation_result {
268- global:: handle_error ( err) ;
268+ otel_error ! (
269+ name: "InstrumentCreationFailed" ,
270+ meter_name = self . scope. name. as_ref( ) ,
271+ instrument_name = builder. name. as_ref( ) ,
272+ message = "Measurements from this updown counter will be ignored." ,
273+ reason = format!( "{}" , err)
274+ ) ;
269275 return UpDownCounter :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) ) ;
270276 }
271277
272278 match resolver
273279 . lookup (
274280 InstrumentKind :: UpDownCounter ,
275- builder. name ,
281+ builder. name . clone ( ) ,
276282 builder. description ,
277283 builder. unit ,
278284 None ,
@@ -281,7 +287,13 @@ impl SdkMeter {
281287 {
282288 Ok ( updown_counter) => updown_counter,
283289 Err ( err) => {
284- global:: handle_error ( err) ;
290+ otel_error ! (
291+ name: "InstrumentCreationFailed" ,
292+ meter_name = self . scope. name. as_ref( ) ,
293+ instrument_name = builder. name. as_ref( ) ,
294+ message = "Measurements from this updown counter will be ignored." ,
295+ reason = format!( "{}" , err)
296+ ) ;
285297 UpDownCounter :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) )
286298 }
287299 }
@@ -297,14 +309,20 @@ impl SdkMeter {
297309 {
298310 let validation_result = validate_instrument_config ( builder. name . as_ref ( ) , & builder. unit ) ;
299311 if let Err ( err) = validation_result {
300- global:: handle_error ( err) ;
312+ otel_error ! (
313+ name: "InstrumentCreationFailed" ,
314+ meter_name = self . scope. name. as_ref( ) ,
315+ instrument_name = builder. name. as_ref( ) ,
316+ message = "Measurements from this gauge will be ignored." ,
317+ reason = format!( "{}" , err)
318+ ) ;
301319 return Gauge :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) ) ;
302320 }
303321
304322 match resolver
305323 . lookup (
306324 InstrumentKind :: Gauge ,
307- builder. name ,
325+ builder. name . clone ( ) ,
308326 builder. description ,
309327 builder. unit ,
310328 None ,
@@ -313,7 +331,13 @@ impl SdkMeter {
313331 {
314332 Ok ( gauge) => gauge,
315333 Err ( err) => {
316- global:: handle_error ( err) ;
334+ otel_error ! (
335+ name: "InstrumentCreationFailed" ,
336+ meter_name = self . scope. name. as_ref( ) ,
337+ instrument_name = builder. name. as_ref( ) ,
338+ message = "Measurements from this gauge will be ignored." ,
339+ reason = format!( "{}" , err)
340+ ) ;
317341 Gauge :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) )
318342 }
319343 }
@@ -329,14 +353,20 @@ impl SdkMeter {
329353 {
330354 let validation_result = validate_instrument_config ( builder. name . as_ref ( ) , & builder. unit ) ;
331355 if let Err ( err) = validation_result {
332- global:: handle_error ( err) ;
356+ otel_error ! (
357+ name: "InstrumentCreationFailed" ,
358+ meter_name = self . scope. name. as_ref( ) ,
359+ instrument_name = builder. name. as_ref( ) ,
360+ message = "Measurements from this histogram will be ignored." ,
361+ reason = format!( "{}" , err)
362+ ) ;
333363 return Histogram :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) ) ;
334364 }
335365
336366 match resolver
337367 . lookup (
338368 InstrumentKind :: Histogram ,
339- builder. name ,
369+ builder. name . clone ( ) ,
340370 builder. description ,
341371 builder. unit ,
342372 builder. boundaries ,
@@ -345,7 +375,13 @@ impl SdkMeter {
345375 {
346376 Ok ( histogram) => histogram,
347377 Err ( err) => {
348- global:: handle_error ( err) ;
378+ otel_error ! (
379+ name: "InstrumentCreationFailed" ,
380+ meter_name = self . scope. name. as_ref( ) ,
381+ instrument_name = builder. name. as_ref( ) ,
382+ message = "Measurements from this hsitogram will be ignored." ,
383+ reason = format!( "{}" , err)
384+ ) ;
349385 Histogram :: new ( Arc :: new ( NoopSyncInstrument :: new ( ) ) )
350386 }
351387 }
0 commit comments