telemetry-processor
com.mbreissi.edgecommons.TelemetryProcessor subscribes to the fleet’s telemetry on the Unified Namespace
(the ecv1/.../data/# class), runs a declarative per-route pipeline — filter, sample, aggregate,
project, Rhai/Lua script — and forwards the result to a target: republish on the local bus, send
northbound to MQTT / AWS IoT Core, or append to a durable stream that lands in Kinesis, Kafka, or
rolling Parquet/AVRO files. Built on the edgecommons library, it is the high-throughput seam between
southbound protocol adapters and the cloud, and runs wherever you deploy it — as a Greengrass v2
component, a standalone process, or a Kubernetes pod. It appears on the bus as
ecv1/{device}/telemetry-processor/… and answers UNS commands (get-stats / flush / pause /
resume + the library built-ins).
| Doc | Start here when you want to… |
|---|---|
| Tutorial | learn by doing — bring the processor up against a local broker and watch it downsample and archive telemetry, end to end |
| How-to guides | accomplish a specific task — filter, downsample, window-aggregate, handle array signals, script, derive a multi-signal KPI, archive to Parquet, forward alarms northbound, deploy |
| Scripting | write filter/script logic in Rhai or Lua (runtime-selectable) — engine selection, the shared scope, return semantics, sandbox/budget, and a cookbook shown in both engines |
| Reference | look up an exact option, topic, payload, or column type |
| Explanation | understand how it works and why — the route/worker model, the processing-and-timing pipeline, targets and the file sink |
Quick routing
Section titled “Quick routing”- “I’m new here.” → Tutorial.
- “What does this config option do?” → Reference — Configuration.
- “What message do I subscribe to / publish, and on which topic?” → Reference — Messaging Interface.
- “What does this metric mean?” → Reference — Metrics.
- “How are values stored in the Parquet / AVRO files?” → Reference — Data Types.
- “How do I downsample a fast signal or aggregate per signal?” → How-to guides.
- “How do I write a script, and what can it see/return?” → Scripting.
- “My signal’s value is an array — how do I handle it?” → Handle array-valued signals.
- “How do I control file rotation — by size, time, or count?” → How-to guides.
- “Why is my data too fast / slow / laggy, and how does windowing work?” → Explanation — the processing-and-timing pipeline.
- “How does one route share a topic with another?” → Explanation — one route, one worker.
Audience
Section titled “Audience”These docs are for integrators and operators — people who deploy the processor and write the adapters or clients that produce and consume its messages. They do not cover modifying the processor’s own source.