MandiIQ

Heartbeat & Dashboard Monitor

Live status from the hourly heartbeat workflow, dashboard cache freshness, and md5_hash stability tracking.

Checking...
Failed to fetch data.
Dashboard Cache
loading...
md5 Hash
loading...
Last Refresh
loading...
File Age
loading...
📊 md5 Hash Stability
⏳ Waiting for data...
📋 Workflow Run History
RunStatusEventCommitTriggered
Loading...
📈 Live Pipeline Metrics
Price Records
in DuckDB warehouse
Commodities
unique tracked
Districts
markets covered
RDD Results
causal estimates
Rainfall Records
IMD weather joins
Forecast Models
avg MAPE:
Last Hourly Ingest
NDVI Records
satellite vegetation data
States Covered
with price data
ℹ️ About This Monitor

This page fetches live data from the MandiIQ API and GitHub Actions API every 30 seconds.

  • Dashboard Cache — Status of the in-memory Grafana dashboard JSON cache (fresh / stale / error).
  • md5 Hash — Hash of the loaded dashboard JSON. Changes when the file on disk is updated.
  • Last Refresh — When the cache was last cleared and reloaded via webhook or admin endpoint.
  • File Age — How long since the dashboard JSON file was last modified on disk.

Data sources: GET /admin/dashboard-status and GET /repos/flawsom/test-mandi/actions/workflows/dashboard-heartbeat.yml/runs.

⋆ A green dot means the last heartbeat checked in within 70 minutes.
⋆ The hash timeline shows stability: repeated identical hashes = no changes; a new hash = dashboard was updated.

⚠️ CORS note: If you see a persistent error banner, the Render API may not be sending Access-Control-Allow-Origin headers. The API must allow requests from your domain for this page to work.

Last updated: just now · ⟳ Refresh