diff --git a/src/Elastic.OpenTelemetry/Core/AutoInstrumentationPlugin.cs b/src/Elastic.OpenTelemetry/Core/AutoInstrumentationPlugin.cs index 6f892a10..23749ec1 100644 --- a/src/Elastic.OpenTelemetry/Core/AutoInstrumentationPlugin.cs +++ b/src/Elastic.OpenTelemetry/Core/AutoInstrumentationPlugin.cs @@ -95,7 +95,7 @@ public MeterProviderBuilder BeforeConfigureMeterProvider(MeterProviderBuilder bu public void ConfigureLogsOptions(OpenTelemetryLoggerOptions options) { if (_bootstrapInfo.Succeeded && _components is not null) - options.UseElasticDefaults(_components.Logger); + options.WithElasticDefaults(_components.Logger); } /// diff --git a/src/Elastic.OpenTelemetry/Core/BuilderState.cs b/src/Elastic.OpenTelemetry/Core/BuilderState.cs index 5f043844..f637beb5 100644 --- a/src/Elastic.OpenTelemetry/Core/BuilderState.cs +++ b/src/Elastic.OpenTelemetry/Core/BuilderState.cs @@ -22,8 +22,8 @@ internal sealed class BuilderState( public Guid InstanceIdentifier { get; } = instanceIdentifier ?? Guid.NewGuid(); - public void IncrementUseElasticDefaults() => + public void IncrementWithElasticDefaults() => Interlocked.Increment(ref _useElasticDefaultsCounter); - public int UseElasticDefaultsCounter => _useElasticDefaultsCounter; + public int WithElasticDefaultsCounter => _useElasticDefaultsCounter; } diff --git a/src/Elastic.OpenTelemetry/Core/GlobalProviderBuilderState.cs b/src/Elastic.OpenTelemetry/Core/GlobalProviderBuilderState.cs index 57520eed..8a10299d 100644 --- a/src/Elastic.OpenTelemetry/Core/GlobalProviderBuilderState.cs +++ b/src/Elastic.OpenTelemetry/Core/GlobalProviderBuilderState.cs @@ -6,7 +6,7 @@ namespace Elastic.OpenTelemetry.Core; /// /// Each XyzProviderBuilder (e.g. TracerProviderBuilder) uses a shared instance -/// of this to track the number of calls made to their `UseElasticDefaults` methods. +/// of this to track the number of calls made to their `WithElasticDefaults` methods. /// Generally, we expect only a single call. While we don't prohibit multiple calls, /// by tracking the actual number, we can ensure we log this to enhance diagnostics /// and support later on. @@ -15,8 +15,8 @@ internal sealed class GlobalProviderBuilderState { private int _useElasticDefaultsCounter; - public int IncrementUseElasticDefaults() => + public int IncrementWithElasticDefaults() => Interlocked.Increment(ref _useElasticDefaultsCounter); - public int UseElasticDefaultsCounter => _useElasticDefaultsCounter; + public int WithElasticDefaultsCounter => _useElasticDefaultsCounter; } diff --git a/src/Elastic.OpenTelemetry/Core/SignalBuilder.cs b/src/Elastic.OpenTelemetry/Core/SignalBuilder.cs index e689e58d..aad8e60a 100644 --- a/src/Elastic.OpenTelemetry/Core/SignalBuilder.cs +++ b/src/Elastic.OpenTelemetry/Core/SignalBuilder.cs @@ -56,7 +56,7 @@ public static bool ConfigureBuilder( Action configure, [NotNullWhen(true)] ref ElasticOpenTelemetryComponents? components) where T : class { - var callCount = globalProviderBuilderState.IncrementUseElasticDefaults(); + var callCount = globalProviderBuilderState.IncrementWithElasticDefaults(); // If we are provided with options and components, we can avoid attempting to bootstrap again. // This scenario occurs if for example `AddElasticOpenTelemetry` is called multipled times @@ -91,17 +91,17 @@ public static bool ConfigureBuilder( // This allows us to track the number of times a specific instance of a builder is configured. // We expect each builder to be configured at most once and log a warning if multiple invocations // are detected. - state.IncrementUseElasticDefaults(); + state.IncrementWithElasticDefaults(); - if (state.UseElasticDefaultsCounter > 1) - components.Logger.LogWarning("The `{MethodName}` method has been called {UseElasticDefaultsCount} " + + if (state.WithElasticDefaultsCounter > 1) + components.Logger.LogWarning("The `{MethodName}` method has been called {WithElasticDefaultsCount} " + "times on the same `{BuilderType}` (instance: {BuilderInstanceId}). This method is " + "expected to be invoked a maximum of one time.", methodName, - state.UseElasticDefaultsCounter, builderName, state.InstanceIdentifier); + state.WithElasticDefaultsCounter, builderName, state.InstanceIdentifier); if (existingStateFound && state.BootstrapInfo.Succeeded) { - // If `UseElasticDefaults` is invoked more than once on the same builder instance, + // If `WithElasticDefaults` is invoked more than once on the same builder instance, // we reuse the same components and skip the configure action. components.Logger.LogTrace("Existing components have been found for the current {Builder} " + @@ -156,7 +156,7 @@ static void ValidateGlobalCallCount(string methodName, string builderName, Compo if (callCount > 1) { var logger = components is not null ? components.Logger : options?.AdditionalLogger; - logger?.LogWarning("The `{MethodName}` method has been called {UseElasticDefaultsCount} " + + logger?.LogWarning("The `{MethodName}` method has been called {WithElasticDefaultsCount} " + "times across all {Builder} instances. This method is generally expected to be invoked " + "once. Consider reviewing the usage at the callsite(s).", methodName, callCount, builderName); diff --git a/src/Elastic.OpenTelemetry/Extensions/LoggingProviderBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/LoggingProviderBuilderExtensions.cs index 0fb2ad5d..47469fc7 100644 --- a/src/Elastic.OpenTelemetry/Extensions/LoggingProviderBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/LoggingProviderBuilderExtensions.cs @@ -24,7 +24,7 @@ namespace OpenTelemetry.Logs; public static class LoggingProviderBuilderExtensions { /// - /// Used to track the number of times any overload of `UseElasticDefaults` is invoked on a + /// Used to track the number of times any overload of `WithElasticDefaults` is invoked on a /// `LoggingProviderBuilder`. Generally, we expect one builder to be used per application, /// and for it to be configured once. By tracking the total count of invocations, we can /// log scenarios where the consumer may have inadvertently misconfigured OpenTelemetry in @@ -37,25 +37,25 @@ public static class LoggingProviderBuilderExtensions /// /// The to configure. /// The for chaining configuration. - public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder) => - UseElasticDefaultsCore(builder, null, null); + public static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder) => + WithElasticDefaultsCore(builder, null, null); /// - /// + /// /// - /// + /// /// When registering Elastic defaults, skip automatic registration of the OTLP exporter for logging. - /// - public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder, bool skipOtlpExporter) => - UseElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : CompositeElasticOpenTelemetryOptions.DefaultOptions, null); + /// + public static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder, bool skipOtlpExporter) => + WithElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : CompositeElasticOpenTelemetryOptions.DefaultOptions, null); /// - /// + /// /// - /// + /// /// used to configure the Elastic Distribution of OpenTelemetry (EDOT) for .NET. - /// - public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryOptions options) + /// + public static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryOptions options) { #if NET ArgumentNullException.ThrowIfNull(options); @@ -64,16 +64,16 @@ public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilde throw new ArgumentNullException(nameof(options)); #endif - return UseElasticDefaultsCore(builder, new(options), null); + return WithElasticDefaultsCore(builder, new(options), null); } /// - /// + /// /// - /// + /// /// An instance from which to load the OpenTelemetry SDK options. - /// - public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder, IConfiguration configuration) + /// + public static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder, IConfiguration configuration) { #if NET ArgumentNullException.ThrowIfNull(configuration); @@ -81,19 +81,19 @@ public static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilde if (configuration is null) throw new ArgumentNullException(nameof(configuration)); #endif - return UseElasticDefaultsCore(builder, new(configuration), null); + return WithElasticDefaultsCore(builder, new(configuration), null); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryComponents components) => - UseElasticDefaultsCore(builder, components.Options, components); + internal static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryComponents components) => + WithElasticDefaultsCore(builder, components.Options, components); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static LoggerProviderBuilder UseElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryComponents components, IServiceCollection? services) => - UseElasticDefaultsCore(builder, components.Options, components, services); + internal static LoggerProviderBuilder WithElasticDefaults(this LoggerProviderBuilder builder, ElasticOpenTelemetryComponents components, IServiceCollection? services) => + WithElasticDefaultsCore(builder, components.Options, components, services); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static LoggerProviderBuilder UseElasticDefaultsCore( + internal static LoggerProviderBuilder WithElasticDefaultsCore( this LoggerProviderBuilder builder, CompositeElasticOpenTelemetryOptions? options, ElasticOpenTelemetryComponents? components, @@ -109,7 +109,7 @@ internal static LoggerProviderBuilder UseElasticDefaultsCore( try { - if (!SignalBuilder.ConfigureBuilder(nameof(UseElasticDefaults), providerBuilderName, builder, + if (!SignalBuilder.ConfigureBuilder(nameof(WithElasticDefaults), providerBuilderName, builder, GlobalLoggerProviderBuilderState, options, services, ConfigureBuilder, ref components)) { logger = components?.Logger ?? options?.AdditionalLogger ?? NullLogger.Instance; // Update the logger we should use from the ref-returned components. diff --git a/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs index be3344f8..5a9ad9a3 100644 --- a/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs @@ -38,26 +38,26 @@ public static class MeterProviderBuilderExtensions /// /// The to configure. /// The for chaining configuration. - public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder builder) => - UseElasticDefaultsCore(builder, null, null); + public static MeterProviderBuilder WithElasticDefaults(this MeterProviderBuilder builder) => + WithElasticDefaultsCore(builder, null, null); /// - /// + /// /// - /// - /// + /// + /// /// When registering Elastic defaults, skip automatic registration of the OTLP exporter for metrics. - /// - public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder builder, bool skipOtlpExporter) => - UseElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : null, null); + /// + public static MeterProviderBuilder WithElasticDefaults(this MeterProviderBuilder builder, bool skipOtlpExporter) => + WithElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : null, null); /// - /// + /// /// - /// + /// /// used to configure the Elastic Distribution of OpenTelemetry (EDOT) for .NET. - /// - public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder builder, ElasticOpenTelemetryOptions options) + /// + public static MeterProviderBuilder WithElasticDefaults(this MeterProviderBuilder builder, ElasticOpenTelemetryOptions options) { #if NET ArgumentNullException.ThrowIfNull(options); @@ -66,17 +66,17 @@ public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder throw new ArgumentNullException(nameof(options)); #endif - return UseElasticDefaultsCore(builder, new(options), null); + return WithElasticDefaultsCore(builder, new(options), null); } /// - /// + /// /// - /// + /// /// An instance from which to load the Elastic Distribution of /// OpenTelemetry (EDOT) options. - /// - public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder builder, IConfiguration configuration) + /// + public static MeterProviderBuilder WithElasticDefaults(this MeterProviderBuilder builder, IConfiguration configuration) { #if NET ArgumentNullException.ThrowIfNull(configuration); @@ -84,38 +84,38 @@ public static MeterProviderBuilder UseElasticDefaults(this MeterProviderBuilder if (configuration is null) throw new ArgumentNullException(nameof(configuration)); #endif - return UseElasticDefaultsCore(builder, new(configuration), null); + return WithElasticDefaultsCore(builder, new(configuration), null); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static MeterProviderBuilder UseElasticDefaults( + internal static MeterProviderBuilder WithElasticDefaults( this MeterProviderBuilder builder, ElasticOpenTelemetryComponents components) => - UseElasticDefaultsCore(builder, components.Options, components, null); + WithElasticDefaultsCore(builder, components.Options, components, null); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static MeterProviderBuilder UseElasticDefaults( + internal static MeterProviderBuilder WithElasticDefaults( this MeterProviderBuilder builder, ElasticOpenTelemetryComponents components, IServiceCollection serviceCollection) => - UseElasticDefaultsCore(builder, components.Options, components, serviceCollection); + WithElasticDefaultsCore(builder, components.Options, components, serviceCollection); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static MeterProviderBuilder UseElasticDefaults( + internal static MeterProviderBuilder WithElasticDefaults( this MeterProviderBuilder builder, IConfiguration configuration, IServiceCollection serviceCollection) => - UseElasticDefaultsCore(builder, new(configuration), null, serviceCollection); + WithElasticDefaultsCore(builder, new(configuration), null, serviceCollection); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static MeterProviderBuilder UseElasticDefaults( + internal static MeterProviderBuilder WithElasticDefaults( this MeterProviderBuilder builder, IServiceCollection serviceCollection) => - UseElasticDefaultsCore(builder, null, null, serviceCollection); + WithElasticDefaultsCore(builder, null, null, serviceCollection); [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026", Justification = "The calls to `AddSqlClientInstrumentation` and `AssemblyScanning.AddInstrumentationViaReflection` " + "are guarded by a RuntimeFeature.IsDynamicCodeSupported` check and therefore this method is safe to call in AoT scenarios.")] - internal static MeterProviderBuilder UseElasticDefaultsCore( + internal static MeterProviderBuilder WithElasticDefaultsCore( this MeterProviderBuilder builder, CompositeElasticOpenTelemetryOptions? options, ElasticOpenTelemetryComponents? components, @@ -131,7 +131,7 @@ internal static MeterProviderBuilder UseElasticDefaultsCore( try { - if (!SignalBuilder.ConfigureBuilder(nameof(UseElasticDefaults), providerBuilderName, builder, + if (!SignalBuilder.ConfigureBuilder(nameof(WithElasticDefaults), providerBuilderName, builder, GlobalMeterProviderBuilderState, options, services, ConfigureBuilder, ref components)) { logger = components?.Logger ?? options?.AdditionalLogger ?? NullLogger.Instance; // Update the logger we should use from the ref-returned components. diff --git a/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryBuilderExtensions.cs index 2b13b2b7..e2ed58ef 100644 --- a/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryBuilderExtensions.cs @@ -115,11 +115,11 @@ internal static IOpenTelemetryBuilder WithElasticDefaultsCore( return builderState; }); - builderState.IncrementUseElasticDefaults(); + builderState.IncrementWithElasticDefaults(); var callCount = Interlocked.Increment(ref WithElasticDefaultsCallCounter); - if (builderState.UseElasticDefaultsCounter > 1) + if (builderState.WithElasticDefaultsCounter > 1) { // TODO - Log warning - https://github.com/elastic/elastic-otel-dotnet/issues/216 } @@ -148,7 +148,7 @@ internal static IOpenTelemetryBuilder WithElasticDefaultsCore( if (options.Signals.HasFlagFast(Signals.Traces)) { - builder.WithTracing(b => b.UseElasticDefaults(components, builder.Services)); + builder.WithTracing(b => b.WithElasticDefaults(components, builder.Services)); } else { @@ -157,7 +157,7 @@ internal static IOpenTelemetryBuilder WithElasticDefaultsCore( if (options.Signals.HasFlagFast(Signals.Metrics)) { - builder.WithMetrics(b => b.UseElasticDefaults(components, builder.Services)); + builder.WithMetrics(b => b.WithElasticDefaults(components, builder.Services)); } else { @@ -166,7 +166,7 @@ internal static IOpenTelemetryBuilder WithElasticDefaultsCore( if (options.Signals.HasFlagFast(Signals.Logs)) { - builder.WithLogging(b => b.UseElasticDefaults(components, builder.Services)); + builder.WithLogging(b => b.WithElasticDefaults(components, builder.Services)); } else { @@ -194,7 +194,7 @@ internal static IOpenTelemetryBuilder WithElasticDefaultsCore( /// The supplied for chaining /// calls. public static IOpenTelemetryBuilder WithElasticLogging(this IOpenTelemetryBuilder builder) => - builder.WithLogging(lpb => lpb.UseElasticDefaults()); + builder.WithLogging(lpb => lpb.WithElasticDefaults()); /// /// @@ -214,7 +214,7 @@ public static IOpenTelemetryBuilder WithElasticLogging(this IOpenTelemetryBuilde return builder.WithLogging(lpb => { - lpb.UseElasticDefaults(); + lpb.WithElasticDefaults(); configure?.Invoke(lpb); }); } @@ -237,7 +237,7 @@ public static IOpenTelemetryBuilder WithElasticLogging(this IOpenTelemetryBuilde /// The supplied for chaining /// calls. public static IOpenTelemetryBuilder WithElasticMetrics(this IOpenTelemetryBuilder builder) => - builder.WithMetrics(mpb => mpb.UseElasticDefaults()); + builder.WithMetrics(mpb => mpb.WithElasticDefaults()); /// /// @@ -256,7 +256,7 @@ public static IOpenTelemetryBuilder WithElasticMetrics(this IOpenTelemetryBuilde throw new ArgumentNullException(nameof(configuration)); #endif - return builder.WithMetrics(mpb => mpb.UseElasticDefaults(configuration, builder.Services)); + return builder.WithMetrics(mpb => mpb.WithElasticDefaults(configuration, builder.Services)); } /// @@ -277,7 +277,7 @@ public static IOpenTelemetryBuilder WithElasticMetrics(this IOpenTelemetryBuilde return builder.WithMetrics(mpb => { - mpb.UseElasticDefaults(builder.Services); + mpb.WithElasticDefaults(builder.Services); configure?.Invoke(mpb); }); } @@ -310,7 +310,7 @@ public static IOpenTelemetryBuilder WithElasticMetrics(this IOpenTelemetryBuilde return builder.WithMetrics(mpb => { - mpb.UseElasticDefaults(configuration, builder.Services); + mpb.WithElasticDefaults(configuration, builder.Services); configure?.Invoke(mpb); }); } @@ -326,7 +326,7 @@ public static IOpenTelemetryBuilder WithElasticMetrics(this IOpenTelemetryBuilde /// /// The supplied for chaining calls. public static IOpenTelemetryBuilder WithElasticTracing(this IOpenTelemetryBuilder builder) => - builder.WithTracing(m => m.UseElasticDefaults()); + builder.WithTracing(m => m.WithElasticDefaults()); /// /// @@ -345,7 +345,7 @@ public static IOpenTelemetryBuilder WithElasticTracing(this IOpenTelemetryBuilde throw new ArgumentNullException(nameof(configuration)); #endif - return builder.WithTracing(tpb => tpb.UseElasticDefaults(configuration, builder.Services)); + return builder.WithTracing(tpb => tpb.WithElasticDefaults(configuration, builder.Services)); } /// @@ -366,7 +366,7 @@ public static IOpenTelemetryBuilder WithElasticTracing(this IOpenTelemetryBuilde return builder.WithTracing(tpb => { - tpb.UseElasticDefaults(); + tpb.WithElasticDefaults(); configure?.Invoke(tpb); }); } @@ -399,7 +399,7 @@ public static IOpenTelemetryBuilder WithElasticTracing(this IOpenTelemetryBuilde return builder.WithTracing(tpb => { - tpb.UseElasticDefaults(configuration, builder.Services); + tpb.WithElasticDefaults(configuration, builder.Services); configure?.Invoke(tpb); }); } diff --git a/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryLoggerOptionsExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryLoggerOptionsExtensions.cs index ffa6de06..7ef8619f 100644 --- a/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryLoggerOptionsExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/OpenTelemetryLoggerOptionsExtensions.cs @@ -21,7 +21,7 @@ public static class OpenTelemetryLoggerOptionsExtensions /// /// Ensures Elastic Distribution of OpenTelemetry (EDOT) options are set for /// - public static void UseElasticDefaults(this OpenTelemetryLoggerOptions options, ILogger? logger = null) + public static void WithElasticDefaults(this OpenTelemetryLoggerOptions options, ILogger? logger = null) { logger ??= NullLogger.Instance; options.IncludeFormattedMessage = true; diff --git a/src/Elastic.OpenTelemetry/Extensions/ResourceBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/ResourceBuilderExtensions.cs index 4bc63b23..14daeedb 100644 --- a/src/Elastic.OpenTelemetry/Extensions/ResourceBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/ResourceBuilderExtensions.cs @@ -42,7 +42,7 @@ public static class ResourceBuilderExtensions /// A that will be configured with Elastic defaults. /// Optionally provide a logger to log to /// The for chaining calls. - public static ResourceBuilder UseElasticDefaults(this ResourceBuilder builder, ILogger? logger = null) + public static ResourceBuilder WithElasticDefaults(this ResourceBuilder builder, ILogger? logger = null) { // ReSharper disable once RedundantAssignment #pragma warning disable IDE0059 // Unnecessary assignment of a value diff --git a/src/Elastic.OpenTelemetry/Extensions/TracerProviderBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/TracerProviderBuilderExtensions.cs index c49e77a5..0141cf55 100644 --- a/src/Elastic.OpenTelemetry/Extensions/TracerProviderBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/TracerProviderBuilderExtensions.cs @@ -39,7 +39,7 @@ public static class TracerProviderBuilderExtensions /// The to configure. /// Thrown when the is null. /// The for chaining configuration. - public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder) + public static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder) { #if NET ArgumentNullException.ThrowIfNull(builder); @@ -48,17 +48,17 @@ public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilde throw new ArgumentNullException(nameof(builder)); #endif - return UseElasticDefaultsCore(builder, null, null); + return WithElasticDefaultsCore(builder, null, null); } /// - /// + /// /// - /// + /// /// When registering Elastic defaults, skip automatic registration of the OTLP exporter for traces. /// Thrown when the is null. - /// - public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder, bool skipOtlpExporter) + /// + public static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder, bool skipOtlpExporter) { #if NET ArgumentNullException.ThrowIfNull(builder); @@ -67,18 +67,18 @@ public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilde throw new ArgumentNullException(nameof(builder)); #endif - return UseElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : null, null); + return WithElasticDefaultsCore(builder, skipOtlpExporter ? CompositeElasticOpenTelemetryOptions.SkipOtlpOptions : null, null); } /// - /// + /// /// - /// + /// /// used to configure the Elastic Distribution of OpenTelemetry (EDOT) for .NET. /// Thrown when the is null. /// Thrown when the is null. - /// - public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryOptions options) + /// + public static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryOptions options) { #if NET ArgumentNullException.ThrowIfNull(builder); @@ -91,18 +91,18 @@ public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilde throw new ArgumentNullException(nameof(options)); #endif - return UseElasticDefaultsCore(builder, new(options), null); + return WithElasticDefaultsCore(builder, new(options), null); } /// - /// + /// /// - /// + /// /// An instance from which to load the OpenTelemetry SDK options. /// Thrown when the is null. /// Thrown when the is null. - /// - public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder, IConfiguration configuration) + /// + public static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder, IConfiguration configuration) { #if NET ArgumentNullException.ThrowIfNull(builder); @@ -114,25 +114,25 @@ public static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilde if (configuration is null) throw new ArgumentNullException(nameof(configuration)); #endif - return UseElasticDefaultsCore(builder, new(configuration)); + return WithElasticDefaultsCore(builder, new(configuration)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryComponents components) => - UseElasticDefaultsCore(builder, components.Options, components); + internal static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryComponents components) => + WithElasticDefaultsCore(builder, components.Options, components); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static TracerProviderBuilder UseElasticDefaults( + internal static TracerProviderBuilder WithElasticDefaults( this TracerProviderBuilder builder, IConfiguration configuration, IServiceCollection serviceCollection) => - UseElasticDefaultsCore(builder, new(configuration), null, serviceCollection); + WithElasticDefaultsCore(builder, new(configuration), null, serviceCollection); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static TracerProviderBuilder UseElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryComponents components, IServiceCollection? services) => - UseElasticDefaultsCore(builder, components.Options, components, services); + internal static TracerProviderBuilder WithElasticDefaults(this TracerProviderBuilder builder, ElasticOpenTelemetryComponents components, IServiceCollection? services) => + WithElasticDefaultsCore(builder, components.Options, components, services); - private static TracerProviderBuilder UseElasticDefaultsCore( + private static TracerProviderBuilder WithElasticDefaultsCore( TracerProviderBuilder builder, CompositeElasticOpenTelemetryOptions? options, ElasticOpenTelemetryComponents? components = null, @@ -148,7 +148,7 @@ private static TracerProviderBuilder UseElasticDefaultsCore( try { - if (!SignalBuilder.ConfigureBuilder(nameof(UseElasticDefaults), providerBuilderName, builder, + if (!SignalBuilder.ConfigureBuilder(nameof(WithElasticDefaults), providerBuilderName, builder, GlobalTracerProviderBuilderState, options, services, ConfigureBuilder, ref components)) { logger = SignalBuilder.GetLogger(components, options); // Update the logger we should use from the ref-returned components. @@ -265,7 +265,7 @@ internal static TracerProviderBuilder UseAutoInstrumentationElasticDefaults(this /// Include Elastic trace processors for best compatibility with Elastic Observability. /// /// - /// It is not neccessary to call this method if `UseElasticDefaults` has already been called. + /// It is not neccessary to call this method if `WithElasticDefaults` has already been called. /// /// The where the Elastic trace /// processors should be added. @@ -291,7 +291,7 @@ private static TracerProviderBuilder AddElasticProcessorsCore( try { - if (!SignalBuilder.ConfigureBuilder(nameof(UseElasticDefaults), nameof(TracerProviderBuilder), builder, + if (!SignalBuilder.ConfigureBuilder(nameof(WithElasticDefaults), nameof(TracerProviderBuilder), builder, GlobalTracerProviderBuilderState, options, null, ConfigureBuilder, ref components)) { var logger = components?.Logger ?? options?.AdditionalLogger; diff --git a/tests/Elastic.OpenTelemetry.Tests/LoggingTests.cs b/tests/Elastic.OpenTelemetry.Tests/LoggingTests.cs index 144cb0c0..c46df50f 100644 --- a/tests/Elastic.OpenTelemetry.Tests/LoggingTests.cs +++ b/tests/Elastic.OpenTelemetry.Tests/LoggingTests.cs @@ -38,7 +38,7 @@ public void LoggingIsEnabled_WhenConfiguredViaTracerProviderBuilder() var options = new ElasticOpenTelemetryOptions { AdditionalLogger = logger, SkipOtlpExporter = true }; using var tracerProvider = Sdk.CreateTracerProviderBuilder() - .UseElasticDefaults(options) + .WithElasticDefaults(options) .ConfigureResource(rb => rb.AddService("Test", "1.0.0")) .AddInMemoryExporter([]) .Build(); @@ -53,7 +53,7 @@ public void LoggingIsEnabled_WhenConfiguredViaMeterProviderBuilder() var options = new ElasticOpenTelemetryOptions { AdditionalLogger = logger, SkipOtlpExporter = true }; using var tracerProvider = Sdk.CreateMeterProviderBuilder() - .UseElasticDefaults(options) + .WithElasticDefaults(options) .ConfigureResource(rb => rb.AddService("Test", "1.0.0")) .AddInMemoryExporter(new List()) .Build(); @@ -68,7 +68,7 @@ public void LoggingPreamble_IsSkipped_WhenReusingSharedComponents() var options = new ElasticOpenTelemetryOptions { AdditionalLogger = logger, SkipOtlpExporter = true }; using var tracerProvider = Sdk.CreateTracerProviderBuilder() - .UseElasticDefaults(options) + .WithElasticDefaults(options) .ConfigureResource(rb => rb.AddService("Test", "1.0.0")) .AddInMemoryExporter([]) .Build(); @@ -76,7 +76,7 @@ public void LoggingPreamble_IsSkipped_WhenReusingSharedComponents() Assert.Single(logger.Messages, m => EdotPreamble().IsMatch(m)); using var meterProvider = Sdk.CreateMeterProviderBuilder() - .UseElasticDefaults(options) + .WithElasticDefaults(options) .ConfigureResource(rb => rb.AddService("Test", "1.0.0")) .AddInMemoryExporter(new List()) .Build();