Improve Version app observability
Problem
Version app currently has very limited observability. We dont export any metrics to our Prometheus server or trigger Snowplow events (the only exclusion currently is manual Service Ping upload).
To illustrate the problem, for example currently I dont have answer regarding Version checks observability .
Desired Outcome
Observability goals for the app:
- Counters for Version checks, Service ping and errors reports
Potential solutions
- Redis counters. Simply daily key-counter pairs for the last 60 days should be sufficient. Downside is that it has to be implemented from scratch (although the functionality can be as simple as expire keys after 60 days and when plot a simple graph on a new usage page)
- Snowplow events. We already emitting some events (manual service ping payload uploads), we can extend to track API usage. Downside is that the analytical data will be elsewhere (DW/Tableau) and we will emit up to a few millions of events to get simple counters.
Edited by Niko Belokolodov