Open source · IoT & Edge

Telemetry Schema Checker

Check telemetry fields, units, timestamps and backward-compatible versions.

v1.0.0 · Node.js 22+ · MIT

Browse the public repository · View releases

Offline, read-only validation of captured telemetry records against a declared current and previous schema. No device or broker is contacted.

This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.

Run the checked-in example

node bin/telemetry-schema-checker.mjs --root examples/pass --schema schema.json --capture capture.json
node bin/telemetry-schema-checker.mjs --root examples/fail --schema schema.json --capture capture.json
npm run check

Read the result

One JSON report goes to stdout. Exit 0=pass, 1=fail, 2=incomplete or invalid configuration. Invalid options, root, or schema leave stdout empty. Unreadable or malformed capture emits an incomplete report. Paths are realpath-confined under --root; strict UTF-8 and duplicate decoded JSON keys are enforced; no files are written.

Scope

Schema ≤65,536 bytes; capture ≤1,048,576 bytes; at most 100 current or previous fields, 10,000 records, 512 UTF-16 code units per textual field value, JSON depth 16, and evaluation deadline 5,000 ms with an injected monotonic clock. minSamples is 1–10,000 and maxGapMs is 1–86,400,000. N is accepted and N+1 rejected for each bound. This checker does not infer calibration, timezone from local strings, live transport quality, or device readiness.