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

  • 3 min read

See Every Lambda Invocation, Even the Ones That Never Finish

Avia Dvir
Avia Dvir
See Every Lambda Invocation, Even the Ones That Never Finish

Lambda observability used to mean gluing together CloudWatch and X-Ray, hand-managing OTel layers per runtime, and building dashboards from scratch per account and per region. And it drifted the moment someone redeployed without the layer.

Built on the serverless observability Lumigo pioneered, now part of Dash0, Dash0 brings full AWS Lambda support natively on OpenTelemetry: AWS account integration, CloudWatch metrics, Lambda instrumentation, payload capture, timeout detection, event payload, and end to end tracing across brokers.

A catalog of every function, before you instrument anything

Setup takes under five minutes via CloudFormation. No credentials are stored on Dash0's side. Once connected, every Lambda function across all your regions appears with invocation counts, error rates, duration, and cold starts pulled from CloudWatch.

Click any function for a full metrics breakdown and an invocation table filterable by result, duration, and memory usage. Its traces and logs are one click away.

Dash0 Lambda function overview showing requests, errors, duration graphs, and invocations table for dash0-wildrydes-postToSocial

Full traces for every invocation

Add the Dash0 Lambda Extension and every invocation produces a full trace. Spans are nested by call hierarchy with durations on a timeline, and the root span includes Lambda context: event source, cold start duration, and batch record count for event-driven triggers.

Dash0 Lambda functions list with bulk instrumentation options menu showing Traces and Logs, Traces, and Logs selection

The extension is a single Lambda layer with three environment variables. Supports Python, Node.js, and Java. Add it directly from the Dash0 catalog, without touching code or managing layers manually. If a function is redeployed without the layer, Dash0 detects the drift and re-instruments automatically.

Event payloads

The hardest part of debugging a Lambda failure is usually finding what triggered it. The extension captures the full event that triggered the function and attaches it to the trace. You don't need to redeploy with extra logging and wait for the failure to reproduce, payload is already there.

Outgoing payloads are captured too: request parameters and response bodies for downstream AWS services the function calls. Sensitive values are masked by default, with configurable rules per payload type.

Dash0 trace event detail showing captured Lambda event payload with account, city, email, and rideId fields

Full event chains across brokers

When a message moves through SQS, SNS, EventBridge, or Kinesis and triggers another function, that doesn't have to look like two disconnected traces on either side of the broker. Trace context propagates across all four, so a publish-and-trigger pair shows up as one connected trace, with each hop carrying its event source and batch record count. A fan-out through multiple brokers stays traceable end to end.

Dash0 trace graph showing connected Lambda invocations across SQS, EventBridge, and SNS with span attributes for dash0-wildrydes-postToSocial

Synthetic traces for timeouts and OOM

When a function times out or runs out of memory, the runtime kills it before any trace can be emitted. CloudWatch logs the failure. That's usually all you get. The extension uses the Lambda Telemetry API to detect these failures and create a synthetic trace with the duration, trigger source, and context around the failure.

Connect your AWS account to get started. Layer ARNs and setup instructions are on the Dash0 Lambda Extension GitHub page.