Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Support skipOtlp option in the autoinstrumentation plugin
  • Loading branch information
stevejgordon committed Nov 21, 2024
commit 527bf02aead5890e5cd9442c8092c8a8738a8264
13 changes: 9 additions & 4 deletions src/Elastic.OpenTelemetry/AutoInstrumentationPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public class AutoInstrumentationPlugin
private readonly ILogger _logger;
private readonly EventListener _eventListener;

private readonly bool _skipOtlp;

/// <inheritdoc cref="AutoInstrumentationPlugin"/>
public AutoInstrumentationPlugin()
{
Expand All @@ -31,6 +33,11 @@ public AutoInstrumentationPlugin()

_logger = logger;
_eventListener = eventListener;

var skipOtlpString = Environment.GetEnvironmentVariable("ELASTIC_OTEL_SKIP_OTLP_EXPORTER");

if (skipOtlpString is not null && bool.TryParse(skipOtlpString, out var skipOtlp))
_skipOtlp = skipOtlp;
}

/// To access TracerProvider right after TracerProviderBuilder.Build() is executed.
Expand All @@ -45,22 +52,20 @@ public void MeterProviderInitialized(MeterProvider meterProvider)

/// To configure tracing SDK before Auto Instrumentation configured SDK
public TracerProviderBuilder BeforeConfigureTracerProvider(TracerProviderBuilder builder) =>
builder.UseElasticDefaults(_logger);

builder.UseElasticDefaults(_skipOtlp, _logger);

/// To configure tracing SDK after Auto Instrumentation configured SDK
public TracerProviderBuilder AfterConfigureTracerProvider(TracerProviderBuilder builder) =>
builder;

/// To configure metrics SDK before Auto Instrumentation configured SDK
public MeterProviderBuilder BeforeConfigureMeterProvider(MeterProviderBuilder builder) =>
builder.UseElasticDefaults(_logger);
builder.UseElasticDefaults(_skipOtlp, _logger);

/// To configure metrics SDK after Auto Instrumentation configured SDK
public MeterProviderBuilder AfterConfigureMeterProvider(MeterProviderBuilder builder) =>
builder;


/// To configure logs SDK (the method name is the same as for other logs options)
public void ConfigureLogsOptions(OpenTelemetryLoggerOptions options) =>
options.UseElasticDefaults(_logger);
Expand Down