Skip to content

Application monitoring (web, server, games)

VolatileSys isn't only for hardware. Any project — a website, a backend service, a game — can report structured JSON to /v1/report and get the same metrics, events, alerting, and realtime as a device fleet. No bit-packing and no payload rules: you send named metrics, events, and errors directly.

The Apps workspace

The console has a Devices | Apps switch in the header. Switch to Apps for your web, server, and game projects: a Metrics explorer that charts any metric a source reports, an Errors feed, grouped Issues, alert rules, and project setup — without the microcontroller-specific views. Your choice is remembered, and an org with only application projects lands here automatically.

Set up an application project

  1. Switch to the Apps workspace, open Project setup, and create a project (its kind is set to Application for you).
  2. Add a source (one app, service, or build) and mint an ingest key.
  3. Open the source's Reporting code and paste the snippet for your platform — it has the source id and URL filled in.

The report API

Authenticate with the X-Ingest-Key header. Every field is optional — send only metrics, only an error, or a mix.

POST /v1/report
X-Ingest-Key: vsk_…

{
  "source_id": "uuid of your source",
  "ts": "optional ISO-8601; defaults to arrival time",
  "metrics": { "fps": 58, "latency_ms": 210 },
  "events":  [ "level_start", "checkout" ],
  "errors":  [ { "level": "error", "message": "…", "stack": "…", "context": {…} } ]
}

→ 202 Accepted

Capture errors automatically

The browser and Node reporters hook uncaught errors and unhandled rejections for you — the two lines that matter:

// Browser
window.addEventListener("error", (e) =>
  report({ errors: [{ level: "error", message: e.message, stack: e.error?.stack }] }));

// Node
process.on("uncaughtException", (err) =>
  report({ errors: [{ level: "fatal", message: err.message, stack: err.stack }] }));

Errors at level error, fatal, or critical also emit an event named for the level — so an alert rule like error gte 1 fires on a crash (see Alert rules). Reported errors appear in the project's Recent errors panel with their stack traces; metrics chart like any other, and events show in the log.

Issues

Repeated errors are grouped by a fingerprint (the message plus the first stack frame) into issues on the Issues screen — each with an occurrence count, how many sources hit it, and when it was first and last seen. Resolve one to clear it from the list; if the same fault fires again it comes back as regressed, so a fix that didn't hold doesn't go unnoticed.

Investigate an issue with the agent

On the Enterprise tier, every issue has an Investigate button that hands it to the diagnostics agent: it reads the grouped error's stack trace and context plus the surrounding telemetry, localizes the failing function, and drafts a code patch in the failing frame's language — stopping at a human-review gate. It never posts a patch on its own and never runs your code.