Menu

Why my dashboard tool checks its own numbers (and why I wrote it in Rust)
📰

Why my dashboard tool checks its own numbers (and why I wrote it in Rust)

DEV Community: rust·Refael Dakar·about 13 hours ago
#pbkc1OxV
#devtorust#devto#dev#arcodash#build
Reading 0:00
15s threshold

I build arcodash, so read this with that in mind. It's an open-source dashboard tool (AGPL-3.0), v0.1.0 went out on Nov 8, and it's early beta.

The thing that made me start: a dashboard that's wrong because a table quietly stopped loading. Nothing errors. The chart renders, the number looks plausible, and you find out when someone asks why Tuesday looks odd.

The tool that draws the chart and the tool that watches the data are usually two different tools, set up by two different people, with two different schedules. So the watching tends to lag behind the drawing, or never gets set up.

What I did instead is put both on one scheduler. You write SQL (or ask in plain English), build a dashboard, and freshness, null rate and row count checks run next to the queries they protect. A failed check goes to Slack, and an LLM gives you a first guess at why it fired. The LLM uses your own key and can be switched off.

Why Rust: the API is Axum, and the worker is a separate binary that pulls jobs from Valkey.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.