@@ -125,13 +125,18 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
125125 return true ;
126126 } )
127127 . AddProcessor < ProfilingSessionTraceProcessor > ( )
128- . AddProcessor ( sp =>
129- {
130- var manager = sp . GetRequiredService < Manager > ( ) ;
131- return new LiveMetricsActivityProcessor ( manager ) ;
132- } )
133128 . AddAzureMonitorTraceExporter ( ) ) ;
134129
130+ builder . Services . ConfigureOpenTelemetryTracerProvider ( ( sp , builder ) =>
131+ {
132+ var azureMonitorOptions = sp . GetRequiredService < IOptionsMonitor < AzureMonitorOptions > > ( ) . Get ( Options . DefaultName ) ;
133+ if ( azureMonitorOptions . EnableLiveMetrics )
134+ {
135+ var manager = sp . GetRequiredService < Manager > ( ) ;
136+ builder . AddProcessor ( new LiveMetricsActivityProcessor ( manager ) ) ;
137+ }
138+ } ) ;
139+
135140 builder . WithMetrics ( b => b
136141 . AddHttpClientAndServerMetrics ( )
137142 . AddAzureMonitorMetricExporter ( ) ) ;
@@ -141,11 +146,6 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
141146 logging . AddOpenTelemetry ( builderOptions =>
142147 {
143148 builderOptions . IncludeFormattedMessage = true ;
144- builderOptions . AddProcessor ( sp =>
145- {
146- var manager = sp . GetRequiredService < Manager > ( ) ;
147- return new LiveMetricsLogProcessor ( manager ) ;
148- } ) ;
149149 } ) ;
150150 } ) ;
151151
@@ -178,6 +178,15 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
178178 {
179179 loggingOptions . AddAzureMonitorLogExporter ( o => azureMonitorOptions . SetValueToExporterOptions ( o ) ) ;
180180 }
181+
182+ if ( azureMonitorOptions . EnableLiveMetrics )
183+ {
184+ loggingOptions . AddProcessor ( sp =>
185+ {
186+ var manager = sp . GetRequiredService < Manager > ( ) ;
187+ return new LiveMetricsLogProcessor ( manager ) ;
188+ } ) ;
189+ }
181190 } ) ;
182191
183192 // Register a configuration action so that when
0 commit comments