diff --git a/examples/AspNetCore/Program.cs b/examples/AspNetCore/Program.cs index 809534f5c76..9b12dc681f9 100644 --- a/examples/AspNetCore/Program.cs +++ b/examples/AspNetCore/Program.cs @@ -13,16 +13,16 @@ var appBuilder = WebApplication.CreateBuilder(args); // Note: Switch between Zipkin/OTLP/Console by setting UseTracingExporter in appsettings.json. -var tracingExporter = appBuilder.Configuration.GetValue("UseTracingExporter", defaultValue: "console")!.ToLowerInvariant(); +var tracingExporter = appBuilder.Configuration.GetValue("UseTracingExporter", defaultValue: "console").ToLowerInvariant(); // Note: Switch between Prometheus/OTLP/Console by setting UseMetricsExporter in appsettings.json. -var metricsExporter = appBuilder.Configuration.GetValue("UseMetricsExporter", defaultValue: "console")!.ToLowerInvariant(); +var metricsExporter = appBuilder.Configuration.GetValue("UseMetricsExporter", defaultValue: "console").ToLowerInvariant(); // Note: Switch between Console/OTLP by setting UseLogExporter in appsettings.json. -var logExporter = appBuilder.Configuration.GetValue("UseLogExporter", defaultValue: "console")!.ToLowerInvariant(); +var logExporter = appBuilder.Configuration.GetValue("UseLogExporter", defaultValue: "console").ToLowerInvariant(); // Note: Switch between Explicit/Exponential by setting HistogramAggregation in appsettings.json -var histogramAggregation = appBuilder.Configuration.GetValue("HistogramAggregation", defaultValue: "explicit")!.ToLowerInvariant(); +var histogramAggregation = appBuilder.Configuration.GetValue("HistogramAggregation", defaultValue: "explicit").ToLowerInvariant(); // Create a service to expose ActivitySource, and Metric Instruments // for manual instrumentation @@ -69,7 +69,7 @@ builder.AddOtlpExporter(otlpOptions => { // Use IConfiguration directly for Otlp exporter endpoint option. - otlpOptions.Endpoint = new Uri(appBuilder.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")!); + otlpOptions.Endpoint = new Uri(appBuilder.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")); }); break; @@ -133,7 +133,7 @@ builder.AddOtlpExporter(otlpOptions => { // Use IConfiguration directly for Otlp exporter endpoint option. - otlpOptions.Endpoint = new Uri(appBuilder.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")!); + otlpOptions.Endpoint = new Uri(appBuilder.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")); }); break; default: diff --git a/examples/GrpcService/Startup.cs b/examples/GrpcService/Startup.cs index d23af73550f..7c0dd11a00f 100644 --- a/examples/GrpcService/Startup.cs +++ b/examples/GrpcService/Startup.cs @@ -23,23 +23,23 @@ public void ConfigureServices(IServiceCollection services) .WithTracing(builder => { builder - .ConfigureResource(r => r.AddService(this.Configuration.GetValue("ServiceName", defaultValue: "otel-test")!)) + .ConfigureResource(r => r.AddService(this.Configuration.GetValue("ServiceName", defaultValue: "otel-test"))) .AddAspNetCoreInstrumentation(); // Switch between Otlp/Zipkin/Console by setting UseExporter in appsettings.json. - var exporter = this.Configuration.GetValue("UseExporter", defaultValue: "console")!.ToLowerInvariant(); + var exporter = this.Configuration.GetValue("UseExporter", defaultValue: "console").ToLowerInvariant(); switch (exporter) { case "otlp": builder.AddOtlpExporter(otlpOptions => { - otlpOptions.Endpoint = new Uri(this.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")!); + otlpOptions.Endpoint = new Uri(this.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")); }); break; case "zipkin": builder.AddZipkinExporter(zipkinOptions => { - zipkinOptions.Endpoint = new Uri(this.Configuration.GetValue("Zipkin:Endpoint", defaultValue: "http://localhost:9411/api/v2/spans")!); + zipkinOptions.Endpoint = new Uri(this.Configuration.GetValue("Zipkin:Endpoint", defaultValue: "http://localhost:9411/api/v2/spans")); }); break; default: diff --git a/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs b/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs index 45239981f0a..837b83dabe1 100644 --- a/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs +++ b/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs @@ -193,13 +193,20 @@ private static PropagationContext ExtractFromSingleHeader(PropagationContext { try { - var header = getter(carrier, XB3Combined)?.FirstOrDefault(); + var headers = getter(carrier, XB3Combined); + if (headers == null) + { + return context; + } + + var header = headers.FirstOrDefault(); + if (string.IsNullOrWhiteSpace(header)) { return context; } - var parts = header!.Split(XB3CombinedDelimiter); + var parts = header.Split(XB3CombinedDelimiter); if (parts.Length < 2 || parts.Length > 4) { return context; diff --git a/src/OpenTelemetry.Extensions.Propagators/JaegerPropagator.cs b/src/OpenTelemetry.Extensions.Propagators/JaegerPropagator.cs index 045fd93e581..15ff69ce1bb 100644 --- a/src/OpenTelemetry.Extensions.Propagators/JaegerPropagator.cs +++ b/src/OpenTelemetry.Extensions.Propagators/JaegerPropagator.cs @@ -49,14 +49,19 @@ public override PropagationContext Extract(PropagationContext context, T carr try { var jaegerHeaderCollection = getter(carrier, JaegerHeader); - var jaegerHeader = jaegerHeaderCollection?.First(); + if (jaegerHeaderCollection == null) + { + return context; + } + + var jaegerHeader = jaegerHeaderCollection.First(); if (string.IsNullOrWhiteSpace(jaegerHeader)) { return context; } - var jaegerHeaderParsed = TryExtractTraceContext(jaegerHeader!, out var traceId, out var spanId, out var traceOptions); + var jaegerHeaderParsed = TryExtractTraceContext(jaegerHeader, out var traceId, out var spanId, out var traceOptions); if (!jaegerHeaderParsed) { diff --git a/src/Shared/TagWriter/TagWriter.cs b/src/Shared/TagWriter/TagWriter.cs index fdd83a76bfd..f0d17019473 100644 --- a/src/Shared/TagWriter/TagWriter.cs +++ b/src/Shared/TagWriter/TagWriter.cs @@ -196,7 +196,7 @@ private void WriteArrayTagInternal(ref TTagState state, string key, Array array, key, "TRUNCATED".AsSpan()); - this.LogUnsupportedTagTypeAndReturnFalse(key, array!.GetType().ToString()); + this.LogUnsupportedTagTypeAndReturnFalse(key, array.GetType().ToString()); return; } diff --git a/test/Benchmarks/Context/Propagation/TraceContextPropagatorBenchmarks.cs b/test/Benchmarks/Context/Propagation/TraceContextPropagatorBenchmarks.cs index fdae9b0c4f7..b7ad9affbee 100644 --- a/test/Benchmarks/Context/Propagation/TraceContextPropagatorBenchmarks.cs +++ b/test/Benchmarks/Context/Propagation/TraceContextPropagatorBenchmarks.cs @@ -66,5 +66,5 @@ public void Setup() } [Benchmark(Baseline = true)] - public void Extract() => _ = TraceContextPropagator!.Extract(default, this.Headers!, Getter); + public void Extract() => _ = TraceContextPropagator.Extract(default, this.Headers!, Getter); } diff --git a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/MockCollectorIntegrationTests.cs b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/MockCollectorIntegrationTests.cs index 56e15422a8f..2a4d89ddb62 100644 --- a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/MockCollectorIntegrationTests.cs +++ b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/MockCollectorIntegrationTests.cs @@ -393,7 +393,7 @@ public async Task HttpPersistentStorageRetryTests(bool usePersistentStorageTrans Assert.NotNull(mockProvider); if (exportResult == ExportResult.Success) { - Assert.Single(mockProvider!.TryGetBlobs()); + Assert.Single(mockProvider.TryGetBlobs()); // Force Retry Assert.True((transmissionHandler as OtlpExporterPersistentStorageTransmissionHandler)?.InitiateAndWaitForRetryProcess(-1)); diff --git a/test/OpenTelemetry.Tests/Shared/EventSourceTestHelper.cs b/test/OpenTelemetry.Tests/Shared/EventSourceTestHelper.cs index deb638e6552..d7066c3195c 100644 --- a/test/OpenTelemetry.Tests/Shared/EventSourceTestHelper.cs +++ b/test/OpenTelemetry.Tests/Shared/EventSourceTestHelper.cs @@ -100,7 +100,7 @@ private static void VerifyEventMessage(MethodInfo eventMethod, EventWrittenEvent { string expectedMessage = eventArguments.Length == 0 ? GetEventAttribute(eventMethod).Message! - : string.Format(CultureInfo.InvariantCulture, GetEventAttribute(eventMethod).Message!, eventArguments)!; + : string.Format(CultureInfo.InvariantCulture, GetEventAttribute(eventMethod).Message!, eventArguments); string actualMessage = string.Format(CultureInfo.InvariantCulture, actualEvent.Message!, actualEvent.Payload!.ToArray()); AssertEqual(nameof(VerifyEventMessage), expectedMessage, actualMessage); }