Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.odigos.io/llms.txt

Use this file to discover all available pages before exploring further.

Getting Started

pyroscope Grafana Pyroscope is an open-source continuous profiling backend. Odigos exports profile data over OTLP to Pyroscope so the same eBPF profiler that powers in-product views can also feed long-term, queryable storage.
This destination only emits the Profiles signal. The destination must include PROFILES, and continuous profiling must be enabled for the agent you use:
Pyroscope version
Use a Pyroscope build that accepts OTLP profiles on the endpoint you configure. If you are unsure, upgrade to a recent release before configuring Odigos.
Quickstart: self-hosted Pyroscope
If you don’t already run Pyroscope, the upstream Helm chart gets you a working instance in a couple of commands:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install pyroscope grafana/pyroscope \
  --namespace pyroscope --create-namespace
The distributor will be reachable in-cluster at pyroscope.pyroscope:4040 — use that as the PYROSCOPE_URL value below.
Provide the distributor’s host:port only. Do not add /otlp or other path suffixes — Odigos sends OTLP profiles to /v1development/profiles on the host you configure.
TLS
Toggle PYROSCOPE_TLS_ENABLED when Pyroscope is fronted by TLS. For plain traffic, leave it off.
Verifying the export
After applying the destination and sending traffic to a profiled source, open the Pyroscope UI (kubectl -n pyroscope port-forward svc/pyroscope 4040) and confirm that profiles appear under your service.

Configuring Destination Fields

❌ Traces ❌ Metrics ❌ Logs ✅ Profiles
  • PYROSCOPE_URL string : Pyroscope Endpoint. Hostname and port of the Pyroscope distributor HTTP API (e.g. pyroscope.pyroscope:4040). Odigos sends OTLP profiles to /v1development/profiles on this host; do not add an /otlp path.
    • This field is required
    • Example: host:port
  • PYROSCOPE_TLS_ENABLED boolean : Enable TLS. Secure connection
    • This field is optional and defaults to False

Adding Destination to Odigos

There are two primary methods for configuring destinations in Odigos:
Using the UI
1
Use the Odigos CLI to access the UI
odigos ui
2
Click on Add Destination, select Pyroscope and follow the on-screen instructions
Using Kubernetes manifests
1
Save the YAML below to a file (e.g. pyroscope.yaml)
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
  name: pyroscope-example
  namespace: odigos-system
spec:
  data:
    PYROSCOPE_URL: <Pyroscope Endpoint>
    # Note: The commented fields below are optional.
    # PYROSCOPE_TLS_ENABLED: <Enable TLS>
  destinationName: pyroscope
  signals:
  - PROFILES
  type: pyroscope
2
Apply the YAML using kubectl
kubectl apply -f pyroscope.yaml