otel-instrumentation

Expert guidance for emitting high-quality, cost-efficient OpenTelemetry telemetry. Use when instrumenting applications with traces, metrics, or logs. Triggers on requests for observability, telemetry, tracing, metrics collection, logging integration, or OTel setup.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "otel-instrumentation" with this command: npx skills add dash0hq/agent-skills/dash0hq-agent-skills-otel-instrumentation

OpenTelemetry Instrumentation Guide

Expert guidance for implementing high-quality, cost-efficient OpenTelemetry telemetry.

Rules

RuleDescription
telemetryEntrypoint - signal types, correlation, and navigation
resolve-valuesResolving configuration values from the codebase
resourcesResource attributes - service identity and environment
k8sKubernetes deployment - downward API, pod spec
spansSpans - naming, kind, status, and hygiene
logsLogs - structured logging, severity, trace correlation
metricsMetrics - instrument types, naming, units, cardinality
nodejsNode.js instrumentation setup
goGo instrumentation setup
pythonPython instrumentation setup
javaJava instrumentation setup
scalaScala instrumentation setup
dotnet.NET instrumentation setup
rubyRuby instrumentation setup
phpPHP instrumentation setup
browserBrowser instrumentation setup
nextjsNext.js full-stack instrumentation (App Router)

Official documentation

Key principles

Signal density over volume

Every telemetry item should serve one of three purposes:

  • Detect - Help identify that something is wrong
  • Localize - Help pinpoint where the problem is
  • Explain - Help understand why it happened

If it doesn't serve one of these purposes, don't emit it.

Sample in the pipeline, not the SDK

Use the AlwaysOn sampler (the default) in every SDK. Do not configure SDK-side samplers — they make irreversible decisions before the outcome of a request is known. Defer all sampling to the Collector, where policies can be changed centrally without redeploying applications.

SDK (AlwaysOn)  →  Collector (sampling)  →  Backend (retention)
     ↓                    ↓                       ↓
  All spans         Head or tail            Storage policies
  exported          sampling applied

Quick reference

Use CaseRule
Node.js backendnodejs
Go backendgo
Python backendpython
Java backendjava
Scala backendscala
.NET backenddotnet
Ruby backendruby
PHP backendphp
Browser frontendbrowser
Next.js (App Router)nextjs
Kubernetes pod speck8s
Resolve config valuesresolve-values
Resource attributesresources
Writing metricsmetrics
Cardinality managementmetrics
Span naming, kind, statusspans
Writing logslogs
Signal overviewtelemetry

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

otel-ottl

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

otel-semantic-conventions

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

otel-collector

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

vercel-composition-patterns

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

Repository Source
86.6K23Kvercel