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

Last updated: April 16, 2026

Analyze Web Events

The Web Events tab in the Query Builder provides a curated interface for browser telemetry derived from Dash0's real user monitoring instrumentation.

Use it to track request volumes, error rates, user counts, page performance, and Core Web Vitals — all from a single focused view without writing PromQL.

Query Builder Web Events tab showing requests over time with a PromQL preview

Tip

Dash0 automatically generates a set of built-in synthetic metrics from your telemetry. These appear alongside your own custom metrics in the Query Builder, as can be seen above. For example:

  • dash0.web.events — total count of all browser-side events captured (web vitals, errors, navigations, custom interactions).
  • dash0.web.errors — count of client-side JavaScript errors and failed operations captured in the browser.
  • dash0.web.requests — total number of outbound HTTP requests initiated from the browser (XHR, Fetch, etc.).
  • dash0.web.requests.duration — latency of outbound browser requests in milliseconds, from initiation to response.
  • dash0.web.users — count of unique users observed within the telemetry window, derived from browser identifiers.
  • dash0.web.vitals.lcp — Largest Contentful Paint: time in milliseconds until the largest visible element is fully rendered; measures perceived load speed.
  • dash0.web.vitals.inp — Interaction to Next Paint: latency from a user interaction (click, keypress) to the next visible paint; measures responsiveness.
  • dash0.web.vitals.cls — Cumulative Layout Shift: score representing total unexpected layout movement during page load; measures visual stability.
  • dash0.web.page_views — number of distinct page views recorded across all sessions.
  • dash0.web.sessions — total number of user sessions.
  • dash0.web.sessions.duration — duration of user sessions in milliseconds, from first event to last.
  • dash0.web.bounces — count of sessions where the user left without any further interaction after the initial page load.

These metrics are also accessible directly in the Metrics and PromQL tabs, giving you the flexibility to combine them with your own metrics or apply custom aggregations.

Select the Metric

Use the Metric dropdown to choose what you want to measure.

Query Builder Web Events tab showing the metric dropdown open with all available options

Core Web Vitals

Core Web Vitals are a set of metrics defined by Google that quantify real-user page experience. Dash0 uses the same thresholds as Google when colour-coding scores.

VitalWhat it measures
LCP — Largest Contentful PaintHow long it takes for the largest visible content element — typically a hero image or large text block — to fully render in the viewport after the page starts loading.
INP — Interaction to Next PaintThe latency of the worst user interaction (click, tap, or keyboard input) across the entire page lifecycle. Replaced First Input Delay (FID) as a Core Web Vital in March 2024.
CLS — Cumulative Layout ShiftThe total amount of unexpected layout movement that occurs during the page lifecycle — for example, content jumping when images load without reserved dimensions or ads inject above existing content.

For threshold values and guidance on improving scores, see Web Vitals on web.dev.

Add Filters

Use + Add filter to scope the query to web events that match specific attribute values. Multiple filters are combined with AND logic.

Query Builder Web Events tab showing the filter picker with available attributes

Tips
  • Focus on error events only. Filter by dash0.web.event.status.code = ERROR alongside the Events total metric to isolate events that completed with an error status. Use UNSET to see events where no explicit status was recorded.
  • Scope to a single service. Filter by service.name = frontend-web to restrict the query to browser telemetry from a specific frontend application — useful when multiple web properties report into the same environment.
  • Narrow to a specific request. Filter by dash0.web.request.name = GET /api/cart to measure the volume or duration of a single browser-initiated request — useful when investigating a specific API call that is slow or error-prone for real users.
  • Focus on a specific page or route. Filter by dash0.web.event.title = GET /api/recommendations to scope the query to events associated with a particular page or endpoint, without switching to a Group by view.
  • Isolate a single environment. Filter by deployment.environment.name = production to exclude staging or canary traffic from your baseline — especially important before creating a check rule where test traffic could cause false-positive alerts.
  • Filter by HTTP response code. Filter by http.response.status_code = 500 to isolate requests that received a server-side error response, separating backend failures from client-side errors.

Group By an Attribute

Use the Group by dropdown to split the time series by a web event attribute, producing one line per unique value of that attribute.

Query Builder Web Events tab showing the Group by dropdown with available attributes

Tips
  • Group by dash0.web.request.name to compare request volume or duration across all endpoints in a single chart — useful for identifying which API calls are the slowest or most error-prone for real users.
  • Group by dash0.web.event.status.code alongside the Events total metric to visualise the split between successful and error events over time, and quickly detect when error events begin to grow.
  • Group by service.name when multiple frontend applications report into the same environment, to compare their performance and error rates side by side.
  • Group by http.request.method to separate GET and POST request volumes — write operations often have very different latency profiles from reads and may warrant separate SLO thresholds.
  • Group by error.type or exception.type alongside the Errors metric to break down frontend error volume by error class — useful for prioritising which error types to investigate first.
  • For multi-dimension breakdowns, switch to the PromQL tab. Your current Web Events query is carried over and you can extend the by clause manually — for example, to split by both service.name and dash0.web.event.status.code simultaneously.

Create Dashboards and Check Rules from the Query

Once you have the view you want, use the buttons at the top of the Query Builder, above the preview chart.

Query Builder Tracing tab showing the Group by dropdown with available attributes

  • Click Add to dashboard to add the current query as a panel to a new or existing dashboard.
  • Click Create check rule to open the check rule editor with this query pre-filled as the rule expression.