@@ -125,13 +125,18 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
125
125
return true ;
126
126
} )
127
127
. AddProcessor < ProfilingSessionTraceProcessor > ( )
128
- . AddProcessor ( sp =>
129
- {
130
- var manager = sp . GetRequiredService < Manager > ( ) ;
131
- return new LiveMetricsActivityProcessor ( manager ) ;
132
- } )
133
128
. AddAzureMonitorTraceExporter ( ) ) ;
134
129
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
+
135
140
builder . WithMetrics ( b => b
136
141
. AddHttpClientAndServerMetrics ( )
137
142
. AddAzureMonitorMetricExporter ( ) ) ;
@@ -141,11 +146,6 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
141
146
logging . AddOpenTelemetry ( builderOptions =>
142
147
{
143
148
builderOptions . IncludeFormattedMessage = true ;
144
- builderOptions . AddProcessor ( sp =>
145
- {
146
- var manager = sp . GetRequiredService < Manager > ( ) ;
147
- return new LiveMetricsLogProcessor ( manager ) ;
148
- } ) ;
149
149
} ) ;
150
150
} ) ;
151
151
@@ -178,6 +178,15 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
178
178
{
179
179
loggingOptions . AddAzureMonitorLogExporter ( o => azureMonitorOptions . SetValueToExporterOptions ( o ) ) ;
180
180
}
181
+
182
+ if ( azureMonitorOptions . EnableLiveMetrics )
183
+ {
184
+ loggingOptions . AddProcessor ( sp =>
185
+ {
186
+ var manager = sp . GetRequiredService < Manager > ( ) ;
187
+ return new LiveMetricsLogProcessor ( manager ) ;
188
+ } ) ;
189
+ }
181
190
} ) ;
182
191
183
192
// Register a configuration action so that when
0 commit comments