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 determine if there are changes in the topology. Topology data includes the following:

  • The server ID of the current primary, if the primary is not known.
  • The instance name of the current primary, or if a primary is not set, a description stating why a primary is not set.
  • A flag indicating if this server thinks that it should be the primary.
  • A flag indicating if this server is the current primary.
  • A flag indicating if this server was forced as primary.
  • 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 whether or not this server is not synchronized with its primary, or another node in the topology if the primary is unknown.
  • The amount of time in milliseconds where multiple primaries were detected by this server.
  • The amount of time in milliseconds where no suitable server is found to act as primary.
  • 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 primary:

  • The number of operations processed by this server as primary.
  • The number of operations processed by this server as primary that were successful.
  • The number of operations processed by this server as primary that failed to validate.
  • The number of operations processed by this server as primary that failed to apply.
  • The average amount of time taken (in milliseconds) by this server to process operations as the primary.
  • The maximum amount of time taken (in milliseconds) by this server to process an operation as the primary.