Use IOptionsMonitor instead of IOptionsSnapshot. (#3662)
This commit is contained in:
parent
97e5021c73
commit
928d77056c
|
|
@ -64,7 +64,7 @@ namespace OpenTelemetry.Trace
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<ConsoleExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<ConsoleExporterOptions>>().Get(name);
|
||||
|
||||
builder.AddProcessor(new SimpleActivityExportProcessor(new ConsoleActivityExporter(options)));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ namespace OpenTelemetry.Logs
|
|||
|
||||
return loggerOptions.ConfigureProvider((sp, provider) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<ConsoleExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<ConsoleExporterOptions>>().Get(name);
|
||||
|
||||
provider.AddProcessor(new SimpleLogRecordExportProcessor(new ConsoleLogRecordExporter(options)));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -73,8 +73,8 @@ namespace OpenTelemetry.Metrics
|
|||
{
|
||||
AddConsoleExporter(
|
||||
builder,
|
||||
sp.GetRequiredService<IOptionsSnapshot<ConsoleExporterOptions>>().Get(name),
|
||||
sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name));
|
||||
sp.GetRequiredService<IOptionsMonitor<ConsoleExporterOptions>>().Get(name),
|
||||
sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -111,8 +111,8 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var exporterOptions = sp.GetRequiredService<IOptionsSnapshot<ConsoleExporterOptions>>().Get(name);
|
||||
var metricReaderOptions = sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name);
|
||||
var exporterOptions = sp.GetRequiredService<IOptionsMonitor<ConsoleExporterOptions>>().Get(name);
|
||||
var metricReaderOptions = sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name);
|
||||
|
||||
configureExporterAndMetricReader?.Invoke(exporterOptions, metricReaderOptions);
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name);
|
||||
|
||||
AddInMemoryExporter(builder, exportedItems, options);
|
||||
});
|
||||
|
|
@ -157,7 +157,7 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name);
|
||||
|
||||
AddInMemoryExporter(builder, exportedItems, options);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ namespace OpenTelemetry.Trace
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<JaegerExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<JaegerExporterOptions>>().Get(name);
|
||||
|
||||
AddJaegerExporter(builder, options, sp);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ namespace OpenTelemetry.Logs
|
|||
|
||||
return loggerOptions.ConfigureProvider((sp, provider) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<OtlpExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<OtlpExporterOptions>>().Get(name);
|
||||
|
||||
AddOtlpExporter(provider, options, sp);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ namespace OpenTelemetry.Metrics
|
|||
{
|
||||
AddOtlpExporter(
|
||||
builder,
|
||||
sp.GetRequiredService<IOptionsSnapshot<OtlpExporterOptions>>().Get(name),
|
||||
sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name),
|
||||
sp.GetRequiredService<IOptionsMonitor<OtlpExporterOptions>>().Get(name),
|
||||
sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name),
|
||||
sp);
|
||||
});
|
||||
}
|
||||
|
|
@ -108,8 +108,8 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var exporterOptions = sp.GetRequiredService<IOptionsSnapshot<OtlpExporterOptions>>().Get(name);
|
||||
var metricReaderOptions = sp.GetRequiredService<IOptionsSnapshot<MetricReaderOptions>>().Get(name);
|
||||
var exporterOptions = sp.GetRequiredService<IOptionsMonitor<OtlpExporterOptions>>().Get(name);
|
||||
var metricReaderOptions = sp.GetRequiredService<IOptionsMonitor<MetricReaderOptions>>().Get(name);
|
||||
|
||||
configureExporterAndMetricReader?.Invoke(exporterOptions, metricReaderOptions);
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ namespace OpenTelemetry.Trace
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<OtlpExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<OtlpExporterOptions>>().Get(name);
|
||||
|
||||
AddOtlpExporter(builder, options, sp);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<PrometheusExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<PrometheusExporterOptions>>().Get(name);
|
||||
|
||||
AddPrometheusExporter(builder, options);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<PrometheusHttpListenerOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<PrometheusHttpListenerOptions>>().Get(name);
|
||||
|
||||
AddPrometheusHttpListener(builder, options);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ namespace OpenTelemetry.Trace
|
|||
|
||||
return builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptionsSnapshot<ZipkinExporterOptions>>().Get(name);
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<ZipkinExporterOptions>>().Get(name);
|
||||
|
||||
AddZipkinExporter(builder, options, sp);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -368,7 +368,12 @@ namespace OpenTelemetry.Logs
|
|||
|
||||
this.services = null;
|
||||
|
||||
var serviceProvider = services.BuildServiceProvider();
|
||||
#if DEBUG
|
||||
bool validateScopes = true;
|
||||
#else
|
||||
bool validateScopes = false;
|
||||
#endif
|
||||
var serviceProvider = services.BuildServiceProvider(validateScopes);
|
||||
|
||||
var finalOptions = serviceProvider.GetRequiredService<IOptionsMonitor<OpenTelemetryLoggerOptions>>().CurrentValue;
|
||||
|
||||
|
|
@ -425,7 +430,7 @@ namespace OpenTelemetry.Logs
|
|||
case ExportProcessorType.Simple:
|
||||
return new SimpleLogRecordExportProcessor(exporter);
|
||||
case ExportProcessorType.Batch:
|
||||
var options = serviceProvider.GetRequiredService<IOptionsSnapshot<ExportLogRecordProcessorOptions>>().Get(name);
|
||||
var options = serviceProvider.GetRequiredService<IOptionsMonitor<ExportLogRecordProcessorOptions>>().Get(name);
|
||||
|
||||
options.ExportProcessorType = ExportProcessorType.Batch;
|
||||
|
||||
|
|
|
|||
|
|
@ -257,7 +257,12 @@ namespace OpenTelemetry.Metrics
|
|||
|
||||
this.services = null;
|
||||
|
||||
var serviceProvider = services.BuildServiceProvider();
|
||||
#if DEBUG
|
||||
bool validateScopes = true;
|
||||
#else
|
||||
bool validateScopes = false;
|
||||
#endif
|
||||
var serviceProvider = services.BuildServiceProvider(validateScopes);
|
||||
|
||||
return new MeterProviderSdk(serviceProvider, ownsServiceProvider: true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -259,7 +259,12 @@ namespace OpenTelemetry.Trace
|
|||
|
||||
this.services = null;
|
||||
|
||||
var serviceProvider = services.BuildServiceProvider();
|
||||
#if DEBUG
|
||||
bool validateScopes = true;
|
||||
#else
|
||||
bool validateScopes = false;
|
||||
#endif
|
||||
var serviceProvider = services.BuildServiceProvider(validateScopes);
|
||||
|
||||
return new TracerProviderSdk(serviceProvider, ownsServiceProvider: true);
|
||||
}
|
||||
|
|
@ -278,7 +283,7 @@ namespace OpenTelemetry.Trace
|
|||
case ExportProcessorType.Simple:
|
||||
return new SimpleActivityExportProcessor(exporter);
|
||||
case ExportProcessorType.Batch:
|
||||
var options = serviceProvider.GetRequiredService<IOptionsSnapshot<ExportActivityProcessorOptions>>().Get(name);
|
||||
var options = serviceProvider.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get(name);
|
||||
|
||||
options.ExportProcessorType = ExportProcessorType.Batch;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue