otel-dotnet

Add or correct OpenTelemetry .NET SDK instrumentation for traces, metrics, and logs.

2|Updated May 28, 2026
One-click install
npx skills add https://github.com/tsuga-dev/agent-plugins --skill otel-dotnet
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: otel-dotnet
Source: https://github.com/tsuga-dev/agent-plugins/tree/main/plugins/telemetry/skills/otel-dotnet
Command: npx skills add https://github.com/tsuga-dev/agent-plugins --skill otel-dotnet

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It helps you add or repair OpenTelemetry (OTel) SDK setup in a confirmed .NET codebase so traces, metrics, and logs reliably reach your backend.

Core Features & Use Cases

  • Mutation gate for safe changes: proposes diffs first, waits for explicit confirmation, then applies code changes only after approval.
  • Covers common .NET OTel scenarios: instrument traces, metrics, and logs; configure resource attributes; and troubleshoot propagation/exporter configuration.
  • Async messaging correctness for .NET: guides Kafka/RabbitMQ/Service Bus usage using span Links (not incorrect parent-child relationships) and required messaging semantic-convention attributes.

Quick Start

Use the otel-dotnet skill to add or fix OpenTelemetry instrumentation in your .NET service’s Program.cs for traces, metrics, and logs, then verify the signals arrive with tsuga after deployment.

Frequently Asked Questions about otel-dotnet

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix missing OpenTelemetry spans in ASP.NET Core?

Missing OpenTelemetry spans in ASP.NET Core are fixed by correcting SDK instrumentation and propagation configuration in your service setup. This diagnoses trace, metric, and log export issues, ensuring signals reliably reach your backend with proper resource attributes.

How do I configure OpenTelemetry trace propagation for async messaging in .NET?

Configuring OpenTelemetry trace propagation for async messaging in .NET requires using span Links instead of parent-child relationships for Kafka, RabbitMQ, or Service Bus. This applies correct messaging semantic conventions, ensuring distributed traces connect properly across asynchronous boundaries.

Does OpenTelemetry .NET instrumentation work with Azure Functions and gRPC?

Yes, OpenTelemetry .NET instrumentation works with Azure Functions, gRPC, Minimal APIs, and Worker Services. It supports configuring traces, metrics, and logs across these C# and F# environments, allowing you to set up telemetry from scratch or debug existing missing signals.

What is the safest way to add OpenTelemetry resource attributes to an existing .NET codebase?

The safest way to add OpenTelemetry resource attributes is using a mutation-gate workflow that proposes code diffs first. This waits for explicit user confirmation before applying any changes to your .NET codebase, preventing unintended modifications to your telemetry setup.

Why are my OpenTelemetry logs and metrics not exporting correctly from my .NET Worker Service?

OpenTelemetry logs and metrics fail to export correctly from .NET Worker Services due to incorrect OTLP exporter configuration or missing SDK instrumentation. Troubleshooting involves repairing the setup in Program.cs and verifying signals arrive using post-deploy smoke testing.