diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java index 4d2cea380e..b8633e8c79 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java @@ -31,6 +31,8 @@ public interface ActiveMQServerControl { String ADDRESS_MEMORY_USAGE_DESCRIPTION = "Memory used by all the addresses on broker for in-memory messages"; String ADDRESS_MEMORY_USAGE_PERCENTAGE_DESCRIPTION = "Memory used by all the addresses on broker as a percentage of the global-max-size"; String DISK_STORE_USAGE_DESCRIPTION = "Fraction of total disk store used"; + String REPLICA_SYNC_DESCRIPTION = "If the initial replication synchronization process is complete"; + String IS_ACTIVE_DESCRIPTION = "If the server is active"; /** * Returns this server's name. @@ -48,7 +50,7 @@ public interface ActiveMQServerControl { String getVersion(); - @Attribute(desc = "Server is active") + @Attribute(desc = IS_ACTIVE_DESCRIPTION) boolean isActive(); /** @@ -470,7 +472,7 @@ public interface ActiveMQServerControl { * Returns whether the initial replication synchronization process with the backup server is complete; applicable for * either the primary or backup server. */ - @Attribute(desc = "Whether the initial replication synchronization process with the backup server is complete") + @Attribute(desc = REPLICA_SYNC_DESCRIPTION) boolean isReplicaSync(); /** diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java index bd514e61f6..60d7a785cc 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java @@ -241,6 +241,8 @@ public class ManagementServiceImpl implements ManagementService { builder.build(BrokerMetricNames.ADDRESS_MEMORY_USAGE, messagingServer, metrics -> Double.valueOf(messagingServerControl.getAddressMemoryUsage()), ActiveMQServerControl.ADDRESS_MEMORY_USAGE_DESCRIPTION); builder.build(BrokerMetricNames.ADDRESS_MEMORY_USAGE_PERCENTAGE, messagingServer, metrics -> Double.valueOf(messagingServerControl.getAddressMemoryUsagePercentage()), ActiveMQServerControl.ADDRESS_MEMORY_USAGE_PERCENTAGE_DESCRIPTION); builder.build(BrokerMetricNames.DISK_STORE_USAGE, messagingServer, metrics -> Double.valueOf(messagingServer.getDiskStoreUsage()), ActiveMQServerControl.DISK_STORE_USAGE_DESCRIPTION); + builder.build(BrokerMetricNames.REPLICA_SYNC, messagingServer, metrics -> messagingServer.isReplicaSync() ? 1D : 0D, ActiveMQServerControl.REPLICA_SYNC_DESCRIPTION); + builder.build(BrokerMetricNames.ACTIVE, messagingServer, metrics -> messagingServer.isActive() ? 1D : 0D, ActiveMQServerControl.IS_ACTIVE_DESCRIPTION); }); } } diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/BrokerMetricNames.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/BrokerMetricNames.java index 44da0787ba..a31db9619e 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/BrokerMetricNames.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/BrokerMetricNames.java @@ -23,4 +23,6 @@ public class BrokerMetricNames { public static final String ADDRESS_MEMORY_USAGE = "address.memory.usage"; public static final String ADDRESS_MEMORY_USAGE_PERCENTAGE = "address.memory.usage.percentage"; public static final String DISK_STORE_USAGE = "disk.store.usage"; + public static final String REPLICA_SYNC = "replica.sync"; + public static final String ACTIVE = "active"; }