Renamed extension methods from AddOpenTelemetry to AddOpenTelemetryTracerProvider (#1138)
* Renamed extension methods from AddOpenTelemetry to AddOpenTelemetryTracerProvider * ununsed removal * remove unnecessary test * build fix
This commit is contained in:
parent
6676fc4eae
commit
6377d6bd87
|
|
@ -57,7 +57,7 @@ namespace Examples.AspNetCore
|
|||
switch (exporter)
|
||||
{
|
||||
case "jaeger":
|
||||
services.AddOpenTelemetry((builder) => builder
|
||||
services.AddOpenTelemetryTracerProvider((builder) => builder
|
||||
.AddAspNetCoreInstrumentation()
|
||||
.AddHttpClientInstrumentation()
|
||||
.AddJaegerExporter(jaegerOptions =>
|
||||
|
|
@ -68,7 +68,7 @@ namespace Examples.AspNetCore
|
|||
}));
|
||||
break;
|
||||
case "zipkin":
|
||||
services.AddOpenTelemetry((builder) => builder
|
||||
services.AddOpenTelemetryTracerProvider((builder) => builder
|
||||
.AddAspNetCoreInstrumentation()
|
||||
.AddHttpClientInstrumentation()
|
||||
.AddZipkinExporter(zipkinOptions =>
|
||||
|
|
@ -78,7 +78,7 @@ namespace Examples.AspNetCore
|
|||
}));
|
||||
break;
|
||||
default:
|
||||
services.AddOpenTelemetry((builder) => builder
|
||||
services.AddOpenTelemetryTracerProvider((builder) => builder
|
||||
.AddAspNetCoreInstrumentation()
|
||||
.AddHttpClientInstrumentation()
|
||||
.AddConsoleExporter());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ namespace WebApi
|
|||
|
||||
services.AddSingleton<MessageSender>();
|
||||
|
||||
services.AddOpenTelemetry((builder) => builder
|
||||
services.AddOpenTelemetryTracerProvider((builder) => builder
|
||||
.AddAspNetCoreInstrumentation()
|
||||
.AddSource(nameof(MessageSender))
|
||||
.AddZipkinExporter(b =>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace WorkerService
|
|||
|
||||
services.AddSingleton<MessageReceiver>();
|
||||
|
||||
services.AddOpenTelemetry((builder) =>
|
||||
services.AddOpenTelemetryTracerProvider((builder) =>
|
||||
{
|
||||
builder
|
||||
.AddSource(nameof(MessageReceiver))
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
## Unreleased
|
||||
|
||||
* Renamed all extension methods from AddOpenTelemetry to AddOpenTelemetryTracerProvider
|
||||
|
||||
## 0.4.0-beta.2
|
||||
|
||||
Released 2020-07-24
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace OpenTelemetry.Extensions.Hosting.Implementation
|
|||
// The sole purpose of this HostedService is to ensure
|
||||
// all instrumentations are created and started.
|
||||
// This method is invoked when host starts, and
|
||||
// by requesting the OpenTelemetrySdk from DI
|
||||
// by requesting the TracerProvider from DI
|
||||
// it ensures all instrumentations gets started.
|
||||
this.serviceProvider.GetRequiredService<TracerProvider>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,40 +29,50 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
public static class OpenTelemetryServicesExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Adds OpenTelemetry services to the specified <see cref="IServiceCollection" />.
|
||||
/// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
|
||||
public static IServiceCollection AddOpenTelemetryTracerProvider(this IServiceCollection services)
|
||||
{
|
||||
services.AddOpenTelemetry(builder => { });
|
||||
services.AddOpenTelemetryTracerProvider(builder => { });
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds OpenTelemetry services to the specified <see cref="IServiceCollection" />.
|
||||
/// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||
/// <param name="configure">The <see cref="TracerProviderBuilder"/> configuration delegate.</param>
|
||||
/// <param name="configure">The <see cref="TracerProviderBuilder"/> action to configure TracerProviderBuilder.</param>
|
||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services, Action<TracerProviderBuilder> configure)
|
||||
public static IServiceCollection AddOpenTelemetryTracerProvider(this IServiceCollection services, Action<TracerProviderBuilder> configure)
|
||||
{
|
||||
if (configure is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(configure));
|
||||
}
|
||||
|
||||
var builder = Sdk.CreateTracerProviderBuilder();
|
||||
configure(builder);
|
||||
services.AddOpenTelemetry(() => builder.Build());
|
||||
services.AddOpenTelemetryTracerProvider(() => builder.Build());
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds OpenTelemetry services to the specified <see cref="IServiceCollection" />.
|
||||
/// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||
/// <param name="configure">The <see cref="TracerProviderBuilder"/> configuration delegate.</param>
|
||||
/// <param name="configure">The <see cref="TracerProviderBuilder"/> action to configure TracerProviderBuilder.</param>
|
||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services, Action<IServiceProvider, TracerProviderBuilder> configure)
|
||||
public static IServiceCollection AddOpenTelemetryTracerProvider(this IServiceCollection services, Action<IServiceProvider, TracerProviderBuilder> configure)
|
||||
{
|
||||
if (configure is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(configure));
|
||||
}
|
||||
|
||||
var builder = Sdk.CreateTracerProviderBuilder();
|
||||
services.AddOpenTelemetry((sp) =>
|
||||
services.AddOpenTelemetryTracerProvider((sp) =>
|
||||
{
|
||||
configure(sp, builder);
|
||||
return builder.Build();
|
||||
|
|
@ -71,26 +81,26 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds OpenTelemetry services to the specified <see cref="IServiceCollection" />.
|
||||
/// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||
/// <param name="createSdk">A delegate that provides the factory to be registered.</param>
|
||||
/// <param name="createTracerProvider">A delegate that provides the tracer provider to be registered.</param>
|
||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services, Func<TracerProvider> createSdk)
|
||||
public static IServiceCollection AddOpenTelemetryTracerProvider(this IServiceCollection services, Func<TracerProvider> createTracerProvider)
|
||||
{
|
||||
if (services is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(services));
|
||||
}
|
||||
|
||||
if (createSdk is null)
|
||||
if (createTracerProvider is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(createSdk));
|
||||
throw new ArgumentNullException(nameof(createTracerProvider));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
services.AddSingleton(s => createSdk());
|
||||
services.AddSingleton(s => createTracerProvider());
|
||||
AddOpenTelemetryInternal(services);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -102,26 +112,26 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds OpenTelemetry services to the specified <see cref="IServiceCollection" />.
|
||||
/// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||
/// <param name="createSdk">A delegate that provides the factory to be registered.</param>
|
||||
/// <param name="createTracerProvider">A delegate that provides the tracer provider to be registered.</param>
|
||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services, Func<IServiceProvider, TracerProvider> createSdk)
|
||||
public static IServiceCollection AddOpenTelemetryTracerProvider(this IServiceCollection services, Func<IServiceProvider, TracerProvider> createTracerProvider)
|
||||
{
|
||||
if (services is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(services));
|
||||
}
|
||||
|
||||
if (createSdk is null)
|
||||
if (createTracerProvider is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(createSdk));
|
||||
throw new ArgumentNullException(nameof(createTracerProvider));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
services.AddSingleton(s => createSdk(s));
|
||||
services.AddSingleton(s => createTracerProvider(s));
|
||||
AddOpenTelemetryInternal(services);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -26,17 +26,18 @@ namespace OpenTelemetry.Extensions.Hosting
|
|||
public class HostingExtensionsTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task AddOpenTelemetryInstrumentationCreationAndDisposal()
|
||||
public async Task AddOpenTelemetryTracerProviderInstrumentationCreationAndDisposal()
|
||||
{
|
||||
var testInstrumentation = new TestInstrumentation();
|
||||
var callbackRun = false;
|
||||
|
||||
var builder = new HostBuilder().ConfigureServices(services =>
|
||||
{
|
||||
services.AddOpenTelemetry(builder =>
|
||||
services.AddOpenTelemetryTracerProvider(builder =>
|
||||
{
|
||||
builder.AddInstrumentation((activitySource) =>
|
||||
{
|
||||
Assert.NotNull(activitySource);
|
||||
callbackRun = true;
|
||||
return testInstrumentation;
|
||||
});
|
||||
|
|
@ -65,29 +66,29 @@ namespace OpenTelemetry.Extensions.Hosting
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void AddOpenTelemetry_HostBuilt_OpenTelemetrySdk_RegisteredAsSingleton()
|
||||
public void AddOpenTelemetryTracerProvider_HostBuilt_OpenTelemetrySdk_RegisteredAsSingleton()
|
||||
{
|
||||
var builder = new HostBuilder().ConfigureServices(services =>
|
||||
{
|
||||
services.AddOpenTelemetry();
|
||||
services.AddOpenTelemetryTracerProvider();
|
||||
});
|
||||
|
||||
var host = builder.Build();
|
||||
|
||||
var tracerFactoryBase1 = host.Services.GetRequiredService<TracerProvider>();
|
||||
var tracerFactoryBase2 = host.Services.GetRequiredService<TracerProvider>();
|
||||
var tracerProvider1 = host.Services.GetRequiredService<TracerProvider>();
|
||||
var tracerProvider2 = host.Services.GetRequiredService<TracerProvider>();
|
||||
|
||||
Assert.Same(tracerFactoryBase1, tracerFactoryBase2);
|
||||
Assert.Same(tracerProvider1, tracerProvider2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddOpenTelemetry_ServiceProviderArgument_ServicesRegistered()
|
||||
public void AddOpenTelemetryTracerProvider_ServiceProviderArgument_ServicesRegistered()
|
||||
{
|
||||
var testInstrumentation = new TestInstrumentation();
|
||||
|
||||
var services = new ServiceCollection();
|
||||
services.AddSingleton(testInstrumentation);
|
||||
services.AddOpenTelemetry((provider, builder) =>
|
||||
services.AddOpenTelemetryTracerProvider((provider, builder) =>
|
||||
{
|
||||
builder.AddInstrumentation((activitySource) => provider.GetRequiredService<TestInstrumentation>());
|
||||
});
|
||||
|
|
@ -105,12 +106,12 @@ namespace OpenTelemetry.Extensions.Hosting
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void AddOpenTelemetry_BadArgs()
|
||||
public void AddOpenTelemetryTracerProvider_BadArgs_NullServiceCollection()
|
||||
{
|
||||
ServiceCollection services = null;
|
||||
Assert.Throws<ArgumentNullException>(() => services.AddOpenTelemetry());
|
||||
Assert.Throws<ArgumentNullException>(() => services.AddOpenTelemetryTracerProvider());
|
||||
Assert.Throws<ArgumentNullException>(() =>
|
||||
services.AddOpenTelemetry((provider, builder) =>
|
||||
services.AddOpenTelemetryTracerProvider((provider, builder) =>
|
||||
{
|
||||
builder.AddInstrumentation((activitySource) => provider.GetRequiredService<TestInstrumentation>());
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ namespace OpenTelemetry.Instrumentation.AspNetCore.Tests
|
|||
builder.ConfigureTestServices((IServiceCollection services) =>
|
||||
{
|
||||
services.AddSingleton<CallbackMiddleware.CallbackMiddlewareImpl>(new TestCallbackMiddlewareImpl(statusCode, reasonPhrase));
|
||||
services.AddOpenTelemetry((builder) => builder.AddAspNetCoreInstrumentation()
|
||||
services.AddOpenTelemetryTracerProvider((builder) => builder.AddAspNetCoreInstrumentation()
|
||||
.AddProcessor(processor.Object));
|
||||
}))
|
||||
.CreateClient())
|
||||
|
|
|
|||
Loading…
Reference in New Issue