CtrlK
BlogDocsLog inGet started
Tessl Logo

otel-dotnet

OpenTelemetry in .NET — DI/builder SDK setup (OpenTelemetry.Extensions.Hosting, AddOpenTelemetry, UseOtlpExporter, OpenTelemetrySdk.Create), native .NET instrumentation APIs (ActivitySource, System.Diagnostics.Metrics Meter) plus logging abstractions (ILogger), zero-code CLR-profiler agent, contrib instrumentation packages, performance tuning, and breaking-change audits. Use when adding, reviewing, or configuring OpenTelemetry in a .NET or ASP.NET Core service. Triggers on "setup otel in dotnet", "dotnet telemetry", ".net tracing", "ASP.NET Core opentelemetry", "AddOpenTelemetry", "UseOtlpExporter", "OpenTelemetrySdk.Create", "ActivitySource", "System.Diagnostics.Metrics Meter", "ILogger opentelemetry", "OpenTelemetry.Extensions.Hosting", "opentelemetry-dotnet-instrumentation", or any C# OTel question.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

OpenTelemetry in .NET

Entry point for OpenTelemetry mechanics in .NET services. Load a reference below based on the task; each reference is self-contained.

References

FileUse when
references/setup.mdSetting up the SDK via the DI/builder path (AddOpenTelemetry().WithTracing/WithMetrics/WithLogging, UseOtlpExporter, OpenTelemetrySdk.Create, OpenTelemetry.Extensions.Hosting), exporter wiring, env-var / IConfiguration inputs, and why there is no declarative YAML config in .NET.
references/api.mdInstrumenting with native BCL APIs (ActivitySource/Activity, System.Diagnostics.Metrics.Meter, ILogger), how the SDK subscribes (AddSource/AddMeter), attributes, propagation, and the optional OTel API shim.
references/instrumentation-libraries.mdZero-code (the opentelemetry-dotnet-instrumentation CLR-profiler agent), the contrib instrumentation-package catalog, and manual instrumentation following semconv.
references/performance.mdTuning sampling, batch export processor, periodic metric reader, views, exporter choice, async context, graceful shutdown.
references/breaking-changes.mdAuditing existing code for deprecated/renamed APIs and semconv changes across recent core/contrib releases.

Sources of Truth

For YAML schema details (language-agnostic), see the otel-declarative-config skill — but note .NET does not yet implement declarative config (see references/setup.md). For .NET-specific facts:

FactFetch
Latest OpenTelemetry core / core-* taggh api repos/open-telemetry/opentelemetry-dotnet/releases/latest -q '.tag_name'
Latest NuGet package (OpenTelemetry, OpenTelemetry.Extensions.Hosting, exporters, OpenTelemetry.Instrumentation.<pkg>)WebFetch https://www.nuget.org/packages/<PackageId> (Version)
Latest auto-instrumentation agentgh api repos/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest -q '.tag_name'
Core CHANGELOG (per package)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet/main/src/<Package>/CHANGELOG.md
Contrib CHANGELOG (per package)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-dotnet-contrib/main/src/<Package>/CHANGELOG.md
.NET getting-started / instrumentation docsWebFetch https://opentelemetry.io/docs/languages/dotnet/instrumentation/
Zero-code agent docsWebFetch https://opentelemetry.io/docs/zero-code/dotnet/

Cross-References

  • Schema-level facts: otel-declarative-config skill (language-agnostic YAML schema sources; .NET not yet implemented).
  • SDK version selection across languages: otel-sdk-versions skill.
  • Semantic conventions lookup: otel-semantic-conventions skill.
Repository
ollygarden/opentelemetry-agent-skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.