Documentation

Set up Failior without guessing.

These guides are written for engineers who want one pass, clean copy-paste snippets, and enough operational detail to ship confidently. Start with the graph SDK if you want dependency tracing. Start with the RUM guide if you want real browser telemetry.

Guide 1

Graph SDK

Use the graph SDK when you want Failior to track request flow across services, jobs, or functions. It helps your team see what failed and what downstream work it affected.

Install

Go
import "failior/sdk/failiorsdk"

JavaScript
const { track } = require("failiorsdk")

Python
from failiorsdk import track

Minimal pattern

tracker := failiorsdk.Track(ctx, "checkout-flow")
defer tracker.End(&err)

tracker.Node("api")
tracker.Node("db")
  1. Create a graph id that stays stable for the workflow you want to track.
  2. Emit a node before each critical step or dependency call.
  3. Call End when the work completes so Failior can record final state.
Guide 2

RUM guide

Use RUM when you want browser-side performance from actual visitors instead of only synthetic checks. The Failior RUM collector records page views plus core browser metrics like LCP, INP, CLS, FCP, and TTFB.

What the collector sends

The script sends sanitized path-level telemetry, browser family, device type, release, environment, and coarse geo derived server-side. It does not need query strings, form data, or page content.

Script-tag install

<script async src="https://rum.failior.com/rum/v1/rum.js" data-site-token="rum_pub_xxxxx" data-endpoint="https://api.failior.com/api/rum/ingest" data-release="web-2026-03-29.1" data-environment="production"></script>

JavaScript package install

import { bootFailiorRUM } from "@failior/rum-browser";

bootFailiorRUM({
  siteToken: "rum_pub_xxxxx",
  endpoint: "https://api.failior.com/api/rum/ingest",
  release: window.__APP_VERSION__,
  environment: "production"
});
  1. Create a RUM site in the product UI, then fetch its ready-to-paste tag from /api/rum/script-tag?site_id=....
  2. Set the release field during each deployment so regressions are attributable.
  3. Serve the script from your Failior static host or CDN and keep the ingest endpoint on your API domain.

What the MVP collector supports

Feature Included now
Single script tag Yes. One script tag with data attributes.
Metrics LCP, INP, CLS, FCP, TTFB.
Single-page apps Tracks virtual page views via history patching.
Transport sendBeacon on page hide, fetch keepalive otherwise.
Grouping Site, page, browser, device, country, and release.
Guide 3

Script and package hosting

The cleanest production setup is to separate script delivery from ingestion. Serve the browser script from a cacheable static origin and post telemetry to your API origin.

Recommended subdomains

rum.failior.com
  Static script origin
  Example asset: /rum/v1/rum.js

app.failior.com
  Main product UI

api.failior.com
  Ingest API
  Example endpoint: /api/rum/ingest

Recommended CDN behavior

Cache-Control: public, max-age=31536000, immutable
Path versioning: /rum/v1/rum.js
Compression: gzip or brotli
TLS: required
SRI: optional later

Package hosting notes

The repository now includes an ESM package at sdk/javascript/failior-rum. You can publish it to npm as @failior/rum-browser, or mirror that artifact through your own package CDN if you want customers to import from a Failior-controlled origin.

Guide 4

Local telemetry dashboard

While the full in-product RUM dashboard is still to come, you can already inspect ingested data locally with a lightweight debug page.

Open the local dashboard

https://local.failior.com/rum-local/

Enter a RUM site token and the page will fetch summary data from the local debug API. The debug summary endpoint is intentionally disabled in production.

Upcoming

REST API

This section is reserved for public REST API documentation once endpoint naming, auth flow, and long-term request contracts are finalized.

Upcoming

MCP integrations

This section is reserved for future Failior MCP integrations and tool schemas. It shows up now so the docs IA stays stable as the product expands.