From c1f1c167d27234b6a8fe2eb5bf1198eee8a5abac Mon Sep 17 00:00:00 2001 From: Yevhenii Solomchenko Date: Tue, 24 Sep 2024 23:31:04 +0200 Subject: [PATCH] [Api] Nullable (#5801) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Piotr Kiełkowicz Co-authored-by: Mikel Blanchard --- .../ActivityContextExtensions.cs | 2 - src/OpenTelemetry.Api/Baggage.cs | 2 - src/OpenTelemetry.Api/BaseProvider.cs | 2 - .../Context/AsyncLocalRuntimeContextSlot.cs | 2 - .../IRuntimeContextSlotValueAccessor.cs | 2 - .../Context/Propagation/B3Propagator.cs | 2 - .../Context/Propagation/BaggagePropagator.cs | 2 - .../Propagation/CompositeTextMapPropagator.cs | 2 - .../Propagation/NoopTextMapPropagator.cs | 2 - .../Context/Propagation/PropagationContext.cs | 2 - .../Context/Propagation/Propagators.cs | 2 - .../Context/Propagation/TextMapPropagator.cs | 2 - .../Propagation/TraceContextPropagator.cs | 2 - .../Context/Propagation/TraceStateUtilsNew.cs | 2 - .../Context/RemotingRuntimeContextSlot.cs | 1 - .../Context/RuntimeContext.cs | 2 - .../Context/RuntimeContextSlot.cs | 2 - .../Context/ThreadLocalRuntimeContextSlot.cs | 2 - .../Internal/OpenTelemetryApiEventSource.cs | 2 - .../Logs/IDeferredLoggerProviderBuilder.cs | 2 - .../Logs/LogRecordAttributeList.cs | 2 - src/OpenTelemetry.Api/Logs/LogRecordData.cs | 2 - .../Logs/LogRecordSeverity.cs | 2 - .../Logs/LogRecordSeverityExtensions.cs | 2 - src/OpenTelemetry.Api/Logs/Logger.cs | 2 - src/OpenTelemetry.Api/Logs/LoggerProvider.cs | 2 - .../Logs/LoggerProviderBuilder.cs | 2 - src/OpenTelemetry.Api/Logs/NoopLogger.cs | 2 - .../Metrics/IDeferredMeterProviderBuilder.cs | 2 - .../Metrics/MeterProvider.cs | 2 - .../Metrics/MeterProviderBuilder.cs | 2 - .../OpenTelemetry.Api.csproj | 3 - .../Trace/ActivityExtensions.cs | 2 - .../Trace/IDeferredTracerProviderBuilder.cs | 2 - src/OpenTelemetry.Api/Trace/Link.cs | 2 - src/OpenTelemetry.Api/Trace/SpanAttributes.cs | 2 - src/OpenTelemetry.Api/Trace/SpanContext.cs | 2 - src/OpenTelemetry.Api/Trace/SpanKind.cs | 2 - src/OpenTelemetry.Api/Trace/Status.cs | 2 - src/OpenTelemetry.Api/Trace/StatusCode.cs | 2 - src/OpenTelemetry.Api/Trace/TelemetrySpan.cs | 2 - src/OpenTelemetry.Api/Trace/Tracer.cs | 2 - src/OpenTelemetry.Api/Trace/TracerProvider.cs | 2 - .../Trace/TracerProviderBuilder.cs | 2 - src/Shared/Guard.cs | 4 +- test/OpenTelemetry.Api.Tests/BaggageTests.cs | 10 +-- .../Context/Propagation/B3PropagatorTest.cs | 2 - .../Propagation/BaggagePropagatorTest.cs | 2 - .../Propagation/CompositePropagatorTest.cs | 2 - .../Context/Propagation/PropagatorsTest.cs | 2 - .../Context/Propagation/TestPropagator.cs | 2 - .../Propagation/TracestateUtilsTests.cs | 2 - .../Internal/GuardTest.cs | 15 ++-- .../Logs/LogRecordAttributeListTests.cs | 10 ++- .../Logs/LogRecordDataTests.cs | 2 - .../Logs/LogRecordSeverityExtensionsTests.cs | 2 - .../Logs/LoggerProviderTests.cs | 2 - .../OpenTelemetry.Api.Tests.csproj | 3 - .../Trace/ActivityExtensionsTest.cs | 2 +- .../Trace/SpanAttributesTest.cs | 14 ++-- .../Trace/TelemetrySpanTest.cs | 3 + .../Trace/TracerTest.cs | 68 ++++++++++++------- 62 files changed, 78 insertions(+), 157 deletions(-) diff --git a/src/OpenTelemetry.Api/ActivityContextExtensions.cs b/src/OpenTelemetry.Api/ActivityContextExtensions.cs index f50a9af8fee..fb630ae6613 100644 --- a/src/OpenTelemetry.Api/ActivityContextExtensions.cs +++ b/src/OpenTelemetry.Api/ActivityContextExtensions.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; // The ActivityContext class is in the System.Diagnostics namespace. diff --git a/src/OpenTelemetry.Api/Baggage.cs b/src/OpenTelemetry.Api/Baggage.cs index 835cb3a23f6..93b972f4f17 100644 --- a/src/OpenTelemetry.Api/Baggage.cs +++ b/src/OpenTelemetry.Api/Baggage.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics.CodeAnalysis; using OpenTelemetry.Context; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/BaseProvider.cs b/src/OpenTelemetry.Api/BaseProvider.cs index ce8e30a46b7..117f18c3c6d 100644 --- a/src/OpenTelemetry.Api/BaseProvider.cs +++ b/src/OpenTelemetry.Api/BaseProvider.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry; /// diff --git a/src/OpenTelemetry.Api/Context/AsyncLocalRuntimeContextSlot.cs b/src/OpenTelemetry.Api/Context/AsyncLocalRuntimeContextSlot.cs index 0c7d5f0cbf8..7bafc0e951d 100644 --- a/src/OpenTelemetry.Api/Context/AsyncLocalRuntimeContextSlot.cs +++ b/src/OpenTelemetry.Api/Context/AsyncLocalRuntimeContextSlot.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Runtime.CompilerServices; namespace OpenTelemetry.Context; diff --git a/src/OpenTelemetry.Api/Context/IRuntimeContextSlotValueAccessor.cs b/src/OpenTelemetry.Api/Context/IRuntimeContextSlotValueAccessor.cs index 0d537c67cd3..19c02050cd8 100644 --- a/src/OpenTelemetry.Api/Context/IRuntimeContextSlotValueAccessor.cs +++ b/src/OpenTelemetry.Api/Context/IRuntimeContextSlotValueAccessor.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Context; /// diff --git a/src/OpenTelemetry.Api/Context/Propagation/B3Propagator.cs b/src/OpenTelemetry.Api/Context/Propagation/B3Propagator.cs index 5969d2499c1..18276172106 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/B3Propagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/B3Propagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using System.Text; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Context/Propagation/BaggagePropagator.cs b/src/OpenTelemetry.Api/Context/Propagation/BaggagePropagator.cs index e3ca4fd96c9..938980931e9 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/BaggagePropagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/BaggagePropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NET using System.Diagnostics.CodeAnalysis; #endif diff --git a/src/OpenTelemetry.Api/Context/Propagation/CompositeTextMapPropagator.cs b/src/OpenTelemetry.Api/Context/Propagation/CompositeTextMapPropagator.cs index 5b6939842b0..e160bc8ac78 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/CompositeTextMapPropagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/CompositeTextMapPropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using OpenTelemetry.Internal; namespace OpenTelemetry.Context.Propagation; diff --git a/src/OpenTelemetry.Api/Context/Propagation/NoopTextMapPropagator.cs b/src/OpenTelemetry.Api/Context/Propagation/NoopTextMapPropagator.cs index 6efd538e820..a722a4f087a 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/NoopTextMapPropagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/NoopTextMapPropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Context.Propagation; internal sealed class NoopTextMapPropagator : TextMapPropagator diff --git a/src/OpenTelemetry.Api/Context/Propagation/PropagationContext.cs b/src/OpenTelemetry.Api/Context/Propagation/PropagationContext.cs index bb35c88cadc..0923ed45d6d 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/PropagationContext.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/PropagationContext.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; namespace OpenTelemetry.Context.Propagation; diff --git a/src/OpenTelemetry.Api/Context/Propagation/Propagators.cs b/src/OpenTelemetry.Api/Context/Propagation/Propagators.cs index ee9c59931f5..c1dab62400d 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/Propagators.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/Propagators.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Context.Propagation; /// diff --git a/src/OpenTelemetry.Api/Context/Propagation/TextMapPropagator.cs b/src/OpenTelemetry.Api/Context/Propagation/TextMapPropagator.cs index 547d6a1890c..bb0432378b5 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/TextMapPropagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/TextMapPropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Context.Propagation; /// diff --git a/src/OpenTelemetry.Api/Context/Propagation/TraceContextPropagator.cs b/src/OpenTelemetry.Api/Context/Propagation/TraceContextPropagator.cs index dfa828e088b..ee67aaaaafb 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/TraceContextPropagator.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/TraceContextPropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Buffers; using System.Diagnostics; using System.Runtime.CompilerServices; diff --git a/src/OpenTelemetry.Api/Context/Propagation/TraceStateUtilsNew.cs b/src/OpenTelemetry.Api/Context/Propagation/TraceStateUtilsNew.cs index e1fe192bd6d..eef28f8ad97 100644 --- a/src/OpenTelemetry.Api/Context/Propagation/TraceStateUtilsNew.cs +++ b/src/OpenTelemetry.Api/Context/Propagation/TraceStateUtilsNew.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using System.Text; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Context/RemotingRuntimeContextSlot.cs b/src/OpenTelemetry.Api/Context/RemotingRuntimeContextSlot.cs index 6286c4044bf..93f7bd4754d 100644 --- a/src/OpenTelemetry.Api/Context/RemotingRuntimeContextSlot.cs +++ b/src/OpenTelemetry.Api/Context/RemotingRuntimeContextSlot.cs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 #if NETFRAMEWORK -#nullable enable using System.Collections; using System.Reflection; diff --git a/src/OpenTelemetry.Api/Context/RuntimeContext.cs b/src/OpenTelemetry.Api/Context/RuntimeContext.cs index c544d7a59bb..c984147bf49 100644 --- a/src/OpenTelemetry.Api/Context/RuntimeContext.cs +++ b/src/OpenTelemetry.Api/Context/RuntimeContext.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Collections.Concurrent; using System.Runtime.CompilerServices; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Context/RuntimeContextSlot.cs b/src/OpenTelemetry.Api/Context/RuntimeContextSlot.cs index bb1321d79c8..a89afd394a3 100644 --- a/src/OpenTelemetry.Api/Context/RuntimeContextSlot.cs +++ b/src/OpenTelemetry.Api/Context/RuntimeContextSlot.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using OpenTelemetry.Internal; namespace OpenTelemetry.Context; diff --git a/src/OpenTelemetry.Api/Context/ThreadLocalRuntimeContextSlot.cs b/src/OpenTelemetry.Api/Context/ThreadLocalRuntimeContextSlot.cs index 35db8bcf924..360f9df564b 100644 --- a/src/OpenTelemetry.Api/Context/ThreadLocalRuntimeContextSlot.cs +++ b/src/OpenTelemetry.Api/Context/ThreadLocalRuntimeContextSlot.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Runtime.CompilerServices; namespace OpenTelemetry.Context; diff --git a/src/OpenTelemetry.Api/Internal/OpenTelemetryApiEventSource.cs b/src/OpenTelemetry.Api/Internal/OpenTelemetryApiEventSource.cs index ea802a6ed15..5ac56d362f3 100644 --- a/src/OpenTelemetry.Api/Internal/OpenTelemetryApiEventSource.cs +++ b/src/OpenTelemetry.Api/Internal/OpenTelemetryApiEventSource.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics.Tracing; namespace OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Logs/IDeferredLoggerProviderBuilder.cs b/src/OpenTelemetry.Api/Logs/IDeferredLoggerProviderBuilder.cs index 7421a9df268..11397157cea 100644 --- a/src/OpenTelemetry.Api/Logs/IDeferredLoggerProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Logs/IDeferredLoggerProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Logs; /// diff --git a/src/OpenTelemetry.Api/Logs/LogRecordAttributeList.cs b/src/OpenTelemetry.Api/Logs/LogRecordAttributeList.cs index bea5f953882..2aeecf3d88c 100644 --- a/src/OpenTelemetry.Api/Logs/LogRecordAttributeList.cs +++ b/src/OpenTelemetry.Api/Logs/LogRecordAttributeList.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Collections; using System.ComponentModel; using System.Diagnostics; diff --git a/src/OpenTelemetry.Api/Logs/LogRecordData.cs b/src/OpenTelemetry.Api/Logs/LogRecordData.cs index 92bb2765a23..20d8d5f264c 100644 --- a/src/OpenTelemetry.Api/Logs/LogRecordData.cs +++ b/src/OpenTelemetry.Api/Logs/LogRecordData.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; #if NET && EXPOSE_EXPERIMENTAL_FEATURES using System.Diagnostics.CodeAnalysis; diff --git a/src/OpenTelemetry.Api/Logs/LogRecordSeverity.cs b/src/OpenTelemetry.Api/Logs/LogRecordSeverity.cs index b849abdcffa..b6a5b3e000a 100644 --- a/src/OpenTelemetry.Api/Logs/LogRecordSeverity.cs +++ b/src/OpenTelemetry.Api/Logs/LogRecordSeverity.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NET && EXPOSE_EXPERIMENTAL_FEATURES using System.Diagnostics.CodeAnalysis; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Logs/LogRecordSeverityExtensions.cs b/src/OpenTelemetry.Api/Logs/LogRecordSeverityExtensions.cs index e5cb23d7fa0..81453d0302f 100644 --- a/src/OpenTelemetry.Api/Logs/LogRecordSeverityExtensions.cs +++ b/src/OpenTelemetry.Api/Logs/LogRecordSeverityExtensions.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NET && EXPOSE_EXPERIMENTAL_FEATURES using System.Diagnostics.CodeAnalysis; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Logs/Logger.cs b/src/OpenTelemetry.Api/Logs/Logger.cs index 8318ed92c85..f8a50f2a6dd 100644 --- a/src/OpenTelemetry.Api/Logs/Logger.cs +++ b/src/OpenTelemetry.Api/Logs/Logger.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NET && EXPOSE_EXPERIMENTAL_FEATURES using System.Diagnostics.CodeAnalysis; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Logs/LoggerProvider.cs b/src/OpenTelemetry.Api/Logs/LoggerProvider.cs index 018658446cd..71cc40e2325 100644 --- a/src/OpenTelemetry.Api/Logs/LoggerProvider.cs +++ b/src/OpenTelemetry.Api/Logs/LoggerProvider.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NETSTANDARD2_1_OR_GREATER || NET using System.Diagnostics.CodeAnalysis; #endif diff --git a/src/OpenTelemetry.Api/Logs/LoggerProviderBuilder.cs b/src/OpenTelemetry.Api/Logs/LoggerProviderBuilder.cs index b0aec6bfca7..2bc69d1d0c6 100644 --- a/src/OpenTelemetry.Api/Logs/LoggerProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Logs/LoggerProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Logs; /// diff --git a/src/OpenTelemetry.Api/Logs/NoopLogger.cs b/src/OpenTelemetry.Api/Logs/NoopLogger.cs index f33ec668aca..2c2b61c4185 100644 --- a/src/OpenTelemetry.Api/Logs/NoopLogger.cs +++ b/src/OpenTelemetry.Api/Logs/NoopLogger.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Logs; internal sealed class NoopLogger : Logger diff --git a/src/OpenTelemetry.Api/Metrics/IDeferredMeterProviderBuilder.cs b/src/OpenTelemetry.Api/Metrics/IDeferredMeterProviderBuilder.cs index c283219c431..5f0dc38d34e 100644 --- a/src/OpenTelemetry.Api/Metrics/IDeferredMeterProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Metrics/IDeferredMeterProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Metrics; /// diff --git a/src/OpenTelemetry.Api/Metrics/MeterProvider.cs b/src/OpenTelemetry.Api/Metrics/MeterProvider.cs index a16fd88df93..64fcb5e8e52 100644 --- a/src/OpenTelemetry.Api/Metrics/MeterProvider.cs +++ b/src/OpenTelemetry.Api/Metrics/MeterProvider.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Metrics; /// diff --git a/src/OpenTelemetry.Api/Metrics/MeterProviderBuilder.cs b/src/OpenTelemetry.Api/Metrics/MeterProviderBuilder.cs index 95075dbe703..4fb6bb007dd 100644 --- a/src/OpenTelemetry.Api/Metrics/MeterProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Metrics/MeterProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Metrics; /// diff --git a/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj b/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj index 0a781a94173..403ed430bfc 100644 --- a/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj +++ b/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj @@ -4,9 +4,6 @@ OpenTelemetry .NET API OpenTelemetry core- - - - disable diff --git a/src/OpenTelemetry.Api/Trace/ActivityExtensions.cs b/src/OpenTelemetry.Api/Trace/ActivityExtensions.cs index 7c2a0854419..b22339267ba 100644 --- a/src/OpenTelemetry.Api/Trace/ActivityExtensions.cs +++ b/src/OpenTelemetry.Api/Trace/ActivityExtensions.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using System.Runtime.CompilerServices; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Trace/IDeferredTracerProviderBuilder.cs b/src/OpenTelemetry.Api/Trace/IDeferredTracerProviderBuilder.cs index 8be46ae4432..7b0d3f71232 100644 --- a/src/OpenTelemetry.Api/Trace/IDeferredTracerProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Trace/IDeferredTracerProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Trace; /// diff --git a/src/OpenTelemetry.Api/Trace/Link.cs b/src/OpenTelemetry.Api/Trace/Link.cs index 45af8791625..1972a624c25 100644 --- a/src/OpenTelemetry.Api/Trace/Link.cs +++ b/src/OpenTelemetry.Api/Trace/Link.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; namespace OpenTelemetry.Trace; diff --git a/src/OpenTelemetry.Api/Trace/SpanAttributes.cs b/src/OpenTelemetry.Api/Trace/SpanAttributes.cs index 84850ae048d..5975830c98c 100644 --- a/src/OpenTelemetry.Api/Trace/SpanAttributes.cs +++ b/src/OpenTelemetry.Api/Trace/SpanAttributes.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Trace/SpanContext.cs b/src/OpenTelemetry.Api/Trace/SpanContext.cs index dff0de021c2..825ad62bb41 100644 --- a/src/OpenTelemetry.Api/Trace/SpanContext.cs +++ b/src/OpenTelemetry.Api/Trace/SpanContext.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using OpenTelemetry.Context.Propagation; diff --git a/src/OpenTelemetry.Api/Trace/SpanKind.cs b/src/OpenTelemetry.Api/Trace/SpanKind.cs index f3237a6bd4a..07358f7b0e8 100644 --- a/src/OpenTelemetry.Api/Trace/SpanKind.cs +++ b/src/OpenTelemetry.Api/Trace/SpanKind.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Trace; /// diff --git a/src/OpenTelemetry.Api/Trace/Status.cs b/src/OpenTelemetry.Api/Trace/Status.cs index b7d0eb35c32..a39ee8dd754 100644 --- a/src/OpenTelemetry.Api/Trace/Status.cs +++ b/src/OpenTelemetry.Api/Trace/Status.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Trace; /// diff --git a/src/OpenTelemetry.Api/Trace/StatusCode.cs b/src/OpenTelemetry.Api/Trace/StatusCode.cs index 9332d708d06..28d691c10e6 100644 --- a/src/OpenTelemetry.Api/Trace/StatusCode.cs +++ b/src/OpenTelemetry.Api/Trace/StatusCode.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - namespace OpenTelemetry.Trace; /// diff --git a/src/OpenTelemetry.Api/Trace/TelemetrySpan.cs b/src/OpenTelemetry.Api/Trace/TelemetrySpan.cs index cdae8d4292c..47e67c6095a 100644 --- a/src/OpenTelemetry.Api/Trace/TelemetrySpan.cs +++ b/src/OpenTelemetry.Api/Trace/TelemetrySpan.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using System.Runtime.CompilerServices; using OpenTelemetry.Internal; diff --git a/src/OpenTelemetry.Api/Trace/Tracer.cs b/src/OpenTelemetry.Api/Trace/Tracer.cs index 2a8c6e8e0a3..d0fb906ec18 100644 --- a/src/OpenTelemetry.Api/Trace/Tracer.cs +++ b/src/OpenTelemetry.Api/Trace/Tracer.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; diff --git a/src/OpenTelemetry.Api/Trace/TracerProvider.cs b/src/OpenTelemetry.Api/Trace/TracerProvider.cs index 56fa2e90a72..21197d0abdb 100644 --- a/src/OpenTelemetry.Api/Trace/TracerProvider.cs +++ b/src/OpenTelemetry.Api/Trace/TracerProvider.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Collections.Concurrent; #if NET using System.Diagnostics.CodeAnalysis; diff --git a/src/OpenTelemetry.Api/Trace/TracerProviderBuilder.cs b/src/OpenTelemetry.Api/Trace/TracerProviderBuilder.cs index 0a8c3dae3da..ac9b7a2dbe2 100644 --- a/src/OpenTelemetry.Api/Trace/TracerProviderBuilder.cs +++ b/src/OpenTelemetry.Api/Trace/TracerProviderBuilder.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; namespace OpenTelemetry.Trace; diff --git a/src/Shared/Guard.cs b/src/Shared/Guard.cs index 4e46d9f3384..abf894243aa 100644 --- a/src/Shared/Guard.cs +++ b/src/Shared/Guard.cs @@ -19,12 +19,12 @@ namespace System.Runtime.CompilerServices [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)] internal sealed class CallerArgumentExpressionAttribute : Attribute { - public CallerArgumentExpressionAttribute(string parameterName) + public CallerArgumentExpressionAttribute(string? parameterName) { this.ParameterName = parameterName; } - public string ParameterName { get; } + public string? ParameterName { get; } } } #endif diff --git a/test/OpenTelemetry.Api.Tests/BaggageTests.cs b/test/OpenTelemetry.Api.Tests/BaggageTests.cs index 32bc6a74f62..d4fc1e26c45 100644 --- a/test/OpenTelemetry.Api.Tests/BaggageTests.cs +++ b/test/OpenTelemetry.Api.Tests/BaggageTests.cs @@ -180,11 +180,11 @@ public void EnumeratorTest() [Fact] public void EqualsTest() { - var bc1 = new Baggage(new Dictionary() { [K1] = V1, [K2] = V2 }); - var bc2 = new Baggage(new Dictionary() { [K1] = V1, [K2] = V2 }); - var bc3 = new Baggage(new Dictionary() { [K2] = V2, [K1] = V1 }); - var bc4 = new Baggage(new Dictionary() { [K1] = V1, [K2] = V1 }); - var bc5 = new Baggage(new Dictionary() { [K1] = V2, [K2] = V1 }); + var bc1 = new Baggage(new Dictionary { [K1] = V1, [K2] = V2 }); + var bc2 = new Baggage(new Dictionary { [K1] = V1, [K2] = V2 }); + var bc3 = new Baggage(new Dictionary { [K2] = V2, [K1] = V1 }); + var bc4 = new Baggage(new Dictionary { [K1] = V1, [K2] = V1 }); + var bc5 = new Baggage(new Dictionary { [K1] = V2, [K2] = V1 }); Assert.True(bc1.Equals(bc2)); diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/B3PropagatorTest.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/B3PropagatorTest.cs index 1cef6ae90e9..4ff05249c52 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/B3PropagatorTest.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/B3PropagatorTest.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using Xunit; using Xunit.Abstractions; diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/BaggagePropagatorTest.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/BaggagePropagatorTest.cs index 0f236081331..6575d2949f1 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/BaggagePropagatorTest.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/BaggagePropagatorTest.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Net; using Xunit; diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/CompositePropagatorTest.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/CompositePropagatorTest.cs index 4009ed756a6..b70565affa8 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/CompositePropagatorTest.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/CompositePropagatorTest.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using Xunit; diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/PropagatorsTest.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/PropagatorsTest.cs index 3216baec7d7..b7993e0d848 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/PropagatorsTest.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/PropagatorsTest.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using Xunit; namespace OpenTelemetry.Context.Propagation.Tests; diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/TestPropagator.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/TestPropagator.cs index a2a8ab39234..ec791743f56 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/TestPropagator.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/TestPropagator.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; namespace OpenTelemetry.Context.Propagation.Tests; diff --git a/test/OpenTelemetry.Api.Tests/Context/Propagation/TracestateUtilsTests.cs b/test/OpenTelemetry.Api.Tests/Context/Propagation/TracestateUtilsTests.cs index f1271938a5a..deb9fc9e8fb 100644 --- a/test/OpenTelemetry.Api.Tests/Context/Propagation/TracestateUtilsTests.cs +++ b/test/OpenTelemetry.Api.Tests/Context/Propagation/TracestateUtilsTests.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using Xunit; namespace OpenTelemetry.Context.Propagation.Tests; diff --git a/test/OpenTelemetry.Api.Tests/Internal/GuardTest.cs b/test/OpenTelemetry.Api.Tests/Internal/GuardTest.cs index 591ed00fad5..a2af242b973 100644 --- a/test/OpenTelemetry.Api.Tests/Internal/GuardTest.cs +++ b/test/OpenTelemetry.Api.Tests/Internal/GuardTest.cs @@ -20,17 +20,17 @@ public void NullTest() Guard.ThrowIfNull("hello"); // Invalid - object potato = null; + object? potato = null; var ex1 = Assert.Throws(() => Guard.ThrowIfNull(potato)); Assert.Contains("Must not be null", ex1.Message); Assert.Equal("potato", ex1.ParamName); - object @event = null; + object? @event = null; var ex2 = Assert.Throws(() => Guard.ThrowIfNull(@event)); Assert.Contains("Must not be null", ex2.Message); Assert.Equal("@event", ex2.ParamName); - Thing thing = null; + Thing? thing = null; var ex3 = Assert.Throws(() => Guard.ThrowIfNull(thing?.Bar)); Assert.Contains("Must not be null", ex3.Message); Assert.Equal("thing?.Bar", ex3.ParamName); @@ -153,12 +153,12 @@ public void ZeroTest() public class Thing { - public string Bar { get; set; } + public string? Bar { get; set; } } #if !NET /// - /// Borrowed from: . + /// Borrowed from: . /// public class CallerArgumentExpressionAttributeTests { @@ -166,7 +166,7 @@ public class CallerArgumentExpressionAttributeTests [InlineData(null)] [InlineData("")] [InlineData("paramName")] - public static void Ctor_ParameterName_Roundtrip(string value) + public static void Ctor_ParameterName_Roundtrip(string? value) { var caea = new CallerArgumentExpressionAttribute(value); Assert.Equal(value, caea.ParameterName); @@ -175,12 +175,13 @@ public static void Ctor_ParameterName_Roundtrip(string value) [Fact] public static void BasicTest() { + Assert.Equal("null", GetValue(null)); Assert.Equal("\"hello\"", GetValue("hello")); Assert.Equal("3 + 2", GetValue(3 + 2)); Assert.Equal("new object()", GetValue(new object())); } - private static string GetValue(object argument, [CallerArgumentExpression("argument")] string expr = null) => expr; + private static string? GetValue(object? argument, [CallerArgumentExpression(nameof(argument))] string? expr = null) => expr; } #endif } diff --git a/test/OpenTelemetry.Api.Tests/Logs/LogRecordAttributeListTests.cs b/test/OpenTelemetry.Api.Tests/Logs/LogRecordAttributeListTests.cs index c09c728cd55..6cc8486a23c 100644 --- a/test/OpenTelemetry.Api.Tests/Logs/LogRecordAttributeListTests.cs +++ b/test/OpenTelemetry.Api.Tests/Logs/LogRecordAttributeListTests.cs @@ -29,13 +29,15 @@ public void ReadWriteTest(int numberOfItems) var item = attributes[i]; Assert.Equal($"key{i}", item.Key); + Assert.NotNull(item.Value); Assert.Equal(i, (int)item.Value); } int index = 0; - foreach (KeyValuePair item in attributes) + foreach (KeyValuePair item in attributes) { Assert.Equal($"key{index}", item.Key); + Assert.NotNull(item.Value); Assert.Equal(index, (int)item.Value); index++; } @@ -74,6 +76,7 @@ public void ClearTest(int numberOfItems) var item = attributes[i]; Assert.Equal($"key{i}", item.Key); + Assert.NotNull(item.Value); Assert.Equal(i, (int)item.Value); } @@ -98,7 +101,7 @@ public void ExportTest(int numberOfItems) attributes.Add($"key{i}", i); } - List> storage = null; + List>? storage = null; var exportedAttributes = attributes.Export(ref storage); @@ -122,9 +125,10 @@ public void ExportTest(int numberOfItems) } int index = 0; - foreach (KeyValuePair item in exportedAttributes) + foreach (KeyValuePair item in exportedAttributes) { Assert.Equal($"key{index}", item.Key); + Assert.NotNull(item.Value); Assert.Equal(index, (int)item.Value); index++; } diff --git a/test/OpenTelemetry.Api.Tests/Logs/LogRecordDataTests.cs b/test/OpenTelemetry.Api.Tests/Logs/LogRecordDataTests.cs index 89d32795d6f..03d65ab3dd0 100644 --- a/test/OpenTelemetry.Api.Tests/Logs/LogRecordDataTests.cs +++ b/test/OpenTelemetry.Api.Tests/Logs/LogRecordDataTests.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using System.Diagnostics; using Xunit; diff --git a/test/OpenTelemetry.Api.Tests/Logs/LogRecordSeverityExtensionsTests.cs b/test/OpenTelemetry.Api.Tests/Logs/LogRecordSeverityExtensionsTests.cs index 9035898cc66..10d2f90896d 100644 --- a/test/OpenTelemetry.Api.Tests/Logs/LogRecordSeverityExtensionsTests.cs +++ b/test/OpenTelemetry.Api.Tests/Logs/LogRecordSeverityExtensionsTests.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - using Xunit; namespace OpenTelemetry.Logs.Tests; diff --git a/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs b/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs index 47d509208c4..27078c6307e 100644 --- a/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs +++ b/test/OpenTelemetry.Api.Tests/Logs/LoggerProviderTests.cs @@ -1,8 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#nullable enable - #if NETSTANDARD2_1_OR_GREATER || NET using System.Diagnostics.CodeAnalysis; #endif diff --git a/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj b/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj index c8463d88343..e6a6749107c 100644 --- a/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj +++ b/test/OpenTelemetry.Api.Tests/OpenTelemetry.Api.Tests.csproj @@ -3,9 +3,6 @@ Unit test project for OpenTelemetry.Api $(TargetFrameworksForTests) $(NoWarn),CS0618 - - - disable diff --git a/test/OpenTelemetry.Api.Tests/Trace/ActivityExtensionsTest.cs b/test/OpenTelemetry.Api.Tests/Trace/ActivityExtensionsTest.cs index 31fbf806725..5f7a6ff5493 100644 --- a/test/OpenTelemetry.Api.Tests/Trace/ActivityExtensionsTest.cs +++ b/test/OpenTelemetry.Api.Tests/Trace/ActivityExtensionsTest.cs @@ -202,7 +202,7 @@ public void GetTagValue() [Theory] [InlineData("Key", "Value", true)] [InlineData("CustomTag", null, false)] - public void TryCheckFirstTag(string tagName, object expectedTagValue, bool expectedResult) + public void TryCheckFirstTag(string tagName, object? expectedTagValue, bool expectedResult) { using var activity = new Activity("Test"); activity.SetTag("Key", "Value"); diff --git a/test/OpenTelemetry.Api.Tests/Trace/SpanAttributesTest.cs b/test/OpenTelemetry.Api.Tests/Trace/SpanAttributesTest.cs index f0c5c7c110f..abf35e39350 100644 --- a/test/OpenTelemetry.Api.Tests/Trace/SpanAttributesTest.cs +++ b/test/OpenTelemetry.Api.Tests/Trace/SpanAttributesTest.cs @@ -37,7 +37,7 @@ public void ValidateAddMethods() public void ValidateNullKey() { var spanAttribute = new SpanAttributes(); - Assert.Throws(() => spanAttribute.Add(null, "null key")); + Assert.Throws(() => spanAttribute.Add(null!, "null key")); } [Fact] @@ -53,17 +53,17 @@ public void ValidateSameKey() public void ValidateConstructorWithList() { var spanAttributes = new SpanAttributes( - new List>() - { - new KeyValuePair("Span attribute int", 1), - new KeyValuePair("Span attribute string", "str"), - }); + new List> + { + new("Span attribute int", 1), + new("Span attribute string", "str"), + }); Assert.Equal(2, spanAttributes.Attributes.Count); } [Fact] public void ValidateConstructorWithNullList() { - Assert.Throws(() => new SpanAttributes(null)); + Assert.Throws(() => new SpanAttributes(null!)); } } diff --git a/test/OpenTelemetry.Api.Tests/Trace/TelemetrySpanTest.cs b/test/OpenTelemetry.Api.Tests/Trace/TelemetrySpanTest.cs index 6434569e1d9..a8c281deae5 100644 --- a/test/OpenTelemetry.Api.Tests/Trace/TelemetrySpanTest.cs +++ b/test/OpenTelemetry.Api.Tests/Trace/TelemetrySpanTest.cs @@ -18,6 +18,7 @@ public void CheckRecordExceptionData() telemetrySpan.RecordException(new ArgumentNullException(message, new Exception("new-exception"))); Assert.Single(activity.Events); + Assert.NotNull(telemetrySpan.Activity); var @event = telemetrySpan.Activity.Events.FirstOrDefault(q => q.Name == SemanticConventions.AttributeExceptionEventName); Assert.Equal(message, @event.Tags.FirstOrDefault(t => t.Key == SemanticConventions.AttributeExceptionMessage).Value); Assert.Equal(typeof(ArgumentNullException).Name, @event.Tags.FirstOrDefault(t => t.Key == SemanticConventions.AttributeExceptionType).Value); @@ -35,6 +36,7 @@ public void CheckRecordExceptionData2() telemetrySpan.RecordException(type, message, stack); Assert.Single(activity.Events); + Assert.NotNull(telemetrySpan.Activity); var @event = telemetrySpan.Activity.Events.FirstOrDefault(q => q.Name == SemanticConventions.AttributeExceptionEventName); Assert.Equal(message, @event.Tags.FirstOrDefault(t => t.Key == SemanticConventions.AttributeExceptionMessage).Value); Assert.Equal(type, @event.Tags.FirstOrDefault(t => t.Key == SemanticConventions.AttributeExceptionType).Value); @@ -62,6 +64,7 @@ public void ParentIds() // ParentId should be unset Assert.Equal(default, parentSpan.ParentSpanId); + Assert.NotNull(parentActivity.Id); using var childActivity = new Activity("childOperation").SetParentId(parentActivity.Id); using var childSpan = new TelemetrySpan(childActivity); diff --git a/test/OpenTelemetry.Api.Tests/Trace/TracerTest.cs b/test/OpenTelemetry.Api.Tests/Trace/TracerTest.cs index 7c71f41cda0..642795202d0 100644 --- a/test/OpenTelemetry.Api.Tests/Trace/TracerTest.cs +++ b/test/OpenTelemetry.Api.Tests/Trace/TracerTest.cs @@ -53,13 +53,16 @@ public void Tracer_StartRootSpan_BadArgs_NullSpanName() .AddSource("tracername") .Build(); - var span1 = this.tracer.StartRootSpan(null); + var span1 = this.tracer.StartRootSpan(null!); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartRootSpan(null, SpanKind.Client); + var span2 = this.tracer.StartRootSpan(null!, SpanKind.Client); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); - var span3 = this.tracer.StartRootSpan(null, SpanKind.Client, default); + var span3 = this.tracer.StartRootSpan(null!, SpanKind.Client, default); + Assert.NotNull(span3.Activity); Assert.True(string.IsNullOrEmpty(span3.Activity.DisplayName)); } @@ -109,13 +112,16 @@ public void Tracer_StartSpan_BadArgs_NullSpanName() .AddSource("tracername") .Build(); - var span1 = this.tracer.StartSpan(null); + var span1 = this.tracer.StartSpan(null!); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartSpan(null, SpanKind.Client); + var span2 = this.tracer.StartSpan(null!, SpanKind.Client); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); - var span3 = this.tracer.StartSpan(null, SpanKind.Client, null); + var span3 = this.tracer.StartSpan(null!, SpanKind.Client, null); + Assert.NotNull(span3.Activity); Assert.True(string.IsNullOrEmpty(span3.Activity.DisplayName)); } @@ -126,13 +132,16 @@ public void Tracer_StartActiveSpan_BadArgs_NullSpanName() .AddSource("tracername") .Build(); - var span1 = this.tracer.StartActiveSpan(null); + var span1 = this.tracer.StartActiveSpan(null!); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartActiveSpan(null, SpanKind.Client); + var span2 = this.tracer.StartActiveSpan(null!, SpanKind.Client); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); - var span3 = this.tracer.StartActiveSpan(null, SpanKind.Client, null); + var span3 = this.tracer.StartActiveSpan(null!, SpanKind.Client, null); + Assert.NotNull(span3.Activity); Assert.True(string.IsNullOrEmpty(span3.Activity.DisplayName)); } @@ -143,10 +152,12 @@ public void Tracer_StartSpan_FromParent_BadArgs_NullSpanName() .AddSource("tracername") .Build(); - var span1 = this.tracer.StartSpan(null, SpanKind.Client, TelemetrySpan.NoopInstance); + var span1 = this.tracer.StartSpan(null!, SpanKind.Client, TelemetrySpan.NoopInstance); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartSpan(null, SpanKind.Client, TelemetrySpan.NoopInstance, default); + var span2 = this.tracer.StartSpan(null!, SpanKind.Client, TelemetrySpan.NoopInstance, default); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); } @@ -159,10 +170,12 @@ public void Tracer_StartSpan_FromParentContext_BadArgs_NullSpanName() var blankContext = default(SpanContext); - var span1 = this.tracer.StartSpan(null, SpanKind.Client, blankContext); + var span1 = this.tracer.StartSpan(null!, SpanKind.Client, blankContext); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartSpan(null, SpanKind.Client, blankContext, default); + var span2 = this.tracer.StartSpan(null!, SpanKind.Client, blankContext, default); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); } @@ -173,10 +186,12 @@ public void Tracer_StartActiveSpan_FromParent_BadArgs_NullSpanName() .AddSource("tracername") .Build(); - var span1 = this.tracer.StartActiveSpan(null, SpanKind.Client, TelemetrySpan.NoopInstance); + var span1 = this.tracer.StartActiveSpan(null!, SpanKind.Client, TelemetrySpan.NoopInstance); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartActiveSpan(null, SpanKind.Client, TelemetrySpan.NoopInstance, default); + var span2 = this.tracer.StartActiveSpan(null!, SpanKind.Client, TelemetrySpan.NoopInstance, default); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); } @@ -189,10 +204,12 @@ public void Tracer_StartActiveSpan_FromParentContext_BadArgs_NullSpanName() var blankContext = default(SpanContext); - var span1 = this.tracer.StartActiveSpan(null, SpanKind.Client, blankContext); + var span1 = this.tracer.StartActiveSpan(null!, SpanKind.Client, blankContext); + Assert.NotNull(span1.Activity); Assert.True(string.IsNullOrEmpty(span1.Activity.DisplayName)); - var span2 = this.tracer.StartActiveSpan(null, SpanKind.Client, blankContext, default); + var span2 = this.tracer.StartActiveSpan(null!, SpanKind.Client, blankContext, default); + Assert.NotNull(span2.Activity); Assert.True(string.IsNullOrEmpty(span2.Activity.DisplayName)); } @@ -204,19 +221,23 @@ public void Tracer_StartActiveSpan_CreatesActiveSpan() .Build(); var span1 = this.tracer.StartActiveSpan("Test"); + Assert.NotNull(span1.Activity); Assert.Equal(span1.Activity.SpanId, Tracer.CurrentSpan.Context.SpanId); var span2 = this.tracer.StartActiveSpan("Test", SpanKind.Client); + Assert.NotNull(span2.Activity); Assert.Equal(span2.Activity.SpanId, Tracer.CurrentSpan.Context.SpanId); var span = this.tracer.StartSpan("foo"); Tracer.WithSpan(span); var span3 = this.tracer.StartActiveSpan("Test", SpanKind.Client, span); + Assert.NotNull(span3.Activity); Assert.Equal(span3.Activity.SpanId, Tracer.CurrentSpan.Context.SpanId); var spanContext = new SpanContext(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.Recorded); var span4 = this.tracer.StartActiveSpan("Test", SpanKind.Client, spanContext); + Assert.NotNull(span4.Activity); Assert.Equal(span4.Activity.SpanId, Tracer.CurrentSpan.Context.SpanId); } @@ -278,21 +299,21 @@ public void CreateSpan_NotSampled() [Fact] public void TracerBecomesNoopWhenParentProviderIsDisposedTest() { - TracerProvider provider = null; - Tracer tracer = null; + TracerProvider? provider; + Tracer? tracer1; using (var tracerProvider = Sdk.CreateTracerProviderBuilder() .AddSource("mytracer") .Build()) { provider = tracerProvider; - tracer = tracerProvider.GetTracer("mytracer"); + tracer1 = tracerProvider.GetTracer("mytracer"); - var span1 = tracer.StartSpan("foo"); + var span1 = tracer1.StartSpan("foo"); Assert.True(span1.IsRecording); } - var span2 = tracer.StartSpan("foo"); + var span2 = tracer1.StartSpan("foo"); Assert.False(span2.IsRecording); var tracer2 = provider.GetTracer("mytracer"); @@ -349,9 +370,10 @@ static void InnerTest() Thread[] getTracerThreads = new Thread[testTracerProvider.ExpectedNumberOfThreads]; for (int i = 0; i < testTracerProvider.ExpectedNumberOfThreads; i++) { - getTracerThreads[i] = new Thread((object state) => + getTracerThreads[i] = new Thread((object? state) => { var testTracerProvider = state as TestTracerProvider; + Assert.NotNull(testTracerProvider); var id = Interlocked.Increment(ref testTracerProvider.NumberOfThreads); var name = $"Tracer{id}";