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")
- Create a graph id that stays stable for the workflow you want to track.
- Emit a node before each critical step or dependency call.
- Call
Endwhen the work completes so Failior can record final state.
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.
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"
});
- Create a RUM site in the product UI, then fetch its ready-to-paste tag from
/api/rum/script-tag?site_id=.... - Set the
releasefield during each deployment so regressions are attributable. - 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. |
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.
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.
REST API
This section is reserved for public REST API documentation once endpoint naming, auth flow, and long-term request contracts are finalized.
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.