diff --git a/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Shipped.txt b/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Shipped.txt index 58ec3c1d8fe..e69de29bb2d 100644 --- a/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Shipped.txt +++ b/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Shipped.txt @@ -1,6 +0,0 @@ -OpenTelemetry.Extensions.Propagators.B3Propagator -OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator() -> void -OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator(bool singleHeader) -> void -override OpenTelemetry.Extensions.Propagators.B3Propagator.Extract(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Func> getter) -> OpenTelemetry.Context.Propagation.PropagationContext -override OpenTelemetry.Extensions.Propagators.B3Propagator.Fields.get -> System.Collections.Generic.ISet -override OpenTelemetry.Extensions.Propagators.B3Propagator.Inject(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Action setter) -> void diff --git a/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Unshipped.txt index e69de29bb2d..58ec3c1d8fe 100644 --- a/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry.Extensions.Propagators/.publicApi/net462/PublicAPI.Unshipped.txt @@ -0,0 +1,6 @@ +OpenTelemetry.Extensions.Propagators.B3Propagator +OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator() -> void +OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator(bool singleHeader) -> void +override OpenTelemetry.Extensions.Propagators.B3Propagator.Extract(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Func> getter) -> OpenTelemetry.Context.Propagation.PropagationContext +override OpenTelemetry.Extensions.Propagators.B3Propagator.Fields.get -> System.Collections.Generic.ISet +override OpenTelemetry.Extensions.Propagators.B3Propagator.Inject(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Action setter) -> void diff --git a/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Shipped.txt b/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Shipped.txt index 58ec3c1d8fe..e69de29bb2d 100644 --- a/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Shipped.txt +++ b/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Shipped.txt @@ -1,6 +0,0 @@ -OpenTelemetry.Extensions.Propagators.B3Propagator -OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator() -> void -OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator(bool singleHeader) -> void -override OpenTelemetry.Extensions.Propagators.B3Propagator.Extract(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Func> getter) -> OpenTelemetry.Context.Propagation.PropagationContext -override OpenTelemetry.Extensions.Propagators.B3Propagator.Fields.get -> System.Collections.Generic.ISet -override OpenTelemetry.Extensions.Propagators.B3Propagator.Inject(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Action setter) -> void diff --git a/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt index e69de29bb2d..58ec3c1d8fe 100644 --- a/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry.Extensions.Propagators/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt @@ -0,0 +1,6 @@ +OpenTelemetry.Extensions.Propagators.B3Propagator +OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator() -> void +OpenTelemetry.Extensions.Propagators.B3Propagator.B3Propagator(bool singleHeader) -> void +override OpenTelemetry.Extensions.Propagators.B3Propagator.Extract(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Func> getter) -> OpenTelemetry.Context.Propagation.PropagationContext +override OpenTelemetry.Extensions.Propagators.B3Propagator.Fields.get -> System.Collections.Generic.ISet +override OpenTelemetry.Extensions.Propagators.B3Propagator.Inject(OpenTelemetry.Context.Propagation.PropagationContext context, T carrier, System.Action setter) -> void diff --git a/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs b/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs index 33f7022e059..8e84315fc24 100644 --- a/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs +++ b/src/OpenTelemetry.Extensions.Propagators/B3Propagator.cs @@ -88,13 +88,13 @@ public override PropagationContext Extract(PropagationContext context, T carr if (carrier == null) { - OpenTelemetryApiEventSource.Log.FailedToExtractActivityContext(nameof(B3Propagator), "null carrier"); + OpenTelemetryPropagatorsEventSource.Log.FailedToExtractActivityContext(nameof(B3Propagator), "null carrier"); return context; } if (getter == null) { - OpenTelemetryApiEventSource.Log.FailedToExtractActivityContext(nameof(B3Propagator), "null getter"); + OpenTelemetryPropagatorsEventSource.Log.FailedToExtractActivityContext(nameof(B3Propagator), "null getter"); return context; } @@ -113,19 +113,19 @@ public override void Inject(PropagationContext context, T carrier, Action(PropagationConte } catch (Exception e) { - OpenTelemetryApiEventSource.Log.ActivityContextExtractException(nameof(B3Propagator), e); + OpenTelemetryPropagatorsEventSource.Log.ActivityContextExtractException(nameof(B3Propagator), e); return context; } } @@ -259,7 +259,7 @@ private static PropagationContext ExtractFromSingleHeader(PropagationContext } catch (Exception e) { - OpenTelemetryApiEventSource.Log.ActivityContextExtractException(nameof(B3Propagator), e); + OpenTelemetryPropagatorsEventSource.Log.ActivityContextExtractException(nameof(B3Propagator), e); return context; } } diff --git a/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md b/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md index 45a0df44b27..d25006226c0 100644 --- a/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md +++ b/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +Use own EventSource named "OpenTelemetry.Extensions.Propagators" +for internal logging. + ## 1.3.0-rc.2 Released 2022-June-1 diff --git a/src/OpenTelemetry.Extensions.Propagators/OpenTelemetry.Extensions.Propagators.csproj b/src/OpenTelemetry.Extensions.Propagators/OpenTelemetry.Extensions.Propagators.csproj index 19d40b77401..ff367af63e6 100644 --- a/src/OpenTelemetry.Extensions.Propagators/OpenTelemetry.Extensions.Propagators.csproj +++ b/src/OpenTelemetry.Extensions.Propagators/OpenTelemetry.Extensions.Propagators.csproj @@ -8,10 +8,6 @@ true - - - - false diff --git a/src/OpenTelemetry.Extensions.Propagators/OpenTelemetryPropagatorsEventSource.cs b/src/OpenTelemetry.Extensions.Propagators/OpenTelemetryPropagatorsEventSource.cs new file mode 100644 index 00000000000..fc22c92e87f --- /dev/null +++ b/src/OpenTelemetry.Extensions.Propagators/OpenTelemetryPropagatorsEventSource.cs @@ -0,0 +1,52 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System; +using System.Diagnostics.Tracing; + +namespace OpenTelemetry.Internal +{ + /// + /// EventSource implementation for OpenTelemetry Propagators. + /// This is used for internal logging of this library. + /// + [EventSource(Name = "OpenTelemetry.Extensions.Propagators")] + internal class OpenTelemetryPropagatorsEventSource : EventSource + { + public static OpenTelemetryPropagatorsEventSource Log = new(); + + [NonEvent] + public void ActivityContextExtractException(string format, Exception ex) + { + if (this.IsEnabled(EventLevel.Warning, EventKeywords.All)) + { + this.FailedToExtractActivityContext(format, ex.ToInvariantString()); + } + } + + [Event(1, Message = "Failed to extract activity context in format: '{0}', context: '{1}'.", Level = EventLevel.Warning)] + public void FailedToExtractActivityContext(string format, string exception) + { + this.WriteEvent(1, format, exception); + } + + [Event(2, Message = "Failed to inject activity context in format: '{0}', context: '{1}'.", Level = EventLevel.Warning)] + public void FailedToInjectActivityContext(string format, string error) + { + this.WriteEvent(2, format, error); + } + } +} diff --git a/src/OpenTelemetry.Extensions.Propagators/README.md b/src/OpenTelemetry.Extensions.Propagators/README.md index 7f83aa3e7b9..9872c5ff1ac 100644 --- a/src/OpenTelemetry.Extensions.Propagators/README.md +++ b/src/OpenTelemetry.Extensions.Propagators/README.md @@ -43,6 +43,15 @@ Sdk.SetDefaultTextMapPropagator(new CompositeTextMapPropagator(new TextMapPropag })); ``` +## Troubleshooting + +This component uses an +[EventSource](https://docs.microsoft.com/dotnet/api/system.diagnostics.tracing.eventsource) +with the name "OpenTelemetry.Extensions.Propagators" for its internal logging. +Please refer to [SDK +troubleshooting](../OpenTelemetry/README.md#troubleshooting) for instructions on +seeing these internal logs. + ## References * [B3 (Zipkin) Context specification](https://github.com/openzipkin/b3-propagation)