Skip to content

Commit 70f5c48

Browse files
[AzureMonitorDistro] Add LiveMetricsActivityProcessor only when live metrics is enabled (#43524)
* Add LiveMetricsActivityProcessor only when live metrics is enabled * Rename azureMonitorOptions to options.
1 parent a6c3e59 commit 70f5c48

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)