Rebus.Datadog.Tracing
1.0.0
See the version list below for details.
dotnet add package Rebus.Datadog.Tracing --version 1.0.0
NuGet\Install-Package Rebus.Datadog.Tracing -Version 1.0.0
<PackageReference Include="Rebus.Datadog.Tracing" Version="1.0.0" />
paket add Rebus.Datadog.Tracing --version 1.0.0
#r "nuget: Rebus.Datadog.Tracing, 1.0.0"
// Install Rebus.Datadog.Tracing as a Cake Addin #addin nuget:?package=Rebus.Datadog.Tracing&version=1.0.0 // Install Rebus.Datadog.Tracing as a Cake Tool #tool nuget:?package=Rebus.Datadog.Tracing&version=1.0.0
Rebus.Datadog.Tracing
Description
A .Net Standard library containing 2 Rebus Steps that are used to be added in the Rebus pipeline as middlewares.
The 2 steps are:
RebusSetTracingHeadersStep
is an outgoing step that is used in the message producers to set the outgoing headers of the Rebus message. The headers are the 3 important headers used by DatadogTraceId :
x-datadog-trace-id
SpanId (ParentId) :
x-datadog-parent-id
SamplingPriority :
x-datadog-sampling-priority
RebusLinkTracingHeaderStep
is an incoming step used to fetch the headers set by the first step (RebusSetTracingHeadersStep
) and creates a new trace using the 3 headers. If the TraceId is missing, the trace will no be created, if the other 2 headers are missing, the trace will still be created with the existing TraceId and a newly generated spanId, while SamplingPriority is set to null.
The current library only sets up tracing using Assembly Datadog.Trace
version 2.2.0
.
If this library ends up to be useful, we will create one version for each corresponding Datadog.Trace version.
Usage example
Producer
.Options(o => o.Decorate<IPipeline>(c =>
{
var pipeline = c.Get<IPipeline>();
var step = new RebusSetTracingHeadersStep(c.Get<IRebusLoggerFactory>());
return new PipelineStepInjector(pipeline)
.OnSend(step, PipelineRelativePosition.After, typeof(AssignDefaultHeadersStep));
});
Consumer
.Options(o => o.Decorate<IPipeline>(c =>
{
var pipeline = c.Get<IPipeline>();
var step = new RebusLinkTracingHeaderStep(c.Get<IRebusLoggerFactory>());
return new PipelineStepInjector(pipeline)
.OnReceive(step, PipelineRelativePosition.Before, typeof(DispatchIncomingMessageStep));
});
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Datadog.Trace (>= 2.2.0)
- Rebus (>= 6.6.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.