@@ -283,23 +283,19 @@ impl<C> PipelineBuilder<C> {
283283 /// ))
284284 /// .install_simple();
285285 /// ```
286- pub fn with_trace_config ( self , config : sdk:: trace:: Config ) -> Self {
287- let config = match config. resource {
288- Some ( ref resource) => {
289- let merged_resource = match self . config {
290- Some ( base_config) => base_config
291- . resource
292- . map ( |r| r. merge ( & resource) )
293- . unwrap_or_else ( || resource. as_ref ( ) . clone ( ) ) ,
294- None => resource. as_ref ( ) . clone ( ) ,
295- } ;
296-
297- Some ( config. with_resource ( merged_resource) )
286+ pub fn with_trace_config ( self , mut config : sdk:: trace:: Config ) -> Self {
287+ if let Some ( mut old_config) = self . config {
288+ if let Some ( old_resource) = old_config. resource . take ( ) {
289+ let merged_resource =
290+ old_resource. merge ( config. resource . take ( ) . unwrap_or_default ( ) ) ;
291+ config = config. with_resource ( merged_resource) ;
298292 }
299- None => Some ( config) ,
300- } ;
293+ }
301294
302- PipelineBuilder { config, ..self }
295+ PipelineBuilder {
296+ config : Some ( config) ,
297+ ..self
298+ }
303299 }
304300
305301 /// Assign the service name under which to group traces by adding a service.name
@@ -317,11 +313,11 @@ impl<C> PipelineBuilder<C> {
317313 /// .install_simple();
318314 /// ```
319315 pub fn with_service_name < T : Into < Cow < ' static , str > > > ( self , name : T ) -> Self {
320- let config = self . config . unwrap_or_default ( ) ;
316+ let mut config = self . config . unwrap_or_default ( ) ;
321317 let new_resource = sdk:: Resource :: new ( vec ! [ semcov:: resource:: SERVICE_NAME . string( name) ] ) ;
322318 let merged_resource = config
323319 . resource
324- . as_ref ( )
320+ . take ( )
325321 . map ( |r| r. merge ( & new_resource) )
326322 . unwrap_or ( new_resource) ;
327323 let config = config. with_resource ( merged_resource) ;
@@ -381,7 +377,7 @@ where
381377 /// that.
382378 pub fn install_simple ( self ) -> sdk:: trace:: Tracer {
383379 let trace_provider = self . build_simple ( ) ;
384- let tracer = trace_provider. get_tracer (
380+ let tracer = trace_provider. tracer (
385381 "opentelemetry-application-insights" ,
386382 Some ( env ! ( "CARGO_PKG_VERSION" ) ) ,
387383 ) ;
@@ -395,7 +391,7 @@ where
395391 /// that.
396392 pub fn install_batch < R : TraceRuntime > ( self , runtime : R ) -> sdk:: trace:: Tracer {
397393 let trace_provider = self . build_batch ( runtime) ;
398- let tracer = trace_provider. get_tracer (
394+ let tracer = trace_provider. tracer (
399395 "opentelemetry-application-insights" ,
400396 Some ( env ! ( "CARGO_PKG_VERSION" ) ) ,
401397 ) ;
0 commit comments