Console Exporter modified to support IDefferedTracerProviderBuilder based config (#2127)

This commit is contained in:
Cijo Thomas 2021-07-12 09:33:11 -07:00 committed by GitHub
parent a5b42fbe17
commit dd8cee1e67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 1 deletions

View File

@ -9,6 +9,9 @@ please check the latest changes
## Unreleased
* Supports OpenTelemetry.Extensions.Hosting based configuration for
of `ConsoleExporterOptions`.
## 1.1.0-rc1
Released 2021-Jun-25

View File

@ -35,7 +35,19 @@ namespace OpenTelemetry.Trace
throw new ArgumentNullException(nameof(builder));
}
var options = new ConsoleExporterOptions();
if (builder is IDeferredTracerProviderBuilder deferredTracerProviderBuilder)
{
return deferredTracerProviderBuilder.Configure((sp, builder) =>
{
AddConsoleExporter(builder, sp.GetOptions<ConsoleExporterOptions>(), configure);
});
}
return AddConsoleExporter(builder, new ConsoleExporterOptions(), configure);
}
private static TracerProviderBuilder AddConsoleExporter(TracerProviderBuilder builder, ConsoleExporterOptions options, Action<ConsoleExporterOptions> configure = null)
{
configure?.Invoke(options);
return builder.AddProcessor(new SimpleActivityExportProcessor(new ConsoleActivityExporter(options)));
}

View File

@ -15,4 +15,8 @@
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry\OpenTelemetry.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="$(RepoRoot)\src\OpenTelemetry\Internal\ServiceProviderExtensions.cs" Link="Includes\ServiceProviderExtensions.cs" />
</ItemGroup>
</Project>