Not in the top 1,000 by GitHub stars
dash0hq/agent-skills
OpenTelemetry skills and reference documentation for AI coding assistants - instrumentation patterns, telemetry quality guides, and Dash0 integration
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/otel-collector/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76b6e98cfb1d → 120c2a9f0bfd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76b6e98cfb1d
No earlier version was observed for comparison.
skills/otel-instrumentation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76b6e98cfb1d → 120c2a9f0bfd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76b6e98cfb1d
No earlier version was observed for comparison.
skills/otel-ottl/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
76b6e98cfb1d → 120c2a9f0bfd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76b6e98cfb1d
No earlier version was observed for comparison.
skills/otel-semantic-conventions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
76b6e98cfb1d → 120c2a9f0bfd
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76b6e98cfb1d
No earlier version was observed for comparison.
Verified commit 120c2a9f0bfd143ee9ccd911b95626ece33c37fe
git clone --filter=blob:none --no-checkout https://github.com/dash0hq/agent-skills.git .hotskills/dash0hq-agent-skills && git -C .hotskills/dash0hq-agent-skills checkout --detach 120c2a9f0bfd143ee9ccd911b95626ece33c37fe
# Copy each selected skill directory from .hotskills/dash0hq-agent-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/dash0hq/agent-skills.git .hotskills/dash0hq-agent-skills && git -C .hotskills/dash0hq-agent-skills checkout --detach 120c2a9f0bfd143ee9ccd911b95626ece33c37fe
# Copy each selected skill directory from .hotskills/dash0hq-agent-skills into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/dash0hq/agent-skills.git .hotskills/dash0hq-agent-skills && git -C .hotskills/dash0hq-agent-skills checkout --detach 120c2a9f0bfd143ee9ccd911b95626ece33c37fe
# Copy each selected skill directory from .hotskills/dash0hq-agent-skills into .gemini/skills/<skill-name>/Heat
3.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- otel-collector
skills/otel-collector - otel-instrumentation
skills/otel-instrumentation - otel-ottl
skills/otel-ottl - otel-semantic-conventions
skills/otel-semantic-conventions
How it works
otel-collector
When your agent uses it
Expert guidance for configuring and deploying the OpenTelemetry Collector. Use when setting up a Collector pipeline, configuring receivers, exporters, or processors, deploying a Collector to Kubernetes or Docker, or forwarding telemetry to Dash0. Triggers on requests involving collector, pipeline, OTLP receiver, exporter, or Dash0 collector setup.
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
2,116 tokensWhen the skill is activated
Reference documents
36,820 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Rules
- Key principles
- Quick start
- Configuration workflow
- Quick reference
- Official documentation
Files
../../.claude-plugin/plugin.jsonasset669 bytesREADME.mddoc5,093 bytesSKILL.mdcore8,701 bytesrules/custom-distributions.mddoc6,625 bytesrules/deployment.mddoc4,245 bytesrules/deployment/collector-helm-chart.mddoc11,301 bytesrules/deployment/dash0-operator.mddoc19,471 bytesrules/deployment/opentelemetry-operator.mddoc15,377 bytesrules/deployment/raw-manifests.mddoc18,450 bytesrules/exporters.mddoc9,129 bytesrules/pipelines.mddoc9,409 bytesrules/processors.mddoc17,562 bytesrules/receivers.mddoc12,447 bytesrules/red-metrics.mddoc16,256 bytesrules/sampling.mddoc12,135 bytes
Read SKILL.md
# OpenTelemetry Collector configuration guide
Expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry.
## Rules
| Rule | Description |
|------|-------------|
| [receivers](./rules/receivers.md) | Receivers — OTLP, Prometheus, filelog, hostmetrics |
| [exporters](./rules/exporters.md) | Exporters — OTLP/gRPC to Dash0, debug, authentication |
| [processors](./rules/processors.md) | Processors — memory limiter, resource detection, ordering, sending queue |
| [pipelines](./rules/pipelines.md) | Pipelines — service section, per-signal configuration, connectors |
| [deployment](./rules/deployment.md) | Deployment — agent vs gateway patterns, deployment method selection |
| [dash0-operator](./rules/deployment/dash0-operator.md) | Dash0 Kubernetes Operator — automated instrumentation, Collector management, Dash0 export |View the complete source on GitHubotel-instrumentation
When your agent uses it
Configures trace spans, defines custom metrics, sets up log exporters, and optimizes sampling strategies for OpenTelemetry instrumentation. Use when instrumenting applications with traces, metrics, or logs. Triggers on requests for observability, telemetry, tracing, metrics collection, logging integration, or OTel setup.
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,446 tokensWhen the skill is activated
Reference documents
80,484 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Rules & Quick Reference
- Official documentation
- Getting started
- Key principles
Files
../otel-collector/rules/sampling.mddoc12,135 bytesREADME.mddoc4,921 bytesSKILL.mdcore6,157 bytesrules/capture-database-query-parameters.mddoc5,064 bytesrules/logs.mddoc10,314 bytesrules/metrics.mddoc23,210 bytesrules/platforms/k8s.mddoc7,891 bytesrules/resolve-values.mddoc11,545 bytesrules/resources.mddoc11,189 bytesrules/sdks/browser.mddoc5,347 bytesrules/sdks/dotnet.mddoc21,118 bytesrules/sdks/go.mddoc30,631 bytesrules/sdks/java.mddoc17,631 bytesrules/sdks/nextjs.mddoc16,611 bytesrules/sdks/nodejs.mddoc25,313 bytesrules/sdks/php.mddoc16,551 bytesrules/sdks/python.mddoc18,889 bytesrules/sdks/ruby.mddoc15,452 bytesrules/sdks/scala.mddoc24,139 bytesrules/sensitive-data.mddoc16,623 bytesrules/spans.mddoc32,767 bytesrules/telemetry.mddoc2,170 bytesrules/validation.mddoc9,075 bytesrules/verify-dependencies.mddoc6,802 bytes
Read SKILL.md
# OpenTelemetry Instrumentation Guide
Expert guidance for implementing high-quality, cost-efficient OpenTelemetry telemetry.
## Rules & Quick Reference
| Use Case / Rule | Description |
|-----------------|-------------|
| [telemetry](./rules/telemetry.md) | **Entrypoint** — signal types, correlation, and navigation |
| [resolve-values](./rules/resolve-values.md) | Resolving configuration values from the codebase |
| [verify-dependencies](./rules/verify-dependencies.md) | Verifying instrumentation packages and versions exist before adding them |
| [resources](./rules/resources.md) | Resource attributes — service identity and environment |
| [k8s](./rules/platforms/k8s.md) | Kubernetes deployment — downward API, pod spec |
| [spans](./rules/spans.md) | Spans — naming, kind, status, and hygiene |View the complete source on GitHubotel-ottl
When your agent uses it
OpenTelemetry Transformation Language (OTTL) expert. Use when writing or debugging OTTL expressions for any OpenTelemetry Collector component that supports OTTL (processors, connectors, receivers, exporters). Triggers on tasks involving telemetry transformation, filtering, attribute manipulation, data redaction, sampling policies, routing, or Collector configuration. Covers syntax, contexts, functions, error handling, and performance.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
1,450 tokensWhen the skill is activated
Reference documents
4,710 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Components that use OTTL
- OTTL syntax
- Validation workflow
- Common patterns
- Error handling
- Performance
- References
Files
SKILL.mdcore6,257 bytesrules/cardinality.mddoc1,515 bytesrules/components.mddoc1,177 bytesrules/enrichment.mddoc722 bytesrules/function-reference.mddoc11,113 bytesrules/patterns.mddoc1,441 bytesrules/redaction.mddoc2,814 bytes
Read SKILL.md
# OpenTelemetry Transformation Language (OTTL)
## Components that use OTTL
OTTL is not limited to the transform and filter processors.
Processors (transform, filter, tailsampling, logdedup) and connectors (routing, count, sum, signaltometrics) accept OTTL expressions.
See [components](./rules/components.md) for the full list with use cases.
## OTTL syntax
### Path expressions
Navigate telemetry data using dot notation:
View the complete source on GitHubotel-semantic-conventions
When your agent uses it
OpenTelemetry Semantic Conventions expert. Use when selecting, applying, or reviewing telemetry attributes. Triggers on tasks involving attribute selection, semantic convention compliance, attribute migration, or custom attribute decisions. Covers the attribute registry, naming patterns, attribute placement, and versioning. For span names, span kinds, and span status codes, see the otel-instrumentation skill.
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
1,020 tokensWhen the skill is activated
Reference documents
5,748 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Rules
- Official documentation
- How to select the right attribute
Files
SKILL.mdcore5,100 bytesSKILL.mdcore5,100 bytesrules/attributes.mddoc14,407 bytesrules/dash0.mddoc5,968 bytesrules/versioning.mddoc3,368 bytes
Read SKILL.md
# OpenTelemetry Semantic Conventions
This skill governs correct selection, placement, and validation of telemetry attributes and metric instruments according to the OpenTelemetry Semantic Conventions specification.
For span naming, span kinds, and span status codes, see the [otel-instrumentation](../otel-instrumentation/) skill.
The [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) is the single source of truth for all defined attributes.
## Rules
| Rule | Description | Use Case |
|-------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------|
| [attributes](./rules/attributes.md) | Attribute registry, selection, placement, common attributes by domain | Choosing or reviewing attributes; HTTP/DB/messaging/RPC attributes; attribute placement (resource vs span) |
| [versioning](./rules/versioning.md) | Semconv versioning, stability, migration | Semconv version migration |
| [dash0](./rules/dash0.md) | Dash0 derived attributes and feature dependencies | Dash0 derived attributes |View the complete source on GitHubSkills included
- otel-collector
- otel-instrumentation
- otel-ottl
- otel-semantic-conventions
Repository facts
- License
- Apache-2.0
- Created
- Feb 24, 2026
- Last pushed
- Nov 3, 2026
- Forks
- 16
- Open issues
- 2
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
skills/otel-semantic-conventions/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 4 dangerous shell commandsin 3 files: otel-instrumentation/rules/metrics.md:291 otel-instrumentation/rules/sdks/nextjs.md:258 otel-instrumentation/rules/sdks/php.md:38
- 429 network referencesin 43 files: otel-instrumentation/rules/sdks/scala.md:27 otel-collector/rules/sampling.md:24 otel-instrumentation/rules/sdks/python.md:58 and 40 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 102 references to secretsin 25 files: otel-collector/rules/exporters.md:43 otel-instrumentation/rules/sdks/php.md:135 otel-instrumentation/rules/sdks/python.md:115 and 22 more
- No requests to vote in Hot
Show all 535 signals by file
.claude-plugin/plugin.json
- Network accessline 7
"email": "support@dash0.com" }, "homepage": "https://github.com/dash0hq/agent-skills", - Network accessline 8
}, "homepage": "https://github.com/dash0hq/agent-skills", "repository": "https://github.com/dash0hq/agent-skills", - Network accessline 9
"homepage": "https://github.com/dash0hq/agent-skills", - Network accessline 10
"repository": "https://github.com/dash0hq/agent-skills",
skills/otel-collector/README.md
- Network accessline 53
**Get your credentials:** - **OTLP Endpoint**: In Dash0: [Settings → Organization → Endpoints → OTLP via HTTP](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_http) or [Settings → Organization → Endpoints → OTLP via gRPC](h - Network accessline 54
- **OTLP Endpoint**: In Dash0: [Settings → Organization → Endpoints → OTLP via HTTP](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_http) or [Settings → Organization → Endpoints → OTLP via gRPC](https://app.dash0.com/goto/ - Network accessline 55
- **Auth Token**: In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 78
[Credential-related source omitted] - Network accessline 109
Replace the placeholders with values from your Dash0 account: - `<OTLP_ENDPOINT>`: copy the gRPC endpoint from [Settings → Endpoints → OTLP via gRPC](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_grpc) (e.g., `ingress.eu- - Network accessline 110
- `<OTLP_ENDPOINT>`: copy the gRPC endpoint from [Settings → Endpoints → OTLP via gRPC](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_grpc) (e.g., `ingress.eu-west-1.aws.dash0.com:4317`). - Network accessline 111
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted] - Network accessline 122
- [OpenTelemetry Collector docs](https://opentelemetry.io/docs/collector/) - Network accessline 123
- [Dash0 Integration Hub](https://www.dash0.com/hub/integrations) - Network accessline 124
- [Dash0 Guides](https://www.dash0.com/guides?category=opentelemetry)
skills/otel-collector/SKILL.md
- Access to secretsline 83
[Credential-related source omitted] - Network accessline 150
- [OpenTelemetry Collector documentation](https://opentelemetry.io/docs/collector/) - Network accessline 151
- [Collector configuration](https://opentelemetry.io/docs/collector/configuration/) - Network accessline 152
- [Collector contrib components](https://github.com/open-telemetry/opentelemetry-collector-contrib) - Network accessline 153
- [Dash0 Integration Hub](https://www.dash0.com/hub/integrations)
skills/otel-collector/rules/custom-distributions.md
- Network accessline 13
The [OpenTelemetry Collector contrib distribution](https://github.com/open-telemetry/opentelemetry-collector-contrib) bundles 200+ components. - Network accessline 27
The [OpenTelemetry Collector Builder](https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder) (`ocb`) generates a Collector binary from a manifest file that lists the desired components and their versions. - Network accessline 73
Note: It is possible, and will become increasingly common, to have "off-tree" components that do not reside in the [Collector Core](https://github.com/open-telemetry/opentelemetry-collector) and [Collector Contrib](https://github.com/open-t - Network accessline 95
**Note:** Enable batching on the exporter with `sending_queue: { batch: {} }` instead of adding the `batchprocessor`; see [exporter queues](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.m - Network accessline 161
- [OpenTelemetry Collector Builder (OCB)](https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder) - Network accessline 162
- [Building a custom Collector](https://opentelemetry.io/docs/collector/custom-collector/) - Network accessline 163
- [Contrib components list](https://github.com/open-telemetry/opentelemetry-collector-contrib)
skills/otel-collector/rules/deployment.md
- Network accessline 92
- [OpenTelemetry Operator](./deployment/opentelemetry-operator.md) - [Dash0 Kubernetes Operator](./deployment/dash0-operator.md) - [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - Network accessline 93
- [Dash0 Kubernetes Operator](./deployment/dash0-operator.md) - [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - [Collector on Kubernetes](https://opentelemetry.io/docs/collector/deployment/kubernetes/) - Network accessline 94
- [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - Network accessline 95
- [Collector on Kubernetes](https://opentelemetry.io/docs/collector/deployment/kubernetes/) - Network accessline 96
- [Kubernetes attributes best practices](https://www.dash0.com/guides/opentelemetry-kubernetes-attributes-best-practices)
skills/otel-collector/rules/deployment/collector-helm-chart.md
- Network accessline 14
The [OpenTelemetry Collector Helm chart](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-collector) deploys the Collector as a DaemonSet, Deployment, or StatefulSet with a single `helm install` com - Network accessline 20
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts - Access to secretsline 83
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Network accessline 308
Check that business attributes set in application code (e.g., `order.id`) appear on spans, and that `CLIENT` spans are children of `SERVER` spans (not root spans). 6. **Dash0 dataset header is set.** If the organization uses multiple [da - Network accessline 309
6. **Dash0 dataset header is set.** If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the Helm values. The debug exporter shows telemetr - Network accessline 310
If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the Helm values. - Network accessline 324
If the Dash0 organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), add the `Dash0-Dataset` header to the OTLP exporter to route telemetry to the correct dataset. - Access to secretsline 333
[Credential-related source omitted] - Network accessline 354
- [OpenTelemetry Collector Helm chart](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-collector) - Network accessline 355
- [Helm chart values](https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-collector/values.yaml)
skills/otel-collector/rules/deployment/dash0-operator.md
- Network accessline 16
The [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator) automates OpenTelemetry instrumentation, Collector deployment, and telemetry export to Dash0 or any OTLP-compatible backend. - Network accessline 35
helm repo add dash0-operator https://dash0hq.github.io/dash0-operator - Network accessline 52
Replace the placeholders: - `<OTLP_ENDPOINT>`: copy the gRPC endpoint from [Settings → Endpoints → OTLP via gRPC](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_grpc) (e.g., `ingress.eu-west-1.aws.dash0.com:4317`). - Network accessline 53
- `<OTLP_ENDPOINT>`: copy the gRPC endpoint from [Settings → Endpoints → OTLP via gRPC](https://app.dash0.com/goto/settings/endpoints?endpoint_type=otlp_grpc) (e.g., `ingress.eu-west-1.aws.dash0.com:4317`). - Network accessline 54
- `<API_ENDPOINT>`: copy the API endpoint from [Settings → Endpoints → API](https://app.dash0.com/goto/settings/endpoints?endpoint_type=api_http). - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Network accessline 70
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Network accessline 271
Check that business attributes set in application code (e.g., `order.id`) appear on spans, and that `CLIENT` spans are children of `SERVER` spans (not root spans). 5. **Telemetry lands in the correct dataset.** If the organization uses m - Network accessline 272
5. **Telemetry lands in the correct dataset.** If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify that telemetry appears in the expected dataset. See [Dash0 dataset ro - Network accessline 273
If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify that telemetry appears in the expected dataset. - Network accessline 278
If the Dash0 organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), set the `dataset` field on the Dash0 export in `Dash0OperatorConfiguration`. - Network accessline 390
source: chart: dash0-operator repoURL: https://dash0hq.github.io/dash0-operator - Network accessline 391
chart: dash0-operator repoURL: https://dash0hq.github.io/dash0-operator targetRevision: "..." - Network accessline 392
repoURL: https://dash0hq.github.io/dash0-operator - Network accessline 469
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator) - Network accessline 470
- [Dash0 Integration Hub](https://www.dash0.com/hub/integrations)
skills/otel-collector/rules/deployment/opentelemetry-operator.md
- Network accessline 14
The [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator) is a Kubernetes operator that manages Collector instances and auto-instrumentation injection via custom resources. - Network accessline 19
The operator requires [cert-manager](https://cert-manager.io/) for webhook TLS certificates. - Network accessline 22
# Install cert-manager (if not already present) kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.yaml - Network accessline 23
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.yaml - Network accessline 25
# Install the operator kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml - Network accessline 26
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 183
[Credential-related source omitted] - Network accessline 276
spec: exporter: endpoint: http://otel-agent.otel.svc.cluster.local:4317 - Network accessline 277
exporter: endpoint: http://otel-agent.otel.svc.cluster.local:4317 propagators: - Network accessline 278
endpoint: http://otel-agent.otel.svc.cluster.local:4317 - Access to secretsline 370
[Credential-related source omitted] - Network accessline 411
Check that business attributes set in application code (e.g., `order.id`) appear on spans, and that `CLIENT` spans are children of `SERVER` spans (not root spans). 6. **Dash0 dataset header is set.** If the organization uses multiple [da - Network accessline 412
6. **Dash0 dataset header is set.** If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the `OpenTelemetryCollector` CR. The debug exporte - Network accessline 413
If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the `OpenTelemetryCollector` CR. - Network accessline 427
If the Dash0 organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), add the `Dash0-Dataset` header to the OTLP exporter in the `OpenTelemetryCollector` CR. - Access to secretsline 440
[Credential-related source omitted] - Network accessline 464
- [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator) - Network accessline 465
- [Operator API reference](https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md) - Network accessline 466
- [Auto-instrumentation](https://opentelemetry.io/docs/kubernetes/operator/automatic/)
skills/otel-collector/rules/deployment/raw-manifests.md
- Access to secretsline 142
[Credential-related source omitted] - Access to secretsline 243
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Network accessline 388
restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:13133/"] - Network accessline 389
healthcheck: test: ["CMD", "curl", "-f", "http://localhost:13133/"] interval: 10s - Network accessline 390
test: ["CMD", "curl", "-f", "http://localhost:13133/"] - Access to secretsline 433
[Credential-related source omitted] - Network accessline 482
Check that business attributes set in application code (e.g., `order.id`) appear on spans, and that `CLIENT` spans are children of `SERVER` spans (not root spans). 6. **Dash0 dataset header is set.** If the organization uses multiple [da - Network accessline 483
6. **Dash0 dataset header is set.** If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the ConfigMap. The debug exporter shows telemetry - Network accessline 484
If the organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), verify the `Dash0-Dataset` header in the ConfigMap. - Network accessline 498
If the Dash0 organization uses multiple [datasets](https://www.dash0.com/documentation/dash0/key-concepts/datasets), add the `Dash0-Dataset` header to the OTLP exporter in the Collector configuration. - Access to secretsline 505
[Credential-related source omitted] - Network accessline 533
- [OpenTelemetry Operator](./opentelemetry-operator.md) - [Dash0 Kubernetes Operator](./dash0-operator.md) - [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - Network accessline 534
- [Dash0 Kubernetes Operator](./dash0-operator.md) - [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - [Collector on Kubernetes](https://opentelemetry.io/docs/collector/deployment/kubernetes/) - Network accessline 535
- [Collector deployment](https://opentelemetry.io/docs/collector/deployment/) - Network accessline 536
- [Collector on Kubernetes](https://opentelemetry.io/docs/collector/deployment/kubernetes/) - Network accessline 537
- [Kubernetes attributes best practices](https://www.dash0.com/guides/opentelemetry-kubernetes-attributes-best-practices)
skills/otel-collector/rules/exporters.md
- Network accessline 33
1. **OTLP Endpoint**: In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmN - Network accessline 34
2. **Auth Token**: In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 86
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Network accessline 135
Use `file_storage` with the [file storage extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/storage/filestorage) to persist the queue to disk. - Network accessline 143
Create a dedicated auth token with `Ingesting` permissions only. The Collector needs to send telemetry, not query or manage the organization. In Dash0, create the token at [Settings → Auth Tokens → Create Token](https://app.dash0.com/settin - Network accessline 144
The Collector needs to send telemetry, not query or manage the organization. In Dash0, create the token at [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) and select the `Ingesting` scope. See [auth token - Network accessline 145
In Dash0, create the token at [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) and select the `Ingesting` scope. - Network accessline 146
See [auth tokens](https://www.dash0.com/documentation/dash0/key-concepts/auth-tokens) for details on available permission scopes. - Access to secretsline 154
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 185
[Credential-related source omitted] - Access to secretsline 210
[Credential-related source omitted] - Access to secretsline 238
[Credential-related source omitted] - Network accessline 272
- [OTLP/gRPC exporter](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlpexporter) - Network accessline 273
- [OTLP/HTTP exporter](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlphttpexporter) - Network accessline 274
- [Debug exporter](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter) - Network accessline 275
- [File storage extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/storage/filestorage)
skills/otel-collector/rules/pipelines.md
- Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 223
[Credential-related source omitted] - Network accessline 310
- [Collector configuration](https://opentelemetry.io/docs/collector/configuration/) - Network accessline 311
- [Connectors](https://opentelemetry.io/docs/collector/connectors/) - Network accessline 312
- [Signal to metrics connector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/signaltometricsconnector) - Network accessline 313
- [Health check extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/healthcheckextension)
skills/otel-collector/rules/processors.md
- Access to secretsline 78
[Credential-related source omitted] - Network accessline 306
metric: - 'name == "http.server.duration" and instrumentation_scope.name == "@opentelemetry/instrumentation-http"' - 'name == "http.client.duration" and instrumentation_scope.name == "@opentelemetry/instrumentation-http"' - Network accessline 308
- 'name == "http.client.duration" and instrumentation_scope.name == "@opentelemetry/instrumentation-http"' - Network accessline 395
- [Memory limiter processor](https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/memorylimiterprocessor) - Network accessline 396
- [File storage extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/storage/filestorage) - Network accessline 397
- [Why the batch processor is going away](https://www.dash0.com/blog/why-the-opentelemetry-batch-processor-is-going-away-eventually) - Network accessline 398
- [Filter processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/filterprocessor) - Network accessline 399
- [Resource detection processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor) - Network accessline 400
- [Kubernetes attributes processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor) - Network accessline 401
- [Resource processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourceprocessor) - Network accessline 402
- [Kubernetes attributes best practices](https://www.dash0.com/guides/opentelemetry-kubernetes-attributes-best-practices)
skills/otel-collector/rules/receivers.md
- Network accessline 436
- [OTLP receiver](https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver/otlpreceiver) - Network accessline 437
- [Prometheus receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/prometheusreceiver) - Network accessline 438
- [Filelog receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver) - Network accessline 439
- [Hostmetrics receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver)
skills/otel-collector/rules/red-metrics.md
- Network accessline 39
The [HTTP metric semantic conventions](https://opentelemetry.io/docs/specs/semconv/http/http-metrics/) and [RPC metric semantic conventions](https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/) define four duration histograms. - Network accessline 43
|-------------|--------|-----------| | `http.server.request.duration` | HTTP server spans | `kind == SPAN_KIND_SERVER` and `http.request.method` present | | `http.client.request.duration` | HTTP client spans | `kind == SPAN_KIND_CLIENT` and - Network accessline 44
| `http.server.request.duration` | HTTP server spans | `kind == SPAN_KIND_SERVER` and `http.request.method` present | | `http.client.request.duration` | HTTP client spans | `kind == SPAN_KIND_CLIENT` and `http.request.method` present | | `r - Network accessline 45
| `http.client.request.duration` | HTTP client spans | `kind == SPAN_KIND_CLIENT` and `http.request.method` present | - Network accessline 70
signal_to_metrics: spans: # HTTP server duration — https://opentelemetry.io/docs/specs/semconv/http/http-metrics/ - Network accessline 71
spans: # HTTP server duration — https://opentelemetry.io/docs/specs/semconv/http/http-metrics/ - name: http.server.request.duration - Network accessline 72
# HTTP server duration — https://opentelemetry.io/docs/specs/semconv/http/http-metrics/ - name: http.server.request.duration description: "Duration of HTTP server requests." - Network accessline 109
# HTTP client duration — https://opentelemetry.io/docs/specs/semconv/http/http-metrics/ - name: http.client.request.duration description: "Duration of HTTP client requests." - Network accessline 110
- name: http.client.request.duration description: "Duration of HTTP client requests." unit: s - Network accessline 151
signal_to_metrics: spans: # RPC server duration — https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/ - Network accessline 152
spans: # RPC server duration — https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/ - name: rpc.server.call.duration - Network accessline 153
# RPC server duration — https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/ - Network accessline 190
# RPC client duration — https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/ - Network accessline 297
- name: http.client.request.duration description: "Duration of HTTP client requests." - Network accessline 430
- [Signal to metrics connector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/signaltometricsconnector) - Network accessline 431
- [Span metrics connector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector) - Network accessline 432
- [HTTP metric semantic conventions](https://opentelemetry.io/docs/specs/semconv/http/http-metrics/) - Network accessline 433
- [RPC metric semantic conventions](https://opentelemetry.io/docs/specs/semconv/rpc/rpc-metrics/)
skills/otel-collector/rules/sampling.md
- Network accessline 24
| Requirement | Approach | Collector component | |-------------|----------|---------------------| | Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetr - Network accessline 24
| Requirement | Approach | Collector component | |-------------|----------|---------------------| | Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetr - Network accessline 25
|-------------|----------|---------------------| | Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabili - Network accessline 25
|-------------|----------|---------------------| | Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabili - Network accessline 26
| Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) | - Network accessline 26
| Reduce trace volume by a fixed percentage | Head sampling | [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) | - Network accessline 27
| Keep all errors, slow traces, and a baseline of normal traces | Tail sampling | [`tailsamplingprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor) | - Network accessline 27
| Keep all errors, slow traces, and a baseline of normal traces | Tail sampling | [`tailsamplingprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor) | - Network accessline 28
| Route all spans of a trace to the same Collector instance | Trace-aware load balancing | [`loadbalancingexporter`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/loadbalancingexporter) | - Network accessline 28
| Route all spans of a trace to the same Collector instance | Trace-aware load balancing | [`loadbalancingexporter`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/loadbalancingexporter) | - Network accessline 29
| Generate accurate RED metrics from all traces before sampling | [Metric materialization](./red-metrics.md) | [`signaltometricsconnector`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/signaltometric - Network accessline 29
| Generate accurate RED metrics from all traces before sampling | [Metric materialization](./red-metrics.md) | [`signaltometricsconnector`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/signaltometric - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted] - Network accessline 129
The `loadbalancingexporter` uses DNS to discover gateway instances. Create a [headless Service](https://kubernetes.io/docs/concepts/services-networking/headless-services/) (with `clusterIP: None`) for the gateway so that DNS returns individ - Network accessline 129
The `loadbalancingexporter` uses DNS to discover gateway instances. Create a [headless Service](https://kubernetes.io/docs/concepts/services-networking/headless-services/) (with `clusterIP: None`) for the gateway so that DNS returns individ - Network accessline 130
Create a [headless Service](https://kubernetes.io/docs/concepts/services-networking/headless-services/) (with `clusterIP: None`) for the gateway so that DNS returns individual pod IPs rather than a virtual IP. - Network accessline 130
Create a [headless Service](https://kubernetes.io/docs/concepts/services-networking/headless-services/) (with `clusterIP: None`) for the gateway so that DNS returns individual pod IPs rather than a virtual IP. - Access to secretsline 189
[Credential-related source omitted] - Access to secretsline 189
[Credential-related source omitted] - Network accessline 283
- [Probabilistic sampler processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) - Network accessline 283
- [Probabilistic sampler processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) - Network accessline 284
- [Tail sampling processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor) - Network accessline 284
- [Tail sampling processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor) - Network accessline 285
- [Load balancing exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/loadbalancingexporter) - Network accessline 285
- [Load balancing exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/loadbalancingexporter)
skills/otel-instrumentation/README.md
- Network accessline 89
**Get your credentials:** - **OTLP Endpoint**: In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0 - Network accessline 90
- **OTLP Endpoint**: In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNV - Network accessline 91
- **Auth Token**: In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted] - Network accessline 129
- [OpenTelemetry Docs](https://opentelemetry.io/docs/) - Network accessline 130
- [Dash0 Integration Hub](https://www.dash0.com/hub/integrations) - Network accessline 131
- [Dash0 Guides](https://www.dash0.com/guides?category=opentelemetry)
skills/otel-instrumentation/SKILL.md
skills/otel-instrumentation/rules/capture-database-query-parameters.md
skills/otel-instrumentation/rules/logs.md
- Network accessline 219
- [Logs](https://opentelemetry.io/docs/concepts/signals/logs/) - Network accessline 220
- [Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/) - Network accessline 221
- [Trace Context in non-OTLP Log Formats](https://opentelemetry.io/docs/specs/otel/compatibility/logging_trace_context/)
skills/otel-instrumentation/rules/metrics.md
- Network accessline 17
Before creating a custom metric, check the [semantic conventions for metrics](https://opentelemetry.io/docs/specs/semconv/general/metrics/). - Network accessline 48
|--------|----------------------------------|-----------------| | HTTP server | `instrumentation-http`, `AspNetCore`, `otelhttp` | `http.server.request.duration`, `http.server.active_requests` | | HTTP client | `instrumentation-http`, `Http - Network accessline 49
| HTTP server | `instrumentation-http`, `AspNetCore`, `otelhttp` | `http.server.request.duration`, `http.server.active_requests` | | HTTP client | `instrumentation-http`, `HttpClient` | `http.client.request.duration` | | Database client | ` - Network accessline 50
| HTTP client | `instrumentation-http`, `HttpClient` | `http.client.request.duration` | - Network accessline 56
Refer to the [semantic conventions metric reference](https://opentelemetry.io/docs/specs/semconv/general/metrics/) and the documentation of each instrumentation library for the full list. - Network accessline 136
Do not create custom metrics in semantic convention namespaces that already exist in the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/). - Network accessline 142
- **Semconv first.** Before creating a metric, search the [semantic convention metric definitions](https://opentelemetry.io/docs/specs/semconv/) for your domain (HTTP, database, messaging, runtime, etc.). - Network accessline 143
Before creating a metric, search the [semantic convention metric definitions](https://opentelemetry.io/docs/specs/semconv/) for your domain (HTTP, database, messaging, runtime, etc.). - Network accessline 162
Always specify a unit using [UCUM](https://ucum.org/) notation. - Dangerous shell operationline 291
for (const rm of resourceMetrics) { - Dangerous shell operationline 340
for (const rm of exporter.getMetrics()) { - Network accessline 470
- [Metrics](https://opentelemetry.io/docs/concepts/signals/metrics/) - Network accessline 471
- [Semantic Conventions for Metrics](https://opentelemetry.io/docs/specs/semconv/general/metrics/) - Network accessline 472
- [UCUM](https://ucum.org/) — unified code for units of measure
skills/otel-instrumentation/rules/platforms/k8s.md
- Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Network accessline 118
Use the [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator) to automate instrumentation and resource attribute injection for all workloads in a cluster. - Network accessline 140
- [Kubernetes attributes best practices](https://www.dash0.com/guides/opentelemetry-kubernetes-attributes-best-practices) - Network accessline 141
- [Kubernetes semantic conventions](https://opentelemetry.io/docs/specs/semconv/resource/k8s/) - Network accessline 142
- [Kubernetes downward API](https://kubernetes.io/docs/concepts/workloads/pods/downward-api/)
skills/otel-instrumentation/rules/resolve-values.md
- Network accessline 110
Generate a random [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122) UUID v4 at process startup. - Network accessline 153
1. **Existing configuration** — look for `OTEL_EXPORTER_OTLP_ENDPOINT` in `.env`, `.env.local`, `.env.production`, `docker-compose.yml`, Kubernetes manifests (ConfigMaps, Secrets), or Helm values files. 2. **Collector sidecar or DaemonSet** - Network accessline 154
2. **Collector sidecar or DaemonSet** — if the project deploys an OpenTelemetry Collector as a sidecar or DaemonSet, the SDK endpoint is `http://localhost:4317` (gRPC) or `http://localhost:4318` (HTTP). - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 184
[Credential-related source omitted] - Network accessline 206
In Dash0, create auth tokens at [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens). - Network accessline 217
Revoke tokens immediately if they are compromised or no longer needed. See [auth tokens](https://www.dash0.com/documentation/dash0/key-concepts/auth-tokens) for full details. - Network accessline 218
See [auth tokens](https://www.dash0.com/documentation/dash0/key-concepts/auth-tokens) for full details.
skills/otel-instrumentation/rules/resources.md
- Access to secretsline 188
[Credential-related source omitted] - Network accessline 194
- [`service.instance.id` semantic conventions](https://opentelemetry.io/docs/specs/semconv/registry/attributes/service/#service-instance-id) - Network accessline 195
- [Resource semantic conventions](https://opentelemetry.io/docs/specs/semconv/resource/) - Network accessline 196
- [OTel SDK configuration](https://opentelemetry.io/docs/languages/sdk-configuration/general/) - Network accessline 197
- [Service attributes best practices](https://www.dash0.com/guides/opentelemetry-service-attributes-best-practices)
skills/otel-instrumentation/rules/sdks/browser.md
- Network accessline 29
1. **OTLP Endpoint**: Your observability platform's HTTP endpoint - In Dash0: [Settings → Organization → Endpoints → "OTLP via HTTP"](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNE - Network accessline 30
- In Dash0: [Settings → Organization → Endpoints → "OTLP via HTTP"](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ - Network accessline 31
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 33
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 58
[Credential-related source omitted] - Network accessline 96
- [GitHub Repository](https://github.com/dash0hq/dash0-sdk-web) - Access to secretsline 147
[Credential-related source omitted] - Network accessline 193
- [OpenTelemetry JS Documentation](https://opentelemetry.io/docs/languages/js/getting-started/browser/)
skills/otel-instrumentation/rules/sdks/dotnet.md
- Network accessline 25
OTEL_DOTNET_VERSION=$(curl -sf "https://api.github.com/repos/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest" \ - Network accessline 26
| grep '"tag_name"' | cut -d'"' -f4) [ -z "$OTEL_DOTNET_VERSION" ] && { echo "Failed to resolve OTel .NET version" >&2; exit 1; } curl -L -O "https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/download/${OTEL_DO - Network accessline 27
[ -z "$OTEL_DOTNET_VERSION" ] && { echo "Failed to resolve OTel .NET version" >&2; exit 1; } curl -L -O "https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/download/${OTEL_DOTNET_VERSION}/otel-dotnet-auto-instal - Network accessline 28
curl -L -O "https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/download/${OTEL_DOTNET_VERSION}/otel-dotnet-auto-install.sh" - Network accessline 33
**Note**: This script is not supported on Apple Silicon. For Windows, use the [PowerShell guide](https://opentelemetry.io/docs/zero-code/dotnet/getting-started/). - Network accessline 34
For Windows, use the [PowerShell guide](https://opentelemetry.io/docs/zero-code/dotnet/getting-started/). - Network accessline 55
| `OTEL_LOGS_EXPORTER` | No | `none` | Set to `otlp` to export logs | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | ` - Network accessline 56
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP co - Network accessline 57
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP collector endpoint | - Network accessline 80
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 81
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 82
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 83
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 84
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Network accessline 280
Refer to [OpenTelemetry documentation](https://opentelemetry.io/docs/zero-code/dotnet/instrumentations/) for the complete list. - Network accessline 471
[Serilog](https://serilog.net/) with `Serilog.Formatting.Compact` produces single-line JSON output with exceptions serialized into a structured field. - Network accessline 574
- [OpenTelemetry .NET Documentation](https://opentelemetry.io/docs/languages/dotnet/) - Network accessline 575
- [Zero-Code Instrumentation for .NET](https://opentelemetry.io/docs/zero-code/dotnet/) - Network accessline 576
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 577
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/go.md
- Network accessline 35
Install instrumentation packages for the libraries you use from the [OpenTelemetry Registry](https://opentelemetry.io/ecosystem/registry/?language=go). - Network accessline 54
curl -s https://proxy.golang.org/go.opentelemetry.io/otel/@v/v1.45.0.mod | grep '^go ' - Network accessline 85
| `OTEL_LOGS_EXPORTER` | No | `none` | Leave unset: application logs stay on stdout per [logs](../logs.md) | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see - Network accessline 86
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP co - Network accessline 87
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP collector endpoint | - Network accessline 96
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Db29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 97
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Db29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 98
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 99
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 100
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 208
[Credential-related source omitted] - Access to secretsline 214
[Credential-related source omitted] - Access to secretsline 232
[Credential-related source omitted] - Access to secretsline 237
[Credential-related source omitted] - Network accessline 239
Go does not natively load `.env` files. Use a library like [godotenv](https://github.com/joho/godotenv) or source the file before running: - Network accessline 240
Use a library like [godotenv](https://github.com/joho/godotenv) or source the file before running: - Access to secretsline 249
[Credential-related source omitted] - Network accessline 333
Go uses individual instrumentation packages from the [OpenTelemetry Registry](https://opentelemetry.io/ecosystem/registry/?language=go). - Network accessline 346
Refer to the [OpenTelemetry Go instrumentation registry](https://opentelemetry.io/ecosystem/registry/?language=go) for the complete list. - Network accessline 360
// Wrap an HTTP client transport client := &http.Client{ - Network accessline 361
client := &http.Client{ - Network accessline 797
[zerolog](https://github.com/rs/zerolog) produces single-line JSON by default and handles errors as structured fields. - Network accessline 899
- [OpenTelemetry Go Documentation](https://opentelemetry.io/docs/languages/go/getting-started/) - Network accessline 900
- [OpenTelemetry Go Instrumentation Registry](https://opentelemetry.io/ecosystem/registry/?language=go) - Network accessline 901
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 902
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/java.md
- Network accessline 26
OTEL_JAVA_VERSION=$(curl -sf "https://api.github.com/repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest" \ - Network accessline 27
| grep '"tag_name"' | cut -d'"' -f4) [ -z "$OTEL_JAVA_VERSION" ] && { echo "Failed to resolve OTel Java version" >&2; exit 1; } wget "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/${OTEL_JAVA_VERSION - Network accessline 29
wget "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/${OTEL_JAVA_VERSION}/opentelemetry-javaagent.jar" - Network accessline 52
| `OTEL_LOGS_EXPORTER` | No | `otlp` | Logs exporter (default is already `otlp`) | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sa - Network accessline 53
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP co - Network accessline 54
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP collector endpoint | - Network accessline 63
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 64
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 65
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 66
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 67
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Access to secretsline 165
[Credential-related source omitted] - Network accessline 221
Refer to the [OpenTelemetry registry](https://opentelemetry.io/ecosystem/registry/?language=java) for the complete list. - Network accessline 381
The [logstash-logback-encoder](https://github.com/logfellow/logstash-logback-encoder) produces single-line JSON with stack traces serialized into a `stack_trace` field. - Network accessline 477
**Fix**: Verify the library version is supported by checking the [OpenTelemetry registry](https://opentelemetry.io/ecosystem/registry/?language=java). - Network accessline 487
- [OpenTelemetry Java Documentation](https://opentelemetry.io/docs/languages/java/) - Network accessline 488
- [Java Agent Releases](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases) - Network accessline 489
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 490
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/nextjs.md
- Network accessline 17
- Next.js 13+ with App Router - **OTLP Endpoint**: Your observability platform's HTTP endpoint - In Dash0: [Settings → Organization → Endpoints → "OTLP via HTTP"](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVcl - Network accessline 18
- **OTLP Endpoint**: Your observability platform's HTTP endpoint - In Dash0: [Settings → Organization → Endpoints → "OTLP via HTTP"](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_ - Network accessline 19
- In Dash0: [Settings → Organization → Endpoints → "OTLP via HTTP"](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ - Network accessline 20
- Format: `https://<region>.your-platform.com` - **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 21
- **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - For browser telemetry, use a token with limited permissions (Ingesting only) - Network accessline 22
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 60
[Credential-related source omitted] - Network accessline 86
// CRITICAL: Read env vars inside register() to ensure .env.local is loaded const OTEL_ENDPOINT = process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4318'; - Network accessline 87
[Credential-related source omitted] - Network accessline 88
process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4318'; - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Network accessline 186
serviceName: 'my-nextjs-app-frontend', endpoint: { url: process.env.NEXT_PUBLIC_OTEL_ENDPOINT || 'http://localhost:4318', - Network accessline 187
endpoint: { url: process.env.NEXT_PUBLIC_OTEL_ENDPOINT || 'http://localhost:4318', authToken: process.env.NEXT_PUBLIC_OTEL_AUTH_TOKEN || 'dev-token', - Network accessline 188
url: process.env.NEXT_PUBLIC_OTEL_ENDPOINT || 'http://localhost:4318', - Access to secretsline 189
[Credential-related source omitted] - Dangerous shell operationline 258
rm -rf .next && npm run dev - Network accessline 522
- [Next.js Instrumentation Docs](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation) - Network accessline 523
- [Dash0 SDK Web](https://github.com/dash0hq/dash0-sdk-web) - Network accessline 524
- [OpenTelemetry Node.js](https://opentelemetry.io/docs/languages/js/getting-started/nodejs/)
skills/otel-instrumentation/rules/sdks/nodejs.md
- Network accessline 62
| `OTEL_LOGS_EXPORTER` | No | `none` | Set to `otlp` to export logs | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | ` - Network accessline 63
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP co - Network accessline 64
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP collector endpoint | - Network accessline 78
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 79
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 80
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 81
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 82
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 195
[Credential-related source omitted] - Access to secretsline 201
[Credential-related source omitted] - Access to secretsline 220
[Credential-related source omitted] - Access to secretsline 240
[Credential-related source omitted] - Access to secretsline 274
[Credential-related source omitted] - Network accessline 341
Refer to [OpenTelemetry documentation](https://opentelemetry.io/ecosystem/registry/?language=js) for the complete list. - Network accessline 472
// GOOD: explicit confirmation from downstream const response = await fetch(url); - Network accessline 473
const response = await fetch(url); - Network accessline 636
- [OpenTelemetry Node.js Documentation](https://opentelemetry.io/docs/languages/js/getting-started/nodejs/) - Network accessline 637
- [Auto-Instrumentation Package](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) - Network accessline 638
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 639
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/php.md
- Dangerous shell operationline 38
sudo apt-get install gcc make autoconf - Network accessline 83
| `OTEL_LOGS_EXPORTER` | No | `none` | Set to `otlp` to export logs | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | ` - Network accessline 84
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP co - Network accessline 85
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP collector endpoint | - Network accessline 94
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 95
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 96
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 97
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 98
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 141
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 183
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Access to secretsline 197
[Credential-related source omitted] - Network accessline 248
Refer to [OpenTelemetry documentation](https://opentelemetry.io/ecosystem/registry/?language=php) for the complete list. - Network accessline 374
[Monolog](https://github.com/Seldaek/monolog) is the standard logging library for Laravel and Symfony. - Network accessline 474
- [OpenTelemetry PHP Documentation](https://opentelemetry.io/docs/languages/php/getting-started/) - Network accessline 475
- [OpenTelemetry PHP SDK on Packagist](https://packagist.org/packages/open-telemetry/sdk) - Network accessline 476
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 477
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/python.md
- Network accessline 58
| `OTEL_LOGS_EXPORTER` | No | `otlp` | Log exporter (defaults to `otlp`, unlike Node.js) | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spa - Network accessline 59
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP co - Network accessline 60
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4317` | OTLP collector endpoint | - Network accessline 69
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 70
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 71
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 72
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 73
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 144
[Credential-related source omitted] - Network accessline 146
Python does not automatically load `.env` files. Use a library like [python-dotenv](https://pypi.org/project/python-dotenv/) or export variables in your shell before running: - Network accessline 147
Use a library like [python-dotenv](https://pypi.org/project/python-dotenv/) or export variables in your shell before running: - Access to secretsline 155
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Access to secretsline 174
[Credential-related source omitted] - Network accessline 237
| Logging | logging (stdlib) | | gRPC | grpcio | | AI/LLM | [OpenLLMetry](https://github.com/traceloop/openllmetry), [OpenLit](https://github.com/openlit/openlit) (generative AI, Langchain observability) | - Network accessline 239
| AI/LLM | [OpenLLMetry](https://github.com/traceloop/openllmetry), [OpenLit](https://github.com/openlit/openlit) (generative AI, Langchain observability) | - Network accessline 241
Refer to [OpenTelemetry documentation](https://opentelemetry.io/ecosystem/registry/?language=python) for the complete list. - Network accessline 366
# GOOD: explicit confirmation from downstream response = requests.get(url) - Network accessline 367
response = requests.get(url) - Network accessline 383
The standard `logging` module prints multi-line stack traces by default. Use [python-json-logger](https://pypi.org/project/python-json-logger/) to output single-line JSON with the stack trace captured in a structured field. - Network accessline 384
Use [python-json-logger](https://pypi.org/project/python-json-logger/) to output single-line JSON with the stack trace captured in a structured field. - Network accessline 411
[structlog](https://www.structlog.org/) produces single-line JSON output by default when configured with its JSON renderer. - Network accessline 510
- [OpenTelemetry Python Documentation](https://opentelemetry.io/docs/languages/python/getting-started/) - Network accessline 511
- [Auto-Instrumentation Package](https://pypi.org/project/opentelemetry-distro/) - Network accessline 512
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 513
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/ruby.md
- Network accessline 51
| `OTEL_LOGS_EXPORTER` | No | `none` | Set to `otlp` to export logs | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | ` - Network accessline 52
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP co - Network accessline 53
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP collector endpoint | - Network accessline 62
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 63
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 64
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 65
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 66
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 143
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted] - Network accessline 218
Refer to the [OpenTelemetry Ruby Contrib repository](https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation) for the complete list. - Network accessline 335
[semantic_logger](https://github.com/reidmorrison/semantic_logger) produces single-line JSON with exceptions serialized into structured fields. - Network accessline 354
For Rails applications, [lograge](https://github.com/roidrage/lograge) replaces the default multi-line request log with a single-line JSON entry. - Network accessline 420
- [OpenTelemetry Ruby Documentation](https://opentelemetry.io/docs/languages/ruby/) - Network accessline 421
- [OpenTelemetry Ruby Contrib](https://github.com/open-telemetry/opentelemetry-ruby-contrib) - Network accessline 422
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 423
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sdks/scala.md
- Network accessline 27
OTEL_JAVA_VERSION=$(curl -sf "https://api.github.com/repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest" \ - Network accessline 28
| grep '"tag_name"' | cut -d'"' -f4) [ -z "$OTEL_JAVA_VERSION" ] && { echo "Failed to resolve OTel Java version" >&2; exit 1; } wget "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/${OTEL_JAVA_VERSION - Network accessline 30
wget "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/${OTEL_JAVA_VERSION}/opentelemetry-javaagent.jar" - Network accessline 35
For sbt projects, resolve the agent from Maven Central via the [sbt-javaagent](https://github.com/sbt/sbt-javaagent) plugin. Maven artifacts are immutable and checksum-verified, which avoids the unpinned-runtime-download risk of fetching th - Network accessline 43
Find the current version at [sbt-javaagent releases](https://github.com/sbt/sbt-javaagent/releases). - Network accessline 51
The plugin resolves the agent JAR through sbt's dependency resolution (Maven Central), caches it in the local Ivy/Coursier cache, and wires `-javaagent:<resolved-path>` into the `run`, `test`, and packaging tasks automatically. Bump the ver - Network accessline 52
Bump the version when a new release is published: [Maven Central — opentelemetry-javaagent](https://central.sonatype.com/artifact/io.opentelemetry.javaagent/opentelemetry-javaagent). - Network accessline 61
Find the current version at [Maven Central — opentelemetry-api](https://central.sonatype.com/artifact/io.opentelemetry/opentelemetry-api). - Network accessline 65
Never fill a `<version>` placeholder in `build.sbt` from memory; verify the coordinate and version exist on Maven Central first, per [verify-dependencies](../verify-dependencies.md). Look the artifact up on [Maven Central](https://central.s - Network accessline 66
Look the artifact up on [Maven Central](https://central.sonatype.com/) (as the links above do), or verify resolution from the command line with Coursier, which sbt uses internally: - Network accessline 81
| `OTEL_LOGS_EXPORTER` | No | `otlp` | Logs exporter (default is already `otlp`) | | `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sa - Network accessline 82
| `OTEL_TRACES_SAMPLER` | Yes | `parentbased_always_on` | **Set to `always_on`** — the default lets callers switch off tracing, see [sampling](../spans.md#sampling) | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP co - Network accessline 83
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | `http://localhost:4318` | OTLP collector endpoint | - Network accessline 92
1. **OTLP Endpoint**: Your observability platform's OTLP endpoint - In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUn - Network accessline 93
- In Dash0: [Settings → Organization → Endpoints](https://app.dash0.com/settings/endpoints?s=eJwtyzEOgCAQRNG7TG1Cb29h5REMcVclIUDYsSLcXUxsZ95vcJgbxNObEjNET_9Eok9wY2FIlzlNUnJItM_GYAM2WK7cqmgdlbcDE0yjHlRZfr7KuDJj2W-yoPf-AmNVJ2I%3D) - Network accessline 94
- Format: `https://<region>.your-platform.com` 2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Network accessline 95
2. **Auth Token**: API token for telemetry ingestion - In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) 3. **Service Name**: Choose a descriptive name (e.g., `order-api`, `checkout-service`) - Network accessline 96
- In Dash0: [Settings → Auth Tokens → Create Token](https://app.dash0.com/settings/auth-tokens) - Access to secretsline 155
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Access to secretsline 174
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Access to secretsline 205
[Credential-related source omitted] - Access to secretsline 209
[Credential-related source omitted] - Network accessline 268
Refer to the [OpenTelemetry registry](https://opentelemetry.io/ecosystem/registry/?language=java) for the complete list. - Network accessline 526
The [logstash-logback-encoder](https://github.com/logfellow/logstash-logback-encoder) produces single-line JSON with stack traces serialized into a `stack_trace` field. - Network accessline 552
[scala-logging](https://github.com/lightbend-labs/scala-logging) is a thin Scala wrapper around SLF4J. - Network accessline 634
**Fix**: Verify the library version is supported by checking the [OpenTelemetry registry](https://opentelemetry.io/ecosystem/registry/?language=java). - Network accessline 651
- [OpenTelemetry Java Documentation](https://opentelemetry.io/docs/languages/java/) - Network accessline 652
- [Java Agent Releases](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases) - Network accessline 653
- [Environment Variable Specification](https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/) - Network accessline 654
- [Dash0 Kubernetes Operator](https://github.com/dash0hq/dash0-operator)
skills/otel-instrumentation/rules/sensitive-data.md
- Network accessline 41
|-------|-------------|-----------| | `user.id` | Spans, logs | Only if the value is an opaque identifier (UUID, internal ID), never a username or email | | `enduser.id` | Spans, logs | Same as `user.id` — use whichever matches the [Attribu - Network accessline 42
| `user.id` | Spans, logs | Only if the value is an opaque identifier (UUID, internal ID), never a username or email | | `enduser.id` | Spans, logs | Same as `user.id` — use whichever matches the [Attribute Registry](https://opentelemetry.i - Network accessline 43
| `enduser.id` | Spans, logs | Same as `user.id` — use whichever matches the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) | - Network accessline 59
[Credential-related source omitted] - Network accessline 60
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 182
[Credential-related source omitted] - Network accessline 386
- [OpenTelemetry Specification: Sensitive Data](https://opentelemetry.io/docs/specs/otel/overview/#sensitive-data) - Network accessline 387
- [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/)
skills/otel-instrumentation/rules/spans.md
- Network accessline 22
The span hygiene rules in this file are aligned with the [Instrumentation Score](https://github.com/instrumentation-score/spec) specification — a vendor-neutral scoring system that quantifies how well a service follows OpenTelemetry best pr - Network accessline 180
for (let attempt = 1; attempt <= maxRetries; attempt++) { try { const response = await fetch(url); - Network accessline 181
try { const response = await fetch(url); return response; - Network accessline 182
const response = await fetch(url); - Network accessline 202
Record exception details as a structured log record, not as a span event. The [Span Event API is being deprecated](https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4430-span-event-api-deprecation-plan.md) in fav - Network accessline 203
The [Span Event API is being deprecated](https://github.com/open-telemetry/opentelemetry-specification/blob/main/oteps/4430-span-event-api-deprecation-plan.md) in favour of log-based events. - Network accessline 314
Follow the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) conventions: - Network accessline 444
Configure the `AlwaysOn` sampler explicitly in application SDKs. This overrides the [specified default](https://opentelemetry.io/docs/specs/otel/trace/sdk/#built-in-samplers), `ParentBased(root=AlwaysOn)`, which is exposed as `parentbased_a - Network accessline 445
This overrides the [specified default](https://opentelemetry.io/docs/specs/otel/trace/sdk/#built-in-samplers), `ParentBased(root=AlwaysOn)`, which is exposed as `parentbased_always_on` in `OTEL_TRACES_SAMPLER`. - Network accessline 520
# An external caller suppressing all telemetry for this request and everything downstream of it curl -H 'traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00' \ - Network accessline 521
curl -H 'traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00' \ - Network accessline 522
https://api.example.com/checkout - Network accessline 542
Defer all sampling decisions to the [Collector or observability pipeline](../../otel-collector/rules/sampling.md), where they can be changed centrally without redeploying applications. The Collector can apply head sampling with the [`probab - Network accessline 543
The Collector can apply head sampling with the [`probabilisticsamplerprocessor`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor), or tail sampling with the [`tailsamplingp - Network accessline 561
Treat trace shape — spans, their parent-child relations, kinds, status codes, and attributes — as a functional requirement. Use an in-memory span exporter in integration tests to capture spans produced by the code under test and assert the - Network accessline 563
The examples below use [JavaScript SDK 2.x APIs](https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/upgrade-to-2.x.md): configure processors in the provider constructor and read parents through `parentSpanContext`. - Network accessline 718
- [Instrumentation Score Specification](https://github.com/instrumentation-score/spec) — vendor-neutral scoring for OpenTelemetry instrumentation quality - Network accessline 719
- [Semantic Conventions: Traces](https://opentelemetry.io/docs/specs/semconv/general/trace/) — general span conventions - Network accessline 720
- [HTTP Spans](https://opentelemetry.io/docs/specs/semconv/http/http-spans/) — HTTP-specific span and status rules - Network accessline 721
- [Dash0 Semantic Conventions Explainer](https://www.dash0.com/knowledge/otel-semantic-conventions-explainer) — comprehensive guide
skills/otel-instrumentation/rules/telemetry.md
- Network accessline 47
- [Metrics](https://opentelemetry.io/docs/concepts/signals/metrics/) - Network accessline 48
- [Traces](https://opentelemetry.io/docs/concepts/signals/traces/) - Network accessline 49
- [Logs](https://opentelemetry.io/docs/concepts/signals/logs/) - Network accessline 50
- [Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/)
skills/otel-instrumentation/rules/validation.md
- Network accessline 22
|-------|---------------|------------| | `OTEL_SERVICE_NAME` is set | Print the environment variable in the application logs at startup | Set it in the deployment manifest or application config | | `OTEL_EXPORTER_OTLP_ENDPOINT` is set and r - Network accessline 23
| `OTEL_SERVICE_NAME` is set | Print the environment variable in the application logs at startup | Set it in the deployment manifest or application config | | `OTEL_EXPORTER_OTLP_ENDPOINT` is set and reachable | `curl -v <endpoint>/v1/trace - Network accessline 24
| `OTEL_EXPORTER_OTLP_ENDPOINT` is set and reachable | `curl -v <endpoint>/v1/traces` returns a response (even an error response confirms network reachability) | Fix the endpoint URL, check DNS resolution, open network policies or firewall - Network accessline 93
# No incoming parent: expect a new SERVER root. curl http://localhost:8080/checkout - Network accessline 94
curl http://localhost:8080/checkout - Network accessline 96
# Sampled remote parent: expect this trace ID and parent span ID on the SERVER span. curl -H 'traceparent: 00-11111111111111111111111111111111-2222222222222222-01' http://localhost:8080/checkout - Network accessline 97
curl -H 'traceparent: 00-11111111111111111111111111111111-2222222222222222-01' http://localhost:8080/checkout - Network accessline 99
# Unsampled remote parent with AlwaysOn: expect exported spans with this trace ID. # The SERVER parent span ID must be 4444444444444444. curl -H 'traceparent: 00-33333333333333333333333333333333-4444444444444444-00' http://localhost:8080/ch - Network accessline 101
curl -H 'traceparent: 00-33333333333333333333333333333333-4444444444444444-00' http://localhost:8080/checkout
skills/otel-instrumentation/rules/verify-dependencies.md
- Network accessline 22
5. When the lookup shows the package is deprecated, yanked, or has no recent release, do not add it: fall back to the auto-instrumentation path or manual instrumentation per the language's SDK rule, and state why. When this means removin - Network accessline 23
When this means removing a dependency that is already in the manifest, follow [Dropping an existing dependency](#dropping-an-existing-dependency). 6. When the lookup finds no package at all, do not invent a name: check the [OpenTelemetry re - Network accessline 24
6. When the lookup finds no package at all, do not invent a name: check the [OpenTelemetry registry](https://opentelemetry.io/ecosystem/registry/) for the library, and if nothing current exists, instrument manually per [spans](./spans.md) a
skills/otel-ottl/SKILL.md
- Network accessline 172
- [OTTL Guide](https://www.dash0.com/guides/opentelemetry-transformation-language-ottl) - Network accessline 173
- [OTTL Specification](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl) - Network accessline 174
- [OTTL Functions Reference](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl/ottlfuncs) - Network accessline 175
- [OTTL Playground](https://ottl.run)
skills/otel-semantic-conventions/SKILL.md
- Network accessline 14
The [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) is the single source of truth for all defined attributes. - Network accessline 26
- [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) - Network accessline 27
- [Semantic Conventions Specification](https://opentelemetry.io/docs/specs/semconv/) - Network accessline 28
- [Semantic Conventions Repository](https://github.com/open-telemetry/semantic-conventions) - Network accessline 29
- [Dash0 Semantic Conventions](https://www.dash0.com/documentation/dash0/semantic-conventions) - Network accessline 30
- [Dash0 Semantic Conventions Explainer](https://www.dash0.com/knowledge/otel-semantic-conventions-explainer) - Network accessline 34
1. **Search the registry first** — Look up the concept in the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/). Use the standard name if it exists (e.g., prefer `http.request.method` over a custom `cust
skills/otel-semantic-conventions/rules/attributes.md
- Network accessline 16
When adding attributes to telemetry, always search the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) first and place each attribute at the correct telemetry level. - Network accessline 21
1. **Registry first.** Before creating a custom attribute, search the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/). - Network accessline 22
Before creating a custom attribute, search the [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/). - Network accessline 274
Full registry: https://opentelemetry.io/docs/specs/semconv/registry/attributes/ - Network accessline 278
- [Attribute Registry](https://opentelemetry.io/docs/specs/semconv/registry/attributes/) — the single source of truth for all attribute definitions - Network accessline 279
- [Semantic Conventions Specification](https://opentelemetry.io/docs/specs/semconv/) — full specification across all signals - Network accessline 280
- [Dash0 Semantic Conventions Explainer](https://www.dash0.com/knowledge/otel-semantic-conventions-explainer) — comprehensive guide to understanding and applying conventions
skills/otel-semantic-conventions/rules/dash0.md
- Network accessline 95
- [Dash0 Semantic Conventions](https://www.dash0.com/documentation/dash0/semantic-conventions) — full list of derived attributes - Network accessline 96
- [Dash0 Semantic Conventions Explainer](https://www.dash0.com/knowledge/otel-semantic-conventions-explainer) — comprehensive guide to conventions
skills/otel-semantic-conventions/rules/versioning.md
- Network accessline 48
| `deployment.environment` | `deployment.environment.name` | | `http.server.duration` | `http.server.request.duration` (unit: ms → s) | | `http.client.duration` | `http.client.request.duration` (unit: ms → s) | - Network accessline 50
| `http.client.duration` | `http.client.request.duration` (unit: ms → s) | - Network accessline 71
This means you can upgrade your instrumentation libraries at your own pace — Dash0 handles the normalization. See [Dash0 Semantic Convention Upgrades](https://www.dash0.com/documentation/dash0/semantic-conventions/opentelemetry-semantic-con - Network accessline 75
- [Semantic Conventions Repository](https://github.com/open-telemetry/semantic-conventions) — source YAML models, version tags, and changelogs - Network accessline 76
- [Dash0 Semantic Convention Upgrades](https://www.dash0.com/documentation/dash0/semantic-conventions/opentelemetry-semantic-convention-upgrades) — automatic convention version management
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 500 facts
- Network access in prose of documentationotel-collector/README.md:53Low confidence
- Network access in prose of documentationotel-collector/README.md:54Low confidence
- Network access in prose of documentationotel-collector/README.md:55Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueotel-collector/README.md:78Low confidence
- Network access in prose of documentationotel-collector/README.md:109Low confidence
- Network access in prose of documentationotel-collector/README.md:110Low confidence
- Network access in prose of documentationotel-collector/README.md:111Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueotel-collector/README.md:111Low confidence
- Network access in prose of documentationotel-collector/README.md:122Low confidence
- Network access in prose of documentationotel-collector/README.md:123Low confidence
- Network access in prose of documentationotel-collector/README.md:124Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueotel-collector/SKILL.md:83Low confidence
- Network access in prose of the SKILL.mdotel-collector/SKILL.md:150Low confidence
- Network access in prose of the SKILL.mdotel-collector/SKILL.md:151Low confidence
- Network access in prose of the SKILL.mdotel-collector/SKILL.md:152Low confidence
- Network access in prose of the SKILL.mdotel-collector/SKILL.md:153Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:13Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:27Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:73Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:95Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:161Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:162Low confidence
- Network access in prose of documentationotel-collector/rules/custom-distributions.md:163Low confidence
- Network access in prose of documentationotel-collector/rules/deployment.md:92Low confidence
- Network access in prose of documentationotel-collector/rules/deployment.md:93Low confidence
- Network access in prose of documentationotel-collector/rules/deployment.md:94Low confidence
- Network access in prose of documentationotel-collector/rules/deployment.md:95Low confidence
- Network access in prose of documentationotel-collector/rules/deployment.md:96Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:14Low confidence
- Network access in code of documentationotel-collector/rules/deployment/collector-helm-chart.md:20Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueotel-collector/rules/deployment/collector-helm-chart.md:83Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueotel-collector/rules/deployment/collector-helm-chart.md:199Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:308Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:309Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:310Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:324Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueotel-collector/rules/deployment/collector-helm-chart.md:333Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:354Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/collector-helm-chart.md:355Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:16Low confidence
- Network access in code of documentationotel-collector/rules/deployment/dash0-operator.md:35Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:52Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:53Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:54Low confidence
- Access to secrets in code of documentationotel-collector/rules/deployment/dash0-operator.md:65Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueotel-collector/rules/deployment/dash0-operator.md:67Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:70Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueotel-collector/rules/deployment/dash0-operator.md:70Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:271Low confidence
- Network access in prose of documentationotel-collector/rules/deployment/dash0-operator.md:272Low confidence
and 450 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/plugin.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/otel-collector/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/otel-collector/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/otel-collector/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.