Each server has a monitor that exposes that server's view of the topology in its monitor backend, so that peer servers can periodically read this information to identify changes in the topology.
Topology data includes the following:
- The server ID of the current master, if the master is not known
- The instance name of the current master or if a master is not set, a description stating why a master is not set
- A flag indicating which server thinks that it should be the master
- A flag indicating which server is the current master
- A flag indicating a server that was forced as master
- The total number of configured peers in the topology group
- The peers connected to this server
- The current availability of this server
- A flag indicating that a server is not synchronized with its master or another node in the topology if the master is unknown
- The amount of time in milliseconds that multiple masters were detected by this server
- The amount of time in milliseconds that no suitable server is found to act as master
- A SHA-256 digest encoded as a base-64 string for the current subtree contents
The following metrics are included if this server has processed any operations as master:
- The number of operations processed by this server as master
- The number of successful operations processed by this server as master
- The number of operations processed by this server as master that failed to validate
- The number of operations processed by this server as master that failed to apply
- The average amount of time taken in milliseconds by this server to process operations as the master
- The maximum amount of time taken in milliseconds by this server to process an operation as the master