diff --git a/examples/Example.MinimalApi/Properties/launchSettings.json b/examples/Example.MinimalApi/Properties/launchSettings.json index dc8153d2..cb647e9d 100644 --- a/examples/Example.MinimalApi/Properties/launchSettings.json +++ b/examples/Example.MinimalApi/Properties/launchSettings.json @@ -28,9 +28,7 @@ "applicationUrl": "https://localhost:7140;http://localhost:5146", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", - "OTEL_RESOURCE_ATTRIBUTES": "service.name=minimal-api-example", - "OTEL_EXPORTER_OTLP_ENDPOINT": "https://opentelemetry-playground-adbd73.apm.eu-west-1.aws.elastic.cloud:443", - "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=ApiKey cVY3d3NKTUJXcWZFRWJwb2xURjA6bmNrZ0JiQ29SRWlEdUM1dzVORGYwZw==" + "OTEL_RESOURCE_ATTRIBUTES": "service.name=minimal-api-example" } }, "IIS Express": { diff --git a/src/Elastic.OpenTelemetry.AutoInstrumentation/AutoInstrumentationPlugin.cs b/src/Elastic.OpenTelemetry.AutoInstrumentation/AutoInstrumentationPlugin.cs index d1cca41d..60108062 100644 --- a/src/Elastic.OpenTelemetry.AutoInstrumentation/AutoInstrumentationPlugin.cs +++ b/src/Elastic.OpenTelemetry.AutoInstrumentation/AutoInstrumentationPlugin.cs @@ -62,7 +62,7 @@ public TracerProviderBuilder BeforeConfigureTracerProvider(TracerProviderBuilder /// /// To configure metrics SDK before Auto Instrumentation configured SDK. - /// /// + /// public MeterProviderBuilder BeforeConfigureMeterProvider(MeterProviderBuilder builder) { var logger = _components.Logger; @@ -71,7 +71,9 @@ public MeterProviderBuilder BeforeConfigureMeterProvider(MeterProviderBuilder bu { builder.ConfigureResource(r => r.WithElasticDefaultsCore(_components, null, null)); - builder.ConfigureServices(sc => sc.Configure(OtlpExporterDefaults.OtlpExporterOptions)); + builder.ConfigureServices(sc => sc + .Configure(OtlpExporterDefaults.OtlpExporterOptions) + .Configure(o => o.TemporalityPreference = MetricReaderTemporalityPreference.Delta)); logger.LogConfiguredSignalProvider(nameof(Signals.Metrics), nameof(MeterProviderBuilder), ""); diff --git a/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs b/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs index 19542627..d7ddf257 100644 --- a/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs +++ b/src/Elastic.OpenTelemetry/Extensions/MeterProviderBuilderExtensions.cs @@ -159,9 +159,13 @@ static void ConfigureBuilder(MeterProviderBuilder builder, BuilderState builderS builder.ConfigureResource(r => r.WithElasticDefaults(builderState, services)); + // When services is not null here, the options will have already been configured by the calling code. if (services is null) builder.ConfigureServices(sc => sc.Configure(OtlpExporterDefaults.OtlpExporterOptions)); + builder.ConfigureServices(sc => sc.Configure(o => + o.TemporalityPreference = MetricReaderTemporalityPreference.Delta)); + #if NET9_0_OR_GREATER // On .NET 9, the contrib HTTP instrumentation is no longer required. If the dependency exists, // it will be registered via the reflection-based assembly scanning.