diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs index fcfd1e38ed4a..a34c9bfd512b 100644 --- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs index b91aebc832be..7b20fa050a1d 100644 --- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs @@ -77,7 +77,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), @@ -498,7 +498,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs index 2a54bea2390a..e94fcb451a68 100644 --- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs index fcfd1e38ed4a..a34c9bfd512b 100644 --- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs index b91aebc832be..7b20fa050a1d 100644 --- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs @@ -77,7 +77,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), @@ -498,7 +498,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs index 2a54bea2390a..e94fcb451a68 100644 --- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs index fcfd1e38ed4a..a34c9bfd512b 100644 --- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs index b91aebc832be..7b20fa050a1d 100644 --- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs @@ -77,7 +77,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), @@ -498,7 +498,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs index 2a54bea2390a..e94fcb451a68 100644 --- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs index fcfd1e38ed4a..a34c9bfd512b 100644 --- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/CiVisibilityMetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs index b91aebc832be..7b20fa050a1d 100644 --- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_Count.g.cs @@ -77,7 +77,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), @@ -498,7 +498,7 @@ private static AggregatedMetric[] GetCountBuffer() new(new[] { "integration_name:process" }), new(new[] { "integration_name:hashalgorithm" }), new(new[] { "integration_name:symmetricalgorithm" }), - new(new[] { "integration_name:opentelemetry" }), + new(new[] { "integration_name:otel" }), new(new[] { "integration_name:pathtraversal" }), new(new[] { "integration_name:ssrf" }), new(new[] { "integration_name:ldap" }), diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs index 2a54bea2390a..e94fcb451a68 100644 --- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/TelemetryMetricGenerator/MetricsTelemetryCollector_CountShared.g.cs @@ -176,9 +176,9 @@ private static AggregatedMetric[] GetCountSharedBuffer() new(new[] { "integration_name:symmetricalgorithm", "error_type:duck_typing" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:invoker" }), new(new[] { "integration_name:symmetricalgorithm", "error_type:execution" }), - new(new[] { "integration_name:opentelemetry", "error_type:duck_typing" }), - new(new[] { "integration_name:opentelemetry", "error_type:invoker" }), - new(new[] { "integration_name:opentelemetry", "error_type:execution" }), + new(new[] { "integration_name:otel", "error_type:duck_typing" }), + new(new[] { "integration_name:otel", "error_type:invoker" }), + new(new[] { "integration_name:otel", "error_type:execution" }), new(new[] { "integration_name:pathtraversal", "error_type:duck_typing" }), new(new[] { "integration_name:pathtraversal", "error_type:invoker" }), new(new[] { "integration_name:pathtraversal", "error_type:execution" }), diff --git a/tracer/src/Datadog.Trace/Telemetry/Metrics/MetricTags.cs b/tracer/src/Datadog.Trace/Telemetry/Metrics/MetricTags.cs index 0139c2b254ee..d488ed078893 100644 --- a/tracer/src/Datadog.Trace/Telemetry/Metrics/MetricTags.cs +++ b/tracer/src/Datadog.Trace/Telemetry/Metrics/MetricTags.cs @@ -239,7 +239,7 @@ internal enum IntegrationName [Description("integration_name:process")]Process, [Description("integration_name:hashalgorithm")]HashAlgorithm, [Description("integration_name:symmetricalgorithm")]SymmetricAlgorithm, - [Description("integration_name:opentelemetry")]OpenTelemetry, + [Description("integration_name:otel")]OpenTelemetry, // Note: The naming of this tag value breaks the convention of using the integration name to use a standardized value [Description("integration_name:pathtraversal")]PathTraversal, [Description("integration_name:ssrf")]Ssrf, [Description("integration_name:ldap")]Ldap, diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs index 5b99a56e1a60..11bdaf6fd4d7 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs @@ -185,18 +185,25 @@ _ when data.TryGetPayload(TelemetryRequestTypes.Generate } } + var integrationName = integrationId.ToString(); + var integrationNameTagValue = integrationName switch + { + "OpenTelemetry" => "otel", + _ => integrationName.ToLowerInvariant(), + }; + if (enabled) { spansCreatedByIntegration.Should().NotBeEmpty(); - var spansCreated = spansCreatedByIntegration.Should().ContainKey($"integration_name:{integrationId.ToString().ToLower()}").WhoseValue; + var spansCreated = spansCreatedByIntegration.Should().ContainKey($"integration_name:{integrationNameTagValue}").WhoseValue; spansCreated.Points.Should().NotBeEmpty(); spansCreated.Points.Sum(p => p.Value).Should().BeGreaterThanOrEqualTo(1); } latestIntegrations.Should().NotBeEmpty(); - var integration = latestIntegrations.Should().ContainKey(integrationId.ToString()).WhoseValue; + var integration = latestIntegrations.Should().ContainKey(integrationName).WhoseValue; integration.Enabled.Should().Be(enabled, $"{integration.Name} should only be enabled if we generate a span"); if (autoEnabled.HasValue)