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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
99GitHub stars
1star in 7 days
4skills in this repository
16commits in 30 days

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

Oct 25, 2026Nov 5, 202699

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

2,116 tokens

When the skill is activated

Reference documents

36,820 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Rules
  2. Key principles
  3. Quick start
  4. Configuration workflow
  5. Quick reference
  6. Official documentation

Files

  • ../../.claude-plugin/plugin.jsonasset669 bytes
  • README.mddoc5,093 bytes
  • SKILL.mdcore8,701 bytes
  • rules/custom-distributions.mddoc6,625 bytes
  • rules/deployment.mddoc4,245 bytes
  • rules/deployment/collector-helm-chart.mddoc11,301 bytes
  • rules/deployment/dash0-operator.mddoc19,471 bytes
  • rules/deployment/opentelemetry-operator.mddoc15,377 bytes
  • rules/deployment/raw-manifests.mddoc18,450 bytes
  • rules/exporters.mddoc9,129 bytes
  • rules/pipelines.mddoc9,409 bytes
  • rules/processors.mddoc17,562 bytes
  • rules/receivers.mddoc12,447 bytes
  • rules/red-metrics.mddoc16,256 bytes
  • rules/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 GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Network accessline 46
    - [OpenTelemetry Documentation](https://opentelemetry.io/docs/)
  • Network accessline 47
    - [Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/)
  • Network accessline 48
    - [Dash0 Integration Hub](https://www.dash0.com/hub/integrations)

skills/otel-instrumentation/rules/capture-database-query-parameters.md

  • Network accessline 65
    - [Semantic Conventions: Database Spans](https://opentelemetry.io/docs/specs/semconv/database/database-spans/)
  • Network accessline 66
    - [Attribute Registry: `db.query.parameter`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/db/#db-query-parameter)

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

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/plugin.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/otel-collector/SKILL.md.cursor/skills/<skill-name>/
Gemini CLINativeManifest gemini-extension.json.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/otel-collector/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.