Dashboard

Dashboard represent a collection of metrics that have various impacts on the system. Dashboard should be checked daily to ensure that no deviations are present. It can also be a source of truth for cases when we just need to ensure that everything related to Firebase is working as expected.

Alerts

  • triggers on source and target tables schema mismatch (e.g. after a migration on master that was not applied on slave)
  • triggers when subscriber table last ID is much lower than the master one

Data sources

Deactivated Firebase Credentials

API to be used - deactivated firebases list

Should be queried at least once a day to ensure that no deactivated credentials are present in the system. If there are any, a corresponding alert should be triggered.

TODO: Firebase sending average latency

This metric is not available yet. Once we have it, it should be present on the dashboard to display total and per-location average latencies. Any significant deviation should trigger an alert.

Firebase total sent & errors count

API to be used - monitoring firebase statistics

Result contains total aggregated sent and errors count for each Firebase account registered in the system. A ratio of errors to total sent should be calculated and displayed on the dashboard. Any significant deviation should trigger an alert.

Firebase subscription errors

API to be used - subscription errors monitoring

Result always shows a total amount of errors ever occurred for all Firebase accounts. We expect very little to no errors here daily. Since we don’t use Firebase client SDKs directly, this data is important. A persistent increase in value should be taken into account and investigated.

Firebase subscriptions

API to be used - [total firebase subscribers]

This data may be useful in two ways:

  • to show a static (current state) representation of the total amount of subscribers for all Firebase accounts
  • to track a dynamic change in the amount of subscribers for each Firebase account. An account that stops receiving new subscribers may be a sign of a problem