Skip to main content
All recipes

Datadog.

CodeOTLPMetrics

Datadog accepts OpenTelemetry metrics natively. Configure the OTel SDK with the Datadog OTLP endpoint, then use CheckUpstream's `beforeSend` hook to mirror events as metrics — no Datadog-specific SDK wrapper required.

Configure the OTLP exporter for Datadog.

Bash
OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.us3.datadoghq.com
OTEL_EXPORTER_OTLP_HEADERS=DD-API-KEY=$DATADOG_API_KEY

Mirror CheckUpstream events into Datadog metrics.

The mechanics are identical to the generic OpenTelemetry recipe — the only difference is the OTLP endpoint and the `DD-API-KEY` header set above.

instrumentation.ts
import { metrics } from "@opentelemetry/api";
import { initCheckUpstream } from "@checkupstream/sdk/integrations/next";

const meter = metrics.getMeter("checkupstream");
const latency = meter.createHistogram("upstream.latency_ms", { unit: "ms" });

export function register() {
  initCheckUpstream({
    sdkKey: process.env.CHECKUPSTREAM_SDK_KEY!,
    beforeSend: (events) => {
      for (const e of events) {
        latency.record(e.latency_ms, {
          service: e.service,
          status: String(e.status),
        });
      }
      return events;
    },
  });
}

Ship reliable upstream.

Drop the SDK in, point it at your project key, and start seeing live upstream telemetry inside the dashboard.