Service · Metrics & reporting
Metrics & reporting stacks
Prove field assets or programs are actually used. Probe → ingest → warehouse job → page your stakeholders can open in a meeting. Not a generic BI rollout; a trustworthy usage signal with minimal ongoing overhead.
What we deliver
- Device or client probes that report meaningful activity (not just boot time).
- Ingest API with health endpoints and daily aggregation.
- Raw → staging → mart pipeline (often dbt + scheduled jobs).
- Stakeholder dashboard with links into charting and orchestration layers.
- Alert hooks when ingest or usage drops off.
Example in production
Hope Metrics
A usage pipeline for donated devices: Windows probes report active minutes, the server stores and aggregates them, and a live page shows ingest health with links into Metabase charts and Airflow jobs.
Try the live demo
Public status dashboard: ingest KPIs, daily trend, device rank, and recent day-rows. No login. EN / 中文 toggle on the page.
- Access
- Public (root URL)
- Default view
- All time, English
- Data shown
- Demo fleet only (smoke devices hidden)
Illustrative cross-industry example: donated-device usage for program reporting. Your domain, probes, and stakeholder views would differ. Metabase and Airflow links on the page may have separate access rules.
Problem
Hardware donation programs struggle to answer a simple question: are the machines actually used, or sitting idle? Spreadsheets and one-off reports do not give a shareable, ongoing picture.
What we built
- Device probe that reports keyboard/mouse active minutes over HTTP.
- Ingest API with health and daily-usage endpoints.
- Raw → staging → mart path culminating in
mart_device_daily_usage. - Live status page: device count, day-rows, active minutes, 7-day trend, device rank, recent rows.
- Explore links into Metabase (fleet trends, drill-down, idle alerts) and Airflow (scheduled dbt + Feishu alerts).
- EN / 中文 UI toggle for stakeholder meetings.
Screenshots
Open the root URL to see current ingest stats. Metabase and Airflow layers may have their own access rules.