Dash0 acquires Polar Signals

Changelog

Recent changes and improvements to Dash0

Join us on a journey through Observability and OpenTelemetry as we improve our product. Stay connected with our Newsletter or RSS for fresh updates.

Turn any number in your spans and logs into a metric

Signal-to-metrics rules can now record a sum, gauge, or exponential histogram of a value you pick from a span or log record, counted before sampling.

Until now, a signal-to-metrics rule produced one fixed metric: a duration histogram for spans, or a count for logs. A number that lived in an attribute, such as a response size or a queue depth, stayed in the raw records, and charting it meant querying them.

Now a rule's Metric type can record a value you choose:

  • Sum adds up the value from each matching span or log record, or counts the records. Mark it monotonic for values that only go up, such as bytes sent.
  • Gauge keeps the last value in each aggregation interval, such as the current depth of a queue.
  • Exponential histogram records how the values are distributed, so you can chart percentiles of payload size. A count can weight each value when one record describes a batch.

Pick an attribute in Simple mode, or write an OpenTelemetry Transformation Language (OTTL) expression for anything more involved. Both work for span rules and log rules, in the SignalControl UI and through the API.

Conversion still runs at ingestion, before sampling, so a metric from a span rule counts every matching span, including spans in traces you sample out. Existing rules work as before.

Good to know

  • Rules convert telemetry that arrives after you save them. They do not backfill.
  • On SignalControl Edge, these metric types need edge collector 1.6.0 or later. Upgrade every edge collector before you create one.

Read the docs: Convert Signals to Metrics

Read more

CloudWatch metrics, scraped by Dash0 and filtered by your AWS tags

A second way to get CloudWatch metrics into Dash0: Dash0 scrapes them for you, alongside Metric Streams, so you can pick the trade-offs that fit. Scraping skips redundant dimension sets and makes your AWS tags filterable across every signal.

You now have a second way to get CloudWatch metrics into Dash0. Next to Metric Streams, which push metrics through Amazon Data Firehose, Dash0 can now scrape CloudWatch metrics from your AWS account on a regular interval. Both paths produce metrics with the same OpenTelemetry names, so you can choose the one whose trade-offs fit each use case.

ScrapingMetric Streams
Infrastructure you runNone. Dash0 uses the integration's read-only IAM role.A metric stream and a Firehose delivery stream per region
LatencyEvery 5 minutes, with at least 2 minutes of delayNear real time
Dimension setsThe most specific set per metricEvery set CloudWatch publishes
SelectionNamespaces, metrics, resource tags and regionsNamespaces and metric names

Scraping vs. Metric Streams compares the two paths in detail, including AWS costs, and explains how to switch from one to the other without duplicate data.

AWS integration Metrics tab with Global filters and the EC2 namespace expanded to choose which metrics to collect

With scraping:

Filter picker listing values of the AWS tag dash0.cloud.tags.Name with the number of matching resources
EC2 namespace scoped by the condition dash0.cloud.tags.Name = demo-0-node

To get started with scraping, set up the AWS integration and turn on the namespaces you need in the Metrics tab.

Read more
Raphael Manke

Raphael Manke

Shani Shiri

Shani Shiri

Simo Paraschi

Simo Paraschi

Mateusz Wojciechowski

Mateusz Wojciechowski

Tomas Zaicevas

Tomas Zaicevas

AI SDLC Insights now supports GitLab

Connect GitLab to analyze AI-assisted merge requests and their linked coding sessions in AI SDLC Insights.

AI SDLC Insights now supports GitLab, so you can see how AI-assisted merge requests move through review and merge.

Connect GitLab, choose the groups to watch, and select which Dash0 datasets receive their repository data. Merge requests appear with their author, state, reviewers, and linked AI coding sessions, with links back to GitLab.

See the GitLab integration overview and follow the setup guide to connect your instance.

Read more

Watch what your users did with session replay

The Dash0 Web SDK can now record user-sessions, allowing you to replay the actual user experience and correlate it with all web-events and backend-traces.

A stack trace tells you an error was thrown. It does not tell you that the user clicked Submit four times because the button never gave feedback, or that a half-rendered modal was sitting over the page. You had to reconstruct that from the event list and guess at the rest.

Session replay records the DOM instead. Load the recorder in the Dash0 Web SDK, and the Websites session view plays the session back above its event table.

Session replay end to end: session recording is switched on in the Dash0 Web SDK configuration, a customer uses the instrumented app, their sessions appear in Dash0, and one is opened in the replay player, where a correlated backend trace is selected.

Turning it on. The recorder is a separate, opt-in bundle of about 22 KB gzipped. It is never part of your main SDK bundle, and nothing is recorded until you load it. Pass it to init, import it lazily, or add a second script tag:

js
import { init } from "@dash0/sdk-web";
import { recorder } from "@dash0/sdk-web/session-recording";

init({
  serviceName: "my-website",
  endpoint: { url: "REPLACE THIS", authToken: "REPLACE THIS" },
  sessionRecording: { recorder },
});

What leaves the browser. Every visible input, textarea and select is masked by default. Give an element the dash0-mask class to replace its text with asterisks, or dash0-block to keep it out of the recording entirely and leave a placeholder of the same size in the replay. Only the visible document is recorded, so a background tab records nothing, and sessionRecording.samplingRate decides what share of sessions you keep.

What you can watch. The whole browser session, tab switches included. The scrub track marks JavaScript errors, rage clicks, and tab switches, and hovering a segment names the tab and page it covers. The page view list and the event table follow the playhead, so the row you are reading is the moment you are watching, and an HTTP request in that table still opens View full trace into the backend trace it started. Playback starts on the first snapshot rather than waiting for the download to finish.

Sessions that have a replay are marked in the sessions list and in the web events explorer, and View full session on any event opens the replay at that event.

Read the docs to record your first session: Web SDK Setup. For what a replay shows you once you have one, see Watch a Session Replay.

Read more
Kristof Berger

Kristof Berger

Evgeni Wachnowezki

Evgeni Wachnowezki

Moshe Shaham

Moshe Shaham

Yomi Eluwande

Yomi Eluwande

Eugene Orlovsky

Eugene Orlovsky

See whether your alerts arrive

Notification channels now show their delivery status. When a destination fails, refuses, or Dash0 stops sending, the channel says why and how to fix it.

A Slack notification channel with the delivery status Refused and a banner explaining how to fix it

Until now, you found out that a notification channel was broken during an incident, often because your customers noticed something your alerts didn't manage to tell you. Now Dash0 tracks the result of every alert delivery it sends to a notification channel, and each channel shows a delivery status. When a channel has a problem, admins see a marker on Notification Channels in the Settings menu. The channel shows a banner that explains what went wrong and how to fix it. After the fix, click Send test notification to confirm that alerts arrive again.

Read the docs: Monitor Notification Channel Delivery

Read more
Danila Ivanov

Danila Ivanov

Jose Pereira

Jose Pereira

Silence failed checks

Stop notifications for a failed check for a fixed time, without a change to the check rule. Track, extend and end silences in the Silences Hub.

Until now, to stop the alerts of a known problem, you had to change or disable the check rule. That edited the rule and broke its history.

Failed checks view with the Silence menu open on a critical failed check, showing durations from 30 minutes to Custom and a reason field

Now you can silence a failed check:

  • Silence from the failed check. Open a failed check, click Silence, and choose how long. Add a reason so your team knows why. A silence lasts up to 7 days.
  • See what is silenced. The failed checks list has a Silenced column. A failed check shows which silences cover it and when they end. Its timeline shows the periods when it was silenced.
  • Track, extend and end silences in the Silences Hub. The Silences Hub in Settings lists the active and completed silences of the current dataset, with the scope, reason, schedule and creator. Extend a silence, or Unsilence it to end it early.
  • Ask Agent0. In a chat, Agent0 can list your silences, propose a new silence or a change to one, and end silences.

Failed Check automations still run. Each one can include, exclude or only use silenced checks. Failed Check Notification automations do not run while a check is silenced.

A new silence can take up to 3 minutes to take effect.

Read the docs: Silence Failed Checks

Read more

Share Agent0 custom skills with your team

Share a custom skill with members, teams, or roles, and choose whether it starts enabled for them. Members can now create skills too.

Until now, a custom skill belonged to the whole organization. Only admins could write or change one, and every member got it. A skill only one team needed still reached everyone.

Details of an Agent0 custom skill, showing who created it and who has access to it

Now you choose who gets each skill:

  • Share with your team. Share a skill with members, teams, or the Admin and Member roles, at Read or Edit. Read lets people use the skill. Edit also lets them change, share, and delete it. Anyone without access does not see it.
  • Admins keep access to every skill. Admins have Edit on every skill, so no skill gets locked away. On a skill managed through the API or Terraform, admins can view and delete it instead. Nobody can remove this access.
  • Shared skills start off. This is deliberate: nobody finds a new skill in their Agent0 runs without choosing it, so your agent flows stay consistent. Each person turns it on with Enabled for you on the Skills tab.
  • Turn a skill on for a team. Switch on Enabled next to the team's entry when you share the skill. Admins can do this for anyone, members for themselves and their own teams.
  • Members create skills too. Besides admins, all members can now create custom skills and share them within their organization.
  • See who created a skill. The Skills tab shows the creator of each skill.

Check your automations. Automations now use only the custom skills you allow. Existing automations start with no allowed skills, so open each automation that uses a custom skill and add it under Tools & Skills.

Read the docs: Control Skill Sharing and Access and Allowed Skills

Read more

See what drives your Agent0 spend

Billing & Plans now breaks down your organization's Agent0 credits by source, consumer, model level and dataset.

Billing & Plans now breaks down your organization's Agent0 credit spend for each billing period.

Agent0 credits for the current billing period, split across automations, users, evals and API tokens

Group credits by source (people, automations, evals and API tokens), by individual consumer, by model level or by dataset, and filter by any of them. Cost and credits follow whatever you've filtered, and each row links to where you manage that member, automation, eval or token. When spend jumps, you can find what's behind it and open it from there.

If you've set an Agent0 cap, you also see how much of it this period has used and where you'll end up at the current pace.

The breakdown covers credits spent from October 5, 2026.

See Billing & Plans for details.

Read more

Monitor your agents' quality with Evals

Evals score your agents' generations as they arrive, with an LLM as the judge, so quality sits next to latency and cost. Write your own eval, then pick a trigger, a sample rate, and a numeric, boolean, or categorical verdict.

Overview of the Resolution outcome eval next to the span sidebar's Evals tab showing six verdicts for one span

Until now, Dash0 could tell you how long each of your agents' answers took and what it cost, but not whether it was any good. Finding out meant exporting traces into a separate eval tool, where the scores never lined up with the rest of your telemetry.

Evals score your agents' generations in Dash0 as the spans arrive. You choose which spans to judge with a trigger and span filters, set a sample rate to control cost, and write the prompt the judge follows. The judge returns a numeric score, a true or false answer, or a label from a list you define, with a one-sentence explanation for every verdict.

Each eval has its own overview, with scores over time, the lowest-scoring spans, and the credits spent per agent. Open any judged span and its Evals tab shows every verdict right next to the trace. Verdicts are also stored as log records, so you can chart them on dashboards and alert on them with check rules.

Evals are in beta, and eval runs are free during the beta. Read the documentation to create your first eval.

Read more

Drag dashboards and views into folders

Move a dashboard or one of your saved views into a folder by dragging it there in the list. You no longer have to pick the folder in the Move to dialog.

Until now, moving a dashboard or a saved view into a folder meant opening its menu, choosing Move to and picking the folder in a dialog, even when the folder was right there in the list.

Now you drag the row onto the folder. To take it out of every folder, drop it on the All dashboards header, on a dashboard that sits in no folder, or on the empty space below the list. Hold it over a collapsed folder and the folder opens.

Saved views work the same way in the views list on Logging, Tracing, Services and the other pages that have one, and there the Custom header plays the part of All dashboards.

Rows you can move show a grip when you hover over them. Built-in views stay put, and so do dashboards and views managed outside Dash0, for example with Terraform. Move to is still in the menu for keyboard and screen reader users.

Read more

Pull requests in AI SDLC Insights

AI SDLC Insights now has a Pull requests tab. See every pull request across your repositories with the AI sessions behind it, what they cost, and how long they took to merge, then drag across a heatmap to find the outliers.

AI SDLC Insights shows what your coding agents cost and how assisted pull requests move through review, but only in aggregate. When a number looked off, you could not see which pull requests were behind it, or what the agents did on any one of them.

The new Pull requests tab, next to Sessions, lists every pull request across your repositories. Each row shows the repository, author, type, state, reviewers, and how long it has been open, and the list follows your time range like every other tab.

What's new

AI sessions per pull request: Click a pull request to open a side panel with the AI sessions that worked on it, the models they used, their tokens, and what they cost. One click takes you to those sessions in the Sessions tab.

A pull request's side panel listing three linked AI sessions with their agent, author, cost and tokens, the AI cost split by model, and the pull request's type, state and review details

A heatmap you can select from: The chart above the list plots pull requests by AI cost or by time to merge. Drag a box over the cells that stand out, such as the most expensive pull requests on one day or the merges that took more than a week, and the list shows only those. Keep the selection as filters and it survives a reload or a shared link.

Status filter: List the pull requests that are open, awaiting review, draft, merged, or closed.

From a chart to what's behind it: Click a chart such as investment distribution, cycle time, or AI penetration and choose Explore. The Pull requests tab opens on the pull requests that chart counted, with your filters kept. The coding charts work the same way: click a model, skill, MCP server, or team and Explore opens the Sessions tab on the sessions it counted.

Totals at a glance: Switch the chart to Stats for total pull requests, AI-assisted pull requests, and total AI cost across the whole list, or hide it to give the list the full page.

Read more

Traces, rebuilt for scale

Open any span and the full trace streams in instantly, even at tens of thousands of spans. Search by name, filter by type or errors, and see logs and span events directly on the timeline.

Traces, rebuilt for scale

Open any span and the full trace streams in instantly, even at tens of thousands of spans. Search by name, filter by type or errors, and see logs and span events directly on the timeline.

Read more