Dash0 Raises $110M Series B at $1B Valuation

Last updated: August 7, 2026

Configuration

All Dash0-specific and standard OpenTelemetry environment variables for the Python distribution.

Dash0-specific environment variables

VariableEffect
DASH0_OTEL_COLLECTOR_BASE_URLRequired. OTLP endpoint to export to. If unset, the distribution disables itself entirely and sets OTEL_SDK_DISABLED=true.
DASH0_DISABLESet to true to disable the distribution entirely. The SDK becomes a no-op.
DASH0_AUTOMATIC_SERVICE_NAMESet to false to opt out of the entrypoint-derived service.name fallback.
DASH0_BOOTSTRAP_SPANName of a single span to emit once at startup. Useful for confirming the distribution is active.
DASH0_FLUSH_ON_SIGTERM_SIGINTSet to true to flush all telemetry (traces, metrics, logs) on SIGTERM or SIGINT before exiting. Signal handlers can only be installed from the main thread; if the distribution is configured from a non-main thread, this setting is silently ignored.

Standard OpenTelemetry variables

All standard OTEL_* variables are honored. The distribution sets defaults using setdefault and never overrides values you provide.

The following variables are relevant to the distribution's behavior:

VariableDefault set by distroNotes
OTEL_TRACES_EXPORTERotlp_proto_httpPure-Python OTLP/HTTP exporter.
OTEL_METRICS_EXPORTERotlp_proto_httpPure-Python OTLP/HTTP exporter.
OTEL_LOGS_EXPORTERotlp_proto_httpPure-Python OTLP/HTTP exporter.
OTEL_EXPORTER_OTLP_PROTOCOLhttp/protobufSet to grpc for OTLP/gRPC.
OTEL_EXPORTER_OTLP_ENDPOINTValue of DASH0_OTEL_COLLECTOR_BASE_URLDerived automatically; override if needed.
OTEL_EXPORTER_OTLP_HEADERSHeaders sent with every OTLP request. Required for Dash0 authentication: Authorization=Bearer <token>,Dash0-Dataset=default.
OTEL_EXPORTER_OTLP_<SIGNAL>_PROTOCOLPer-signal protocol override (TRACES, METRICS, LOGS).
OTEL_EXPORTER_OTLP_<SIGNAL>_ENDPOINTPer-signal endpoint override. Custom ports and explicitly set endpoints are never rewritten by the distro.
OTEL_SERVICE_NAMEStandard service name. The distro adds a fallback derived from the entrypoint when this is unset.
OTEL_RESOURCE_ATTRIBUTESAdditional resource attributes. The distro reads this to detect whether service.name is already set, and appends its own detected attributes (telemetry.distro.*, k8s.pod.uid) to it.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONSComma-separated list of instrumentor entry-point names to skip (e.g. flask,redis). Honored by the auto-instrumentation loader.
OTEL_EXPERIMENTAL_RESOURCE_DETECTORSComma-separated resource detector names. Reference the Dash0 detectors here when using declarative SDK configuration (OTEL_CONFIG_FILE).

Disabling the distribution

If you need to disable the distribution entirely without removing it:

bash
12
export DASH0_DISABLE=true
opentelemetry-instrument python app.py

The SDK becomes a no-op and no instrumentation or export occurs.

Setting a service name

The distribution uses the following priority order for service.name:

  1. OTEL_SERVICE_NAME (you set it explicitly)
  2. service.name from OTEL_RESOURCE_ATTRIBUTES
  3. Name derived from the entrypoint script basename (e.g., app.pyapp)

Steps 2 and 3 are suppressed when DASH0_AUTOMATIC_SERVICE_NAME=false.

To disable the entrypoint fallback and keep service.name unset when you have not provided one:

bash
1
export DASH0_AUTOMATIC_SERVICE_NAME=false