Tsagko.Modules.Datadog.Trace
1.0.4
dotnet add package Tsagko.Modules.Datadog.Trace --version 1.0.4
NuGet\Install-Package Tsagko.Modules.Datadog.Trace -Version 1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tsagko.Modules.Datadog.Trace" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tsagko.Modules.Datadog.Trace" Version="1.0.4" />
<PackageReference Include="Tsagko.Modules.Datadog.Trace" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tsagko.Modules.Datadog.Trace --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Tsagko.Modules.Datadog.Trace, 1.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tsagko.Modules.Datadog.Trace@1.0.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tsagko.Modules.Datadog.Trace&version=1.0.4
#tool nuget:?package=Tsagko.Modules.Datadog.Trace&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Tsagko Datadog Trace Module
A Tsagko module for Crosser that provides APM tracing with Datadog. Creates parent and child spans for detailed performance analysis of your flows.
Features
- Three Modes: Start, Checkpoint, and End for flexible tracing
- Parent/Child Spans: See exactly where time is spent in your flow
- Log Correlation: Works with Tsagko.Modules.Datadog.Logger for unified observability
- Multi-Region: Support for all Datadog datacenter regions
- Custom Tags: Add metadata to your spans for filtering and analysis
Installation
dotnet add package Tsagko.Modules.Datadog.Trace
How It Works
┌───────────────┐ ┌────────┐ ┌────────────────┐ ┌────────┐ ┌─────────────┐
│ Trace (Start) │───▶│ Module │───▶│ Trace (Check) │───▶│ Module │───▶│ Trace (End) │
│ │ │ A │ │ │ │ B │ │ │
│ Creates trace │ │ │ │ Creates span │ │ │ │ Sends to │
│ context │ │ │ │ for segment │ │ │ │ Datadog │
└───────────────┘ └────────┘ └────────────────┘ └────────┘ └─────────────┘
In Datadog APM
Trace: order-processing (500ms)
├── Parse Message ────────────── 150ms (30%)
├── Transform Data ───────────── 200ms (40%) ← Bottleneck!
└── Validate Output ──────────── 100ms (20%)
Configuration
Start Mode
| Setting | Description | Required |
|---|---|---|
| Mode | Set to Start |
Yes |
| Service Name | The service name for this trace | Yes |
| Resource Name | What's being traced (e.g., "process-order") | Yes |
| Operation Name | Parent span name (defaults to resource) | No |
| Tags | Comma-separated tags (e.g., "env:prod") | No |
Checkpoint Mode
| Setting | Description | Required |
|---|---|---|
| Mode | Set to Checkpoint |
Yes |
| Span Name | Name for this segment (e.g., "Parse Message") | Yes |
| Span Type | Type: web, db, cache, custom | No |
End Mode
| Setting | Description | Required |
|---|---|---|
| Mode | Set to End |
Yes |
| API Key | Datadog API key | Yes |
| Region | Datadog region (US1, US3, US5, EU, AP1, GOV) | Yes |
| Span Name | Name for final segment | No |
Usage Example
Basic Flow (Start → End)
Add Datadog Trace module, set Mode:
Start- Service:
my-iot-service - Resource:
sensor-processing
- Service:
Add your processing modules...
Add Datadog Trace module, set Mode:
End- API Key:
your-api-key - Region:
US1
- API Key:
With Checkpoints (Detailed Analysis)
- Trace (Start): Service:
order-service, Resource:process-order - Module A (parsing)
- Trace (Checkpoint): Span Name:
Parse Message - Module B (transformation)
- Trace (Checkpoint): Span Name:
Transform Data - Module C (validation)
- Trace (End): Span Name:
Validate Output, API Key:xxx
Log Correlation
When using with Tsagko.Modules.Datadog.Logger:
┌─────────────┐ ┌────────┐ ┌────────┐ ┌────────────────┐ ┌───────────┐
│Trace(Start) │──▶│ Module │──▶│ Logger │──▶│Trace(Checkpoint)│──▶│Trace(End) │
└─────────────┘ └────────┘ └────────┘ └────────────────┘ └───────────┘
The Logger automatically reads trace context and includes dd.trace_id and dd.span_id in logs. Datadog then correlates logs with traces in the APM view.
Datadog Regions
| Region | Location |
|---|---|
| US1 | United States (default) |
| US3 | United States |
| US5 | United States |
| EU | Europe (Germany) |
| AP1 | Asia Pacific (Japan) |
| GOV | US Government |
Building from Source
dotnet build -c Release
dotnet pack -c Release
License
MIT License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- Crosser.EdgeNode.Flows (>= 5.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.