Removed AddExporter API for 1.4 release. (#3908)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
This commit is contained in:
parent
459e2d7fad
commit
bf95a54901
|
|
@ -241,19 +241,6 @@ var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
|||
.Build();
|
||||
```
|
||||
|
||||
To make exporter registration easier an `AddExporter` extension is also provided
|
||||
(as of 1.4.0). The snippet below shows how to add an export processor using
|
||||
`AddExporter` to the provider before it is built.
|
||||
|
||||
```csharp
|
||||
using OpenTelemetry;
|
||||
using OpenTelemetry.Trace;
|
||||
|
||||
var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||
.AddExporter<MyExporter>(ExportProcessorType.Batch)
|
||||
.Build();
|
||||
```
|
||||
|
||||
It is also common for exporters to provide their own extensions to simplify
|
||||
registration. The snippet below shows how to add the
|
||||
[JaegerExporter](../../../src/OpenTelemetry.Exporter.Jaeger/README.md) to the
|
||||
|
|
@ -372,25 +359,25 @@ injection](https://learn.microsoft.com/dotnet/core/extensions/dependency-injecti
|
|||
|
||||
### Dependency injection examples
|
||||
|
||||
For the below examples imagine an exporter with this constructor:
|
||||
For the below examples imagine a processor with this constructor:
|
||||
|
||||
```csharp
|
||||
public class MyCustomExporter : BaseExporter<Activity>
|
||||
public class MyCustomProcessor : BaseProcessor<Activity>
|
||||
{
|
||||
public MyCustomExporter(MyCustomService myCustomService)
|
||||
public MyCustomProcessor(MyCustomService myCustomService)
|
||||
{
|
||||
// Implementation not important
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
We want to inject `MyCustomService` dependency into our `MyCustomExporter`
|
||||
We want to inject `MyCustomService` dependency into our `MyCustomProcessor`
|
||||
instance.
|
||||
|
||||
#### Using Sdk.CreateTracerProviderBuilder()
|
||||
|
||||
To register `MyCustomExporter` and `MyCustomService` we can use the
|
||||
`ConfigureServices` and `AddExporter` methods:
|
||||
To register `MyCustomProcessor` and `MyCustomService` we can use the
|
||||
`ConfigureServices` and `AddProcessor` methods:
|
||||
|
||||
```csharp
|
||||
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||
|
|
@ -398,7 +385,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
|||
{
|
||||
services.AddSingleton<MyCustomService>();
|
||||
})
|
||||
.AddExporter<MyCustomExporter>(ExportProcessorType.Batch)
|
||||
.AddProcessor<MyCustomProcessor>()
|
||||
.Build();
|
||||
```
|
||||
|
||||
|
|
@ -425,7 +412,7 @@ var appBuilder = WebApplication.CreateBuilder(args);
|
|||
appBuilder.Services.AddSingleton<MyCustomService>();
|
||||
|
||||
appBuilder.Services.AddOpenTelemetryTracing(builder => builder
|
||||
.AddExporter<MyCustomExporter>(ExportProcessorType.Batch));
|
||||
.AddProcessor<MyCustomProcessor>();
|
||||
```
|
||||
|
||||
When using the `AddOpenTelemetryTracing` method the `TracerProvider` does not
|
||||
|
|
@ -444,9 +431,6 @@ shutdown.
|
|||
|
||||
### Dependency injection `TracerProviderBuilder` extension method reference
|
||||
|
||||
* `AddExporter<T>`: Adds an export processor for the type `T` (must derive from
|
||||
`BaseExporter<Activity>`) into the `TracerProvider`.
|
||||
|
||||
* `AddInstrumentation<T>`: Adds instrumentation of type `T` into the
|
||||
`TracerProvider`.
|
||||
|
||||
|
|
|
|||
|
|
@ -442,9 +442,7 @@ namespace OpenTelemetry.Trace
|
|||
if (configureBatchProcessorOptions != null)
|
||||
{
|
||||
// Support configuration through Options API.
|
||||
services.Configure<ExportActivityProcessorOptions>(
|
||||
name,
|
||||
o => configureBatchProcessorOptions(o.BatchExportProcessorOptions));
|
||||
services.Configure(name, configureBatchProcessorOptions);
|
||||
}
|
||||
|
||||
// Register custom service as a singleton.
|
||||
|
|
@ -454,17 +452,22 @@ namespace OpenTelemetry.Trace
|
|||
builder.ConfigureBuilder((sp, builder) =>
|
||||
{
|
||||
// Retrieve MyExporterOptions instance using name.
|
||||
var options = sp.GetRequiredService<IOptionsMonitor<MyExporterOptions>>().Get(name);
|
||||
var exporterOptions = serviceProvider.GetRequiredService<IOptionsMonitor<MyExporterOptions>>().Get(name);
|
||||
|
||||
// Retrieve BatchExportActivityProcessorOptions instance using name.
|
||||
var batchOptions = serviceProvider.GetRequiredService<IOptionsMonitor<BatchExportActivityProcessorOptions>>().Get(name);
|
||||
|
||||
// Retrieve MyCustomService singleton.
|
||||
var myCustomService = sp.GetRequiredService<MyCustomService>();
|
||||
|
||||
// Registers MyCustomExporter with a batch processor.
|
||||
builder.AddExporter(
|
||||
ExportProcessorType.Batch,
|
||||
new MyCustomExporter(options, myCustomService),
|
||||
name,
|
||||
configure: null);
|
||||
builder.AddProcessor(
|
||||
new BatchActivityExportProcessor(
|
||||
new MyCustomExporter(exporterOptions, myCustomService),
|
||||
batchOptions.MaxQueueSize,
|
||||
batchOptions.ScheduledDelayMilliseconds,
|
||||
batchOptions.ExporterTimeoutMilliseconds,
|
||||
batchOptions.MaxExportBatchSize));
|
||||
});
|
||||
|
||||
// Return builder for call chaining.
|
||||
|
|
|
|||
|
|
@ -22,24 +22,12 @@ static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddInstrumentation<T
|
|||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddReader<T>(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureServices(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
OpenTelemetry.Trace.SamplingResult.TraceStateString.get -> string?
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, string! traceStateString) -> void
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, object!>>? attributes, string? traceStateString) -> void
|
||||
*REMOVED*static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.get -> OpenTelemetry.Trace.BatchExportActivityProcessorOptions!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.set -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportActivityProcessorOptions() -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.set -> void
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddInstrumentation<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddProcessor<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
|
|
|
|||
|
|
@ -22,24 +22,12 @@ static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddInstrumentation<T
|
|||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddReader<T>(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureServices(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
OpenTelemetry.Trace.SamplingResult.TraceStateString.get -> string?
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, string! traceStateString) -> void
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, object!>>? attributes, string? traceStateString) -> void
|
||||
*REMOVED*static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.get -> OpenTelemetry.Trace.BatchExportActivityProcessorOptions!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.set -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportActivityProcessorOptions() -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.set -> void
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddInstrumentation<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddProcessor<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
|
|
|
|||
|
|
@ -22,24 +22,12 @@ static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddInstrumentation<T
|
|||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddReader<T>(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureServices(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
OpenTelemetry.Trace.SamplingResult.TraceStateString.get -> string?
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, string! traceStateString) -> void
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, object!>>? attributes, string? traceStateString) -> void
|
||||
*REMOVED*static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.get -> OpenTelemetry.Trace.BatchExportActivityProcessorOptions!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.set -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportActivityProcessorOptions() -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.set -> void
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddInstrumentation<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddProcessor<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
|
|
|
|||
|
|
@ -22,24 +22,12 @@ static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddInstrumentation<T
|
|||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.AddReader<T>(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Metrics.MeterProviderBuilderExtensions.ConfigureServices(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder, System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, string? name, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
OpenTelemetry.Trace.SamplingResult.TraceStateString.get -> string?
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, string! traceStateString) -> void
|
||||
OpenTelemetry.Trace.SamplingResult.SamplingResult(OpenTelemetry.Trace.SamplingDecision decision, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, object!>>? attributes, string? traceStateString) -> void
|
||||
*REMOVED*static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.get -> OpenTelemetry.Trace.BatchExportActivityProcessorOptions!
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.BatchExportProcessorOptions.set -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportActivityProcessorOptions() -> void
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
|
||||
OpenTelemetry.Trace.ExportActivityProcessorOptions.ExportProcessorType.set -> void
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder! builder, System.Action<OpenTelemetry.Logs.OpenTelemetryLoggerOptions!>? configure) -> Microsoft.Extensions.Logging.ILoggingBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, OpenTelemetry.BaseExporter<System.Diagnostics.Activity!>! exporter, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddExporter<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, OpenTelemetry.ExportProcessorType exportProcessorType, System.Action<OpenTelemetry.Trace.ExportActivityProcessorOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddInstrumentation<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddProcessor<T>(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.ConfigureBuilder(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ internal static class ProviderBuilderServiceCollectionExtensions
|
|||
services.AddOpenTelemetryProviderBuilderServices();
|
||||
|
||||
services.TryAddSingleton<TracerProviderBuilderState>();
|
||||
services.RegisterOptionsFactory(configuration => new ExportActivityProcessorOptions(configuration));
|
||||
services.RegisterOptionsFactory(configuration => new BatchExportActivityProcessorOptions(configuration));
|
||||
|
||||
return services;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ using System;
|
|||
using System.Diagnostics;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Options;
|
||||
using OpenTelemetry.Internal;
|
||||
using OpenTelemetry.Resources;
|
||||
|
||||
|
|
@ -123,49 +122,6 @@ namespace OpenTelemetry.Trace
|
|||
return this;
|
||||
}
|
||||
|
||||
internal TracerProviderBuilder AddExporter<T>(ExportProcessorType exportProcessorType, string? name, Action<ExportActivityProcessorOptions>? configure)
|
||||
where T : BaseExporter<Activity>
|
||||
{
|
||||
name ??= Options.DefaultName;
|
||||
|
||||
this.TryAddSingleton<T>();
|
||||
|
||||
if (configure != null)
|
||||
{
|
||||
this.ConfigureServices(services =>
|
||||
{
|
||||
services.Configure(name, configure);
|
||||
});
|
||||
}
|
||||
|
||||
this.ConfigureState((sp, state)
|
||||
=> state.AddProcessor(
|
||||
BuildExportProcessor(exportProcessorType, sp.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get(name), sp.GetRequiredService<T>())));
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
internal TracerProviderBuilder AddExporter(ExportProcessorType exportProcessorType, BaseExporter<Activity> exporter, string? name, Action<ExportActivityProcessorOptions>? configure)
|
||||
{
|
||||
Guard.ThrowIfNull(exporter);
|
||||
|
||||
name ??= Options.DefaultName;
|
||||
|
||||
if (configure != null)
|
||||
{
|
||||
this.ConfigureServices(services =>
|
||||
{
|
||||
services.Configure(name, configure);
|
||||
});
|
||||
}
|
||||
|
||||
this.ConfigureState((sp, state)
|
||||
=> state.AddProcessor(
|
||||
BuildExportProcessor(exportProcessorType, sp.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get(name), exporter)));
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
internal TracerProviderBuilder AddInstrumentation<T>()
|
||||
where T : class
|
||||
{
|
||||
|
|
@ -298,29 +254,6 @@ namespace OpenTelemetry.Trace
|
|||
return new TracerProviderSdk(serviceProvider, ownsServiceProvider: true);
|
||||
}
|
||||
|
||||
private static BaseProcessor<Activity> BuildExportProcessor(
|
||||
ExportProcessorType exportProcessorType,
|
||||
ExportActivityProcessorOptions processorOptions,
|
||||
BaseExporter<Activity> exporter)
|
||||
{
|
||||
switch (exportProcessorType)
|
||||
{
|
||||
case ExportProcessorType.Simple:
|
||||
return new SimpleActivityExportProcessor(exporter);
|
||||
case ExportProcessorType.Batch:
|
||||
var batchOptions = processorOptions.BatchExportProcessorOptions;
|
||||
|
||||
return new BatchActivityExportProcessor(
|
||||
exporter,
|
||||
batchOptions.MaxQueueSize,
|
||||
batchOptions.ScheduledDelayMilliseconds,
|
||||
batchOptions.ExporterTimeoutMilliseconds,
|
||||
batchOptions.MaxExportBatchSize);
|
||||
default:
|
||||
throw new NotSupportedException($"ExportProcessorType '{exportProcessorType}' is not supported.");
|
||||
}
|
||||
}
|
||||
|
||||
private TracerProviderBuilder AddInstrumentation<T>(Func<IServiceProvider, T> instrumentationFactory)
|
||||
where T : class
|
||||
{
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OpenTelemetry.Internal;
|
||||
using OpenTelemetry.Resources;
|
||||
|
||||
namespace OpenTelemetry.Trace
|
||||
|
|
@ -156,128 +155,6 @@ namespace OpenTelemetry.Trace
|
|||
return tracerProviderBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider.
|
||||
/// </summary>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <param name="exporter">Activity exporter to add.</param>
|
||||
/// <returns>Returns <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType,
|
||||
BaseExporter<Activity> exporter)
|
||||
=> AddExporter(tracerProviderBuilder, exportProcessorType, exporter, name: null, configure: null);
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider.
|
||||
/// </summary>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <param name="exporter">Activity exporter to add.</param>
|
||||
/// <param name="configure">Callback action to configure <see
|
||||
/// cref="ExportActivityProcessorOptions"/>.</param>
|
||||
/// <returns>Returns <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType,
|
||||
BaseExporter<Activity> exporter,
|
||||
Action<ExportActivityProcessorOptions> configure)
|
||||
{
|
||||
Guard.ThrowIfNull(configure);
|
||||
|
||||
return AddExporter(tracerProviderBuilder, exportProcessorType, exporter, name: null, configure);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider.
|
||||
/// </summary>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <param name="exporter">Activity exporter to add.</param>
|
||||
/// <param name="name">Optional name which is used when retrieving options.</param>
|
||||
/// <param name="configure">Optional callback action to configure <see
|
||||
/// cref="ExportActivityProcessorOptions"/>.</param>
|
||||
/// <returns>Returns <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType,
|
||||
BaseExporter<Activity> exporter,
|
||||
string? name,
|
||||
Action<ExportActivityProcessorOptions>? configure)
|
||||
{
|
||||
if (tracerProviderBuilder is TracerProviderBuilderBase tracerProviderBuilderBase)
|
||||
{
|
||||
tracerProviderBuilderBase.AddExporter(exportProcessorType, exporter, name, configure);
|
||||
}
|
||||
|
||||
return tracerProviderBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider which will be retrieved using dependency injection.
|
||||
/// </summary>
|
||||
/// <remarks><inheritdoc cref="AddExporter{T}(TracerProviderBuilder, ExportProcessorType, string?, Action{ExportActivityProcessorOptions}?)" path="/remarks"/></remarks>
|
||||
/// <typeparam name="T">Exporter type.</typeparam>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <returns>The supplied <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter<T>(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType)
|
||||
where T : BaseExporter<Activity>
|
||||
=> AddExporter<T>(tracerProviderBuilder, exportProcessorType, name: null, configure: null);
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider which will be retrieved using dependency injection.
|
||||
/// </summary>
|
||||
/// <remarks><inheritdoc cref="AddExporter{T}(TracerProviderBuilder, ExportProcessorType, string?, Action{ExportActivityProcessorOptions}?)" path="/remarks"/></remarks>
|
||||
/// <typeparam name="T">Exporter type.</typeparam>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <param name="configure">Callback action to configure <see
|
||||
/// cref="ExportActivityProcessorOptions"/>.</param>
|
||||
/// <returns>The supplied <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter<T>(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType,
|
||||
Action<ExportActivityProcessorOptions> configure)
|
||||
where T : BaseExporter<Activity>
|
||||
{
|
||||
Guard.ThrowIfNull(configure);
|
||||
|
||||
return AddExporter<T>(tracerProviderBuilder, exportProcessorType, name: null, configure);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an exporter to the provider which will be retrieved using dependency injection.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Note: The type specified by <typeparamref name="T"/> will be
|
||||
/// registered as a singleton service into application services.
|
||||
/// </remarks>
|
||||
/// <typeparam name="T">Exporter type.</typeparam>
|
||||
/// <param name="tracerProviderBuilder"><see cref="TracerProviderBuilder"/>.</param>
|
||||
/// <param name="exportProcessorType"><see cref="ExportProcessorType"/>.</param>
|
||||
/// <param name="name">Optional name which is used when retrieving options.</param>
|
||||
/// <param name="configure">Optional callback action to configure <see
|
||||
/// cref="ExportActivityProcessorOptions"/>.</param>
|
||||
/// <returns>The supplied <see cref="TracerProviderBuilder"/> for chaining.</returns>
|
||||
public static TracerProviderBuilder AddExporter<T>(
|
||||
this TracerProviderBuilder tracerProviderBuilder,
|
||||
ExportProcessorType exportProcessorType,
|
||||
string? name,
|
||||
Action<ExportActivityProcessorOptions>? configure)
|
||||
where T : BaseExporter<Activity>
|
||||
{
|
||||
if (tracerProviderBuilder is TracerProviderBuilderBase tracerProviderBuilderBase)
|
||||
{
|
||||
tracerProviderBuilderBase.AddExporter<T>(exportProcessorType, name, configure);
|
||||
}
|
||||
|
||||
return tracerProviderBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds instrumentation to the provider.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
// <copyright file="ExportActivityProcessorOptions.cs" company="OpenTelemetry Authors">
|
||||
// Copyright The OpenTelemetry Authors
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
// </copyright>
|
||||
|
||||
#nullable enable
|
||||
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using OpenTelemetry.Internal;
|
||||
|
||||
namespace OpenTelemetry.Trace;
|
||||
|
||||
/// <summary>
|
||||
/// Options for configuring either a <see cref="SimpleActivityExportProcessor"/> or <see cref="BatchActivityExportProcessor"/>.
|
||||
/// </summary>
|
||||
public class ExportActivityProcessorOptions
|
||||
{
|
||||
private BatchExportActivityProcessorOptions batchExportProcessorOptions;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ExportActivityProcessorOptions"/> class.
|
||||
/// </summary>
|
||||
public ExportActivityProcessorOptions()
|
||||
: this(new ConfigurationBuilder().AddEnvironmentVariables().Build())
|
||||
{
|
||||
}
|
||||
|
||||
internal ExportActivityProcessorOptions(IConfiguration configuration)
|
||||
{
|
||||
this.batchExportProcessorOptions = new BatchExportActivityProcessorOptions(configuration);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the export processor type to be used. The default value is <see cref="ExportProcessorType.Batch"/>.
|
||||
/// </summary>
|
||||
public ExportProcessorType ExportProcessorType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the batch export options. Ignored unless <see cref="ExportProcessorType"/> is <see cref="ExportProcessorType.Batch"/>.
|
||||
/// </summary>
|
||||
public BatchExportActivityProcessorOptions BatchExportProcessorOptions
|
||||
{
|
||||
get => this.batchExportProcessorOptions;
|
||||
set
|
||||
{
|
||||
Guard.ThrowIfNull(value);
|
||||
|
||||
this.batchExportProcessorOptions = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -267,7 +267,7 @@ namespace OpenTelemetry.Exporter.Jaeger.Tests
|
|||
|
||||
var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions());
|
||||
|
||||
tracerProviderBuilder.AddExporter(ExportProcessorType.Batch, jaegerTraceExporter);
|
||||
tracerProviderBuilder.AddProcessor(new BatchActivityExportProcessor(jaegerTraceExporter));
|
||||
|
||||
using var provider = tracerProviderBuilder.Build();
|
||||
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Tests
|
|||
|
||||
var zipkinExporter = new ZipkinExporter(new ZipkinExporterOptions());
|
||||
|
||||
tracerProviderBuilder.AddExporter(ExportProcessorType.Batch, zipkinExporter);
|
||||
tracerProviderBuilder.AddProcessor(new BatchActivityExportProcessor(zipkinExporter));
|
||||
|
||||
using var provider = tracerProviderBuilder.Build();
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ namespace OpenTelemetry.Trace.Tests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void ExportActivityProcessorOptions_UsingIConfiguration()
|
||||
public void BatchExportProcessorOptions_UsingIConfiguration()
|
||||
{
|
||||
var values = new Dictionary<string, string>()
|
||||
{
|
||||
|
|
@ -76,13 +76,6 @@ namespace OpenTelemetry.Trace.Tests
|
|||
.AddInMemoryCollection(values)
|
||||
.Build();
|
||||
|
||||
var parentOptions = new ExportActivityProcessorOptions(configuration);
|
||||
|
||||
Assert.Equal(1, parentOptions.BatchExportProcessorOptions.MaxQueueSize);
|
||||
Assert.Equal(2, parentOptions.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
Assert.Equal(3, parentOptions.BatchExportProcessorOptions.ExporterTimeoutMilliseconds);
|
||||
Assert.Equal(4, parentOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds);
|
||||
|
||||
var options = new BatchExportActivityProcessorOptions(configuration);
|
||||
|
||||
Assert.Equal(1, options.MaxQueueSize);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ using System.Linq;
|
|||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Options;
|
||||
using OpenTelemetry.Resources;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -294,141 +293,6 @@ namespace OpenTelemetry.Trace.Tests
|
|||
Assert.Contains(provider.Resource.Attributes, kvp => kvp.Key == "key2" && (string)kvp.Value == "value2");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddExporterTest()
|
||||
{
|
||||
var builder = Sdk.CreateTracerProviderBuilder();
|
||||
|
||||
builder.AddExporter(ExportProcessorType.Simple, new MyExporter());
|
||||
builder.AddExporter<MyExporter>(ExportProcessorType.Batch);
|
||||
|
||||
using var provider = builder.Build() as TracerProviderSdk;
|
||||
|
||||
Assert.NotNull(provider);
|
||||
|
||||
var processor = provider.Processor as CompositeProcessor<Activity>;
|
||||
|
||||
Assert.NotNull(processor);
|
||||
|
||||
var firstProcessor = processor.Head.Value;
|
||||
var secondProcessor = processor.Head.Next?.Value;
|
||||
|
||||
Assert.True(firstProcessor is SimpleActivityExportProcessor simpleProcessor && simpleProcessor.Exporter is MyExporter);
|
||||
Assert.True(secondProcessor is BatchActivityExportProcessor batchProcessor && batchProcessor.Exporter is MyExporter);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddExporterWithOptionsTest()
|
||||
{
|
||||
int allOptionsInvocations = 0;
|
||||
int exporter1Invocations = 0;
|
||||
int exporter2Invocations = 0;
|
||||
|
||||
var builder = Sdk.CreateTracerProviderBuilder();
|
||||
|
||||
builder.ConfigureServices(services =>
|
||||
{
|
||||
services.ConfigureAll<ExportActivityProcessorOptions>(options =>
|
||||
{
|
||||
// Note: This fires for exporter1 & exporter2.
|
||||
|
||||
allOptionsInvocations++;
|
||||
|
||||
options.BatchExportProcessorOptions.MaxExportBatchSize = 18;
|
||||
});
|
||||
});
|
||||
|
||||
builder.AddExporter(
|
||||
ExportProcessorType.Simple,
|
||||
new MyExporter(),
|
||||
"exporter1",
|
||||
options =>
|
||||
{
|
||||
exporter1Invocations++;
|
||||
|
||||
Assert.Equal(18, options.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
|
||||
// Note: This will be ignored. Type can't be changed from what is passed to AddExporter.
|
||||
options.ExportProcessorType = ExportProcessorType.Batch;
|
||||
|
||||
options.BatchExportProcessorOptions.MaxExportBatchSize = 19;
|
||||
});
|
||||
builder.AddExporter<MyExporter>(
|
||||
ExportProcessorType.Batch,
|
||||
"exporter2",
|
||||
options =>
|
||||
{
|
||||
exporter2Invocations++;
|
||||
|
||||
Assert.Equal(18, options.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
|
||||
// Note: This will be ignored. Type can't be changed from what is passed to AddExporter.
|
||||
options.ExportProcessorType = ExportProcessorType.Simple;
|
||||
|
||||
options.BatchExportProcessorOptions.MaxExportBatchSize = 100;
|
||||
});
|
||||
|
||||
using var provider = builder.Build() as TracerProviderSdk;
|
||||
|
||||
Assert.NotNull(provider);
|
||||
|
||||
var unknownOptions = provider.ServiceProvider.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get("unknownExporter");
|
||||
|
||||
Assert.Equal(18, unknownOptions.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
|
||||
var exporter1Options = provider.ServiceProvider.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get("exporter1");
|
||||
|
||||
Assert.Equal(19, exporter1Options.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
|
||||
var exporter2Options = provider.ServiceProvider.GetRequiredService<IOptionsMonitor<ExportActivityProcessorOptions>>().Get("exporter2");
|
||||
|
||||
Assert.Equal(100, exporter2Options.BatchExportProcessorOptions.MaxExportBatchSize);
|
||||
|
||||
Assert.Equal(3, allOptionsInvocations);
|
||||
Assert.Equal(1, exporter1Invocations);
|
||||
Assert.Equal(1, exporter2Invocations);
|
||||
|
||||
var processor = provider.Processor as CompositeProcessor<Activity>;
|
||||
|
||||
Assert.NotNull(processor);
|
||||
|
||||
var firstProcessor = processor.Head.Value;
|
||||
var secondProcessor = processor.Head.Next?.Value;
|
||||
|
||||
Assert.True(firstProcessor is SimpleActivityExportProcessor simpleProcessor && simpleProcessor.Exporter is MyExporter);
|
||||
Assert.True(secondProcessor is BatchActivityExportProcessor batchProcessor
|
||||
&& batchProcessor.Exporter is MyExporter
|
||||
&& batchProcessor.MaxExportBatchSize == 100);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddExporterNamedOptionsTest()
|
||||
{
|
||||
var builder = Sdk.CreateTracerProviderBuilder();
|
||||
|
||||
int defaultOptionsConfigureInvocations = 0;
|
||||
int namedOptionsConfigureInvocations = 0;
|
||||
|
||||
builder.ConfigureServices(services =>
|
||||
{
|
||||
services.Configure<ExportActivityProcessorOptions>(o => defaultOptionsConfigureInvocations++);
|
||||
|
||||
services.Configure<ExportActivityProcessorOptions>("Exporter2", o => namedOptionsConfigureInvocations++);
|
||||
});
|
||||
|
||||
builder.AddExporter(ExportProcessorType.Batch, new MyExporter());
|
||||
builder.AddExporter(ExportProcessorType.Batch, new MyExporter(), name: "Exporter2", configure: null);
|
||||
builder.AddExporter<MyExporter>(ExportProcessorType.Batch);
|
||||
builder.AddExporter<MyExporter>(ExportProcessorType.Batch, name: "Exporter2", configure: null);
|
||||
|
||||
using var provider = builder.Build() as TracerProviderSdk;
|
||||
|
||||
Assert.NotNull(provider);
|
||||
|
||||
Assert.Equal(1, defaultOptionsConfigureInvocations);
|
||||
Assert.Equal(1, namedOptionsConfigureInvocations);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConfigureBuilderIConfigurationAvailableTest()
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue