From 139a2fb3cb00c4e352f139ccd4d82da163022b27 Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Fri, 1 Dec 2023 13:44:17 +0000 Subject: [PATCH] Exclude AzureFunctionsConsumption too --- .../Configuration/TracerSettings.cs | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs b/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs index 714d217359eb..f655fd4539e3 100644 --- a/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs +++ b/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs @@ -88,6 +88,14 @@ internal TracerSettings(IConfigurationSource? source, IConfigurationTelemetry te LambdaMetadata = LambdaMetadata.Create(); + IsRunningInAzureAppService = ImmutableAzureAppServiceSettings.GetIsAzureAppService(source, telemetry); + IsRunningInAzureFunctionsConsumptionPlan = ImmutableAzureAppServiceSettings.GetIsFunctionsAppConsumptionPlan(source, telemetry); + + if (IsRunningInAzureAppService) + { + AzureAppServiceMetadata = new ImmutableAzureAppServiceSettings(source, _telemetry); + } + EnvironmentInternal = config .WithKeys(ConfigurationKeys.Environment) .AsString(); @@ -116,6 +124,11 @@ internal TracerSettings(IConfigurationSource? source, IConfigurationTelemetry te .WithKeys(ConfigurationKeys.TraceEnabled) .AsBool(defaultValue: true); + if (IsRunningInAzureAppService && AzureAppServiceMetadata.IsUnsafeToTrace) + { + TraceEnabledInternal = false; + } + var disabledIntegrationNames = config.WithKeys(ConfigurationKeys.DisabledIntegrations) .AsString() ?.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries) ?? @@ -214,7 +227,7 @@ internal TracerSettings(IConfigurationSource? source, IConfigurationTelemetry te // If Lambda/GCP we don't wanat to have a flush interval. The serverless integration // manually calls flush and waits for the result before ending execution. // This can artificially increase the execution time of functions - var defaultTraceBatchInterval = LambdaMetadata.IsRunningInLambda || IsRunningInGCPFunctions ? 0 : 100; + var defaultTraceBatchInterval = LambdaMetadata.IsRunningInLambda || IsRunningInGCPFunctions || IsRunningInAzureFunctionsConsumptionPlan ? 0 : 100; TraceBatchInterval = config .WithKeys(ConfigurationKeys.SerializationBatchInterval) .AsInt32(defaultTraceBatchInterval); @@ -328,19 +341,6 @@ internal TracerSettings(IConfigurationSource? source, IConfigurationTelemetry te .WithKeys(ConfigurationKeys.RareSamplerEnabled) .AsBool(false); - IsRunningInAzureAppService = ImmutableAzureAppServiceSettings.GetIsAzureAppService(source, telemetry); - - IsRunningInAzureFunctionsConsumptionPlan = ImmutableAzureAppServiceSettings.GetIsFunctionsAppConsumptionPlan(source, telemetry); - - if (IsRunningInAzureAppService) - { - AzureAppServiceMetadata = new ImmutableAzureAppServiceSettings(source, _telemetry); - if (AzureAppServiceMetadata.IsUnsafeToTrace) - { - TraceEnabledInternal = false; - } - } - StatsComputationEnabledInternal = config .WithKeys(ConfigurationKeys.StatsComputationEnabled) .AsBool(defaultValue: (IsRunningInGCPFunctions || IsRunningInAzureFunctionsConsumptionPlan));