From 1b2f1f2fbbd81745dc0279fe681d0e2948e9329d Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 23 Jan 2025 16:03:41 +1100 Subject: [PATCH 1/3] leverage more NotNullWhen polyfill via an InternalsVIsibleTo --- .../Implementation/ExperimentalOptions.cs | 4 ++-- .../ZipkinExporterOptions.cs | 2 +- src/OpenTelemetry/AssemblyInfo.cs | 1 + src/OpenTelemetry/Logs/LoggerProviderSdk.cs | 4 ---- .../Resources/OtelEnvResourceDetector.cs | 2 +- .../OtelServiceNameEnvVarDetector.cs | 2 +- .../OpenTelemetryConfigurationExtensions.cs | 20 +++++-------------- .../Logs/LoggerProviderTests.cs | 4 ---- 8 files changed, 11 insertions(+), 28 deletions(-) diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs index 25b345ac96e..86c180ff377 100644 --- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs +++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs @@ -29,7 +29,7 @@ public ExperimentalOptions(IConfiguration configuration) this.EmitLogEventAttributes = emitLogEventAttributes; } - if (configuration.TryGetStringValue(OtlpRetryEnvVar, out var retryPolicy) && retryPolicy != null) + if (configuration.TryGetStringValue(OtlpRetryEnvVar, out var retryPolicy)) { if (retryPolicy.Equals("in_memory", StringComparison.OrdinalIgnoreCase)) { @@ -38,7 +38,7 @@ public ExperimentalOptions(IConfiguration configuration) else if (retryPolicy.Equals("disk", StringComparison.OrdinalIgnoreCase)) { this.EnableDiskRetry = true; - if (configuration.TryGetStringValue(OtlpDiskRetryDirectoryPathEnvVar, out var path) && path != null) + if (configuration.TryGetStringValue(OtlpDiskRetryDirectoryPathEnvVar, out var path)) { this.DiskRetryDirectoryPath = path; } diff --git a/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterOptions.cs b/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterOptions.cs index 1f4bcd14684..161ab174b2f 100644 --- a/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterOptions.cs +++ b/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterOptions.cs @@ -42,7 +42,7 @@ internal ZipkinExporterOptions( if (configuration!.TryGetUriValue(ZipkinExporterEventSource.Log, ZipkinEndpointEnvVar, out var endpoint)) { - this.Endpoint = endpoint!; + this.Endpoint = endpoint; } this.BatchExportProcessorOptions = defaultBatchOptions!; diff --git a/src/OpenTelemetry/AssemblyInfo.cs b/src/OpenTelemetry/AssemblyInfo.cs index 46c323088a6..00d18b323ec 100644 --- a/src/OpenTelemetry/AssemblyInfo.cs +++ b/src/OpenTelemetry/AssemblyInfo.cs @@ -13,6 +13,7 @@ [assembly: InternalsVisibleTo("OpenTelemetry.Extensions.Hosting" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Extensions.Hosting.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Tests" + AssemblyInfo.PublicKey)] +[assembly: InternalsVisibleTo("OpenTelemetry.Api.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Tests.Stress.Metrics" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("Benchmarks" + AssemblyInfo.PublicKey)] diff --git a/src/OpenTelemetry/Logs/LoggerProviderSdk.cs b/src/OpenTelemetry/Logs/LoggerProviderSdk.cs index 4287fcad3a2..e86485a8d46 100644 --- a/src/OpenTelemetry/Logs/LoggerProviderSdk.cs +++ b/src/OpenTelemetry/Logs/LoggerProviderSdk.cs @@ -2,9 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System.Diagnostics; -#if NETSTANDARD2_1_OR_GREATER || NET using System.Diagnostics.CodeAnalysis; -#endif using System.Text; using Microsoft.Extensions.DependencyInjection; using OpenTelemetry.Internal; @@ -201,9 +199,7 @@ public bool ContainsBatchProcessor(BaseProcessor processor) #endif override bool TryCreateLogger( string? name, -#if NETSTANDARD2_1_OR_GREATER || NET [NotNullWhen(true)] -#endif out Logger? logger) { logger = new LoggerSdk(this, name); diff --git a/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs b/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs index 41b5e7f28b1..87c76a9f0c3 100644 --- a/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs +++ b/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs @@ -24,7 +24,7 @@ public Resource Detect() if (this.configuration.TryGetStringValue(EnvVarKey, out string? envResourceAttributeValue)) { - var attributes = ParseResourceAttributes(envResourceAttributeValue!); + var attributes = ParseResourceAttributes(envResourceAttributeValue); resource = new Resource(attributes); } diff --git a/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs b/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs index 0b58f1d55b4..4bee4eadbbb 100644 --- a/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs +++ b/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs @@ -24,7 +24,7 @@ public Resource Detect() { resource = new Resource(new Dictionary { - [ResourceSemanticConventions.AttributeServiceName] = envResourceAttributeValue!, + [ResourceSemanticConventions.AttributeServiceName] = envResourceAttributeValue, }); } diff --git a/src/Shared/Configuration/OpenTelemetryConfigurationExtensions.cs b/src/Shared/Configuration/OpenTelemetryConfigurationExtensions.cs index c713fd166dd..589f960d512 100644 --- a/src/Shared/Configuration/OpenTelemetryConfigurationExtensions.cs +++ b/src/Shared/Configuration/OpenTelemetryConfigurationExtensions.cs @@ -2,9 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System.Diagnostics; -#if !NETFRAMEWORK && !NETSTANDARD2_0 using System.Diagnostics.CodeAnalysis; -#endif using System.Globalization; namespace Microsoft.Extensions.Configuration; @@ -13,17 +11,13 @@ internal static class OpenTelemetryConfigurationExtensions { public delegate bool TryParseFunc( string value, -#if !NETFRAMEWORK && !NETSTANDARD2_0 [NotNullWhen(true)] -#endif out T? parsedValue); public static bool TryGetStringValue( this IConfiguration configuration, string key, -#if !NETFRAMEWORK && !NETSTANDARD2_0 [NotNullWhen(true)] -#endif out string? value) { Debug.Assert(configuration != null, "configuration was null"); @@ -37,9 +31,7 @@ public static bool TryGetUriValue( this IConfiguration configuration, IConfigurationExtensionsLogger logger, string key, -#if !NETFRAMEWORK && !NETSTANDARD2_0 [NotNullWhen(true)] -#endif out Uri? value) { Debug.Assert(logger != null, "logger was null"); @@ -52,7 +44,7 @@ public static bool TryGetUriValue( if (!Uri.TryCreate(stringValue, UriKind.Absolute, out value)) { - logger!.LogInvalidConfigurationValue(key, stringValue!); + logger!.LogInvalidConfigurationValue(key, stringValue); return false; } @@ -75,7 +67,7 @@ public static bool TryGetIntValue( if (!int.TryParse(stringValue, NumberStyles.None, CultureInfo.InvariantCulture, out value)) { - logger!.LogInvalidConfigurationValue(key, stringValue!); + logger!.LogInvalidConfigurationValue(key, stringValue); return false; } @@ -98,7 +90,7 @@ public static bool TryGetBoolValue( if (!bool.TryParse(stringValue, out value)) { - logger!.LogInvalidConfigurationValue(key, stringValue!); + logger!.LogInvalidConfigurationValue(key, stringValue); return false; } @@ -110,9 +102,7 @@ public static bool TryGetValue( IConfigurationExtensionsLogger logger, string key, TryParseFunc tryParseFunc, -#if !NETFRAMEWORK && !NETSTANDARD2_0 [NotNullWhen(true)] -#endif out T? value) { Debug.Assert(logger != null, "logger was null"); @@ -123,9 +113,9 @@ public static bool TryGetValue( return false; } - if (!tryParseFunc(stringValue!, out value)) + if (!tryParseFunc(stringValue, out value)) { - logger!.LogInvalidConfigurationValue(key, stringValue!); + logger!.LogInvalidConfigurationValue(key, stringValue); return false; } diff --git a/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs b/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs index 27078c6307e..24415c12fb4 100644 --- a/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs +++ b/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs @@ -1,9 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#if NETSTANDARD2_1_OR_GREATER || NET using System.Diagnostics.CodeAnalysis; -#endif using Xunit; namespace OpenTelemetry.Logs.Tests; @@ -66,9 +64,7 @@ protected override bool TryCreateLogger( internal override bool TryCreateLogger( #endif string? name, -#if NETSTANDARD2_1_OR_GREATER || NET [NotNullWhen(true)] -#endif out Logger? logger) { logger = new TestLogger(name); From b4a7c0a4a4f48456ddc94b8f87ef83dc3d1474fa Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Fri, 7 Feb 2025 08:35:59 +1100 Subject: [PATCH 2/3] . --- src/OpenTelemetry.Api/AssemblyInfo.cs | 1 - test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Api/AssemblyInfo.cs b/src/OpenTelemetry.Api/AssemblyInfo.cs index b1e95ff67e6..e18689ce3fb 100644 --- a/src/OpenTelemetry.Api/AssemblyInfo.cs +++ b/src/OpenTelemetry.Api/AssemblyInfo.cs @@ -6,7 +6,6 @@ [assembly: InternalsVisibleTo("OpenTelemetry" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Api.ProviderBuilderExtensions" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Api.ProviderBuilderExtensions.Tests" + AssemblyInfo.PublicKey)] -[assembly: InternalsVisibleTo("OpenTelemetry.Api.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.Console" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.InMemory" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.OpenTelemetryProtocol" + AssemblyInfo.PublicKey)] diff --git a/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj b/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj index 2e88e5a9587..71d7890fa44 100644 --- a/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj +++ b/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj @@ -17,6 +17,7 @@ + From 32fe051e0e8ffb846af1e56d43dcdba86fa4355f Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Fri, 7 Feb 2025 08:37:46 +1100 Subject: [PATCH 3/3] . --- src/OpenTelemetry.Api/AssemblyInfo.cs | 1 + src/OpenTelemetry/AssemblyInfo.cs | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Api/AssemblyInfo.cs b/src/OpenTelemetry.Api/AssemblyInfo.cs index e18689ce3fb..b1e95ff67e6 100644 --- a/src/OpenTelemetry.Api/AssemblyInfo.cs +++ b/src/OpenTelemetry.Api/AssemblyInfo.cs @@ -6,6 +6,7 @@ [assembly: InternalsVisibleTo("OpenTelemetry" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Api.ProviderBuilderExtensions" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Api.ProviderBuilderExtensions.Tests" + AssemblyInfo.PublicKey)] +[assembly: InternalsVisibleTo("OpenTelemetry.Api.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.Console" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.InMemory" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Exporter.OpenTelemetryProtocol" + AssemblyInfo.PublicKey)] diff --git a/src/OpenTelemetry/AssemblyInfo.cs b/src/OpenTelemetry/AssemblyInfo.cs index 00d18b323ec..46c323088a6 100644 --- a/src/OpenTelemetry/AssemblyInfo.cs +++ b/src/OpenTelemetry/AssemblyInfo.cs @@ -13,7 +13,6 @@ [assembly: InternalsVisibleTo("OpenTelemetry.Extensions.Hosting" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Extensions.Hosting.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Tests" + AssemblyInfo.PublicKey)] -[assembly: InternalsVisibleTo("OpenTelemetry.Api.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Tests.Stress.Metrics" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("Benchmarks" + AssemblyInfo.PublicKey)]