Skip to content

Geo metrics: Measure time it takes for a commit to be mirrored

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

It is currently not possible to measure how long it takes for a commit on a Geo primary to be mirrored to a Geo Secondary. This means, it is not clear for a systems administrator and regular Geo users to understand how long it will take for changes to propagate.

Intended users

Further details

Currently, we only measure DB replication lag and show the repository syncing backlog.

It is already possible to obtain this metrics by utilising the Events API:

  • Watch the Events API for a new push
  • Ping each Geo secondary API until the push is present

This generates a substantial number of API calls and it would be easier if Geo tracked this out of the box.

Proposal

Create a metric per secondary that shows how long it took for the last commit to be mirrored onto the secondary. This could also be displayed in the administrator interface. We could also potentially incorporate this as an additional metric to display when pulling from a secondary. This would provide a better metrics for systems administrators and regular users to understand replication lag.

Permissions and Security

N/A

Documentation

This would need to be documented

Testing

Potentially some performance implications.

What does success look like, and how can we measure that?

  • A metric that shows on a secondary how long it took on average for a commit to be mirrored
  • Potentially an estimate to display as part of replication lag in git pull/push messages when using a secondary

What is the type of buyer?

  • Premium
  • Ultimate

Links / references

Edited by 🤖 GitLab Bot 🤖