Dash0 Raises $35 Million Series A to Build the First AI-Native Observability Platform

Getting started

The following is a first example of how to initialize the Web SDK:

typescript
dash0-init.ts
12345678910111213
import { init } from "@dash0hq/sdk-web";
init({
serviceName: "my-app",
endpoint: {
// Get in the OTLP over HTTP tab of https://app.dash0.com/settings/endpoints
url: "...",
// Get or create from the https://app.dash0.com/settings/auth-tokens
authToken: "...",
},
sessionInactivityTimeoutMillis: 30 * 60 * 1000, // 30 min
sessionTerminationTimeoutMillis: 4 * 60 * 60 * 1000, // 4 hours
});

In this example, if a user is inactive for 30 minutes, the session ends. Additionally, any session automatically terminates after 4 hours—even if the user remains active.

For more detailed guidance, refer to the Dash0 Web SDK documentation on GitHub.

Dash0 Web SDK

This SDK enables users of Dash0's web monitoring features to instrument a website or single-page-application to capture and transmit telemetry to Dash0.

Features include:

  • Page view instrumentation
  • Navigation timing instrumentation
  • HTTP request instrumentation
  • Error tracking

Getting started

  1. Get an active Dash0 account. Sign Up
  2. Prepare an Auth Token; auth tokens for client monitoring will be public as part of your website, please make sure to:
  • Use a separate token, exclusively for website monitoring; if you want to monitor multiple websites, it is best to use a dedicated token for each
  • Limit the dataset permissions on the auth token to the dataset you want to ingest Website Monitoring data with
  • Limit permissions on the auth token to Ingesting
  1. Get the Endpoint URL for your Dash0 region. You can find it via Organization Settings > Endpoints > OTLP via HTTP.
  2. Add the SDK to your dependencies
# npm
npm install @Dash0/sdk-web
# yarn
yarn add @Dash0/sdk-web
  1. Initialize the SDK in your code: you'll need to call the init function at a convenient time in your applications lifecycle. Ideally this should happen as early as possible in the web page intialization, as most instrumentations shipped by the SDK can only observe events after init has been called.

    import { init } from "@Dash0/sdk-web";
    
    init({
      serviceName: "my-website",
      endpoint: {
        // Replace this with the endpoint URL identified during preparation
        url: REPLACE THIS,
        // Replace this with your auth token you created earlier
        // Ideally, you will inject the value at build time in order not commit the token to git,
        // even if its effectively public in the HTML you ship to the end user's browser
        authToken: REPLACE THIS
      },
    });
    

For more detailed instructions, refer to INSTALL.md.

Last updated: September 26, 2025