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
- Switch to the Apps workspace, open Project setup, and create a project (its kind is set to Application for you).
- Add a source (one app, service, or build) and mint an ingest key.
- 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 AcceptedCapture 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.