DeploxaDeploxa/Docs
Back to site
  • Edge Storage
  • Cron Jobs
  • Firewall & WAF
  • Observability
  • Analytics & Speed
  • Redirects & Headers
  • Rate Limiting & Protection

Observability

Observability

Send traces, real-user web vitals, and custom metrics from your app to Deploxa over simple POST endpoints, then explore them in the dashboard. Every ingest endpoint accepts cross-origin requests so you can call it from the browser or your server.

In the dashboardProject → Observability
Ingest endpoints identify your project by its slug in the URL — there is no API key. Send only non-sensitive telemetry, and keep payloads within the documented batch limits.

Distributed tracing

Post an OpenTelemetry-style trace with its spans to record a request's timing breakdown. Each trace has a root and an array of spans.

javascript
await fetch("https://deploxa.com/api/traces/my-project", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    traceId: "trace_abc123",
    rootName: "GET /checkout",
    service: "web",
    status: "ok",
    durationMs: 184,
    startedAt: new Date().toISOString(),
    spans: [
      {
        spanId: "span_1",
        name: "db.query",
        durationMs: 42,
        startedAt: new Date().toISOString(),
        attributes: { table: "orders" },
      },
    ],
  }),
});

Web Vitals (RUM)

Report Core Web Vitals from real visitors. Send one event or an array (up to 50 per request). Country and User-Agent are filled from the request if you omit them.

FieldMetric
lcpLargest Contentful Paint (ms)
fcpFirst Contentful Paint (ms)
clsCumulative Layout Shift
inpInteraction to Next Paint (ms)
ttfbTime to First Byte (ms)
javascript
import { onLCP, onCLS, onINP } from "web-vitals";

function send(metric) {
  navigator.sendBeacon(
    "https://deploxa.com/api/rum/my-project",
    JSON.stringify({ route: location.pathname, [metric.name.toLowerCase()]: metric.value }),
  );
}
onLCP(send); onCLS(send); onINP(send);

Custom metrics

Record any numeric metric — queue depth, cache hit rate, job counts. Send one or an array (up to 100 per request). Tags let you slice the metric in the dashboard.

javascript
await fetch("https://deploxa.com/api/metrics/my-project", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify([
    { name: "queue.depth", value: 17, unit: "count", tags: { queue: "emails" } },
    { name: "cache.hit_rate", value: 0.94, unit: "ratio" },
  ]),
});

Log search

Build and runtime logs are captured automatically and searchable from the dashboard — filter by deployment, level, and text, and export them as JSON or CSV from the Logs page.

Firewall & WAFAnalytics & Speed Insights