/metrics

Primary LanguageTypeScript

Metrics Dashboard

A simple example of a metrics dashboard implemented in Node.js and consisting of three parts:

The REST API server stores metric values in Redis as time series data. These metric values can the be fetched in aggregated form as averages, min, and max values over a 90 day retention period or over different time windows (buckets) of this period.

When a metric value is added a Redis notification is broadcasted that is picked up by the Websocket server and broadcasted to all websocket connections. There is a simple HTML page that can be used to smoke test the websocket connection.

The API and Websocket servers are deployed to Heroku with the Redis Cloud addon.

Demo

A demo app is deployed to Heroku and Vercel: