diff --git a/src/org/jgroups/jmx/ResourceDMBean.java b/src/org/jgroups/jmx/ResourceDMBean.java index 4762a671fc..6641e484d8 100755 --- a/src/org/jgroups/jmx/ResourceDMBean.java +++ b/src/org/jgroups/jmx/ResourceDMBean.java @@ -52,8 +52,9 @@ public class ResourceDMBean implements DynamicMBean { static {OBJECT_METHODS=new ArrayList<>(Arrays.asList(Object.class.getMethods()));} - protected static final Predicate FILTER=obj -> obj.isAnnotationPresent(ManagedAttribute.class) || - (obj.isAnnotationPresent(Property.class) && obj.getAnnotation(Property.class).exposeAsManagedAttribute()); + protected static final Predicate FILTER=obj -> !obj.isAnnotationPresent(Deprecated.class) && + (obj.isAnnotationPresent(ManagedAttribute.class) || + (obj.isAnnotationPresent(Property.class) && obj.getAnnotation(Property.class).exposeAsManagedAttribute())); public ResourceDMBean(Object instance) { this(instance, null); diff --git a/src/org/jgroups/protocols/FlowControl.java b/src/org/jgroups/protocols/FlowControl.java index 4505a7487b..847a894678 100644 --- a/src/org/jgroups/protocols/FlowControl.java +++ b/src/org/jgroups/protocols/FlowControl.java @@ -19,6 +19,7 @@ import static org.jgroups.Message.TransientFlag.DONT_BLOCK; import static org.jgroups.Message.TransientFlag.DONT_LOOPBACK; +import static org.jgroups.conf.AttributeType.SCALAR; /** @@ -111,12 +112,23 @@ public void resetStats() { public T setMinCredits(long m) {min_credits=m; return (T)this;} public long getMaxBlockTime() {return max_block_time;} public T setMaxBlockTime(long t) {max_block_time=t; return (T)this;} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfCreditRequestsReceived() {return num_credit_requests_received;} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfCreditRequestsSent() {return num_credit_requests_sent;} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfCreditResponsesReceived() {return num_credit_responses_received;} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfCreditResponsesSent() {return num_credit_responses_sent;} - public abstract String printSenderCredits(); @ManagedOperation(description="Print receiver credits") diff --git a/src/org/jgroups/protocols/Locking.java b/src/org/jgroups/protocols/Locking.java index d7643fdfd1..c25f11e276 100644 --- a/src/org/jgroups/protocols/Locking.java +++ b/src/org/jgroups/protocols/Locking.java @@ -8,6 +8,7 @@ import org.jgroups.blocks.locking.AwaitInfo; import org.jgroups.blocks.locking.LockInfo; import org.jgroups.blocks.locking.LockNotification; +import org.jgroups.conf.AttributeType; import org.jgroups.stack.Protocol; import org.jgroups.util.*; @@ -122,10 +123,10 @@ public String getView() { return view != null? view.toString() : null; } - @ManagedAttribute(description="Number of server locks (only on coord)") + @ManagedAttribute(description="Number of server locks (only on coord)",type=AttributeType.SCALAR) public int getNumServerLocks() {return server_locks.size();} - @ManagedAttribute(description="Number of client locks") + @ManagedAttribute(description="Number of client locks",type=AttributeType.SCALAR) public int getNumClientLocks() {return client_lock_table.numLocks();} public void init() throws Exception { diff --git a/src/org/jgroups/protocols/RED.java b/src/org/jgroups/protocols/RED.java index 1929e7df61..c0df49ebb2 100644 --- a/src/org/jgroups/protocols/RED.java +++ b/src/org/jgroups/protocols/RED.java @@ -13,6 +13,8 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import static org.jgroups.conf.AttributeType.SCALAR; + /** * Implementation of Random Early Drop: messages are discarded when the bundler's queue in the transport nears exhaustion. * See Floyd and Van Jacobsen's paper for details. @@ -62,7 +64,12 @@ public class RED extends Protocol { public boolean isEnabled() {return enabled;} public RED setEnabled(boolean e) {enabled=e; return this;} public double getMinThreshold() {return min_threshold;} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @SuppressWarnings("DeprecatedIsStillUsed") + @ManagedAttribute(type=SCALAR) @Deprecated public long getDroppedMessages() {return dropped_msgs.sum();} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getTotalMessages() {return total_msgs.sum();} @ManagedAttribute(description="Percentage of all messages that were dropped") public double getDropRate() {return dropped_msgs.sum() / (double)total_msgs.sum();} diff --git a/src/org/jgroups/protocols/TP.java b/src/org/jgroups/protocols/TP.java index fd1d0021bd..89dd392cc6 100644 --- a/src/org/jgroups/protocols/TP.java +++ b/src/org/jgroups/protocols/TP.java @@ -575,6 +575,26 @@ public T setThreadPool(Executor thread_pool) { return (T)this; } + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumRejectedMsgs() {return thread_pool.numberOfRejectedMessages();} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumberOfThreadDumps() {return thread_pool.getNumberOfThreadDumps();} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumUcastMsgsSent() {return msg_stats.getNumUcastsSent();} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumMcastMsgsSent() {return msg_stats.getNumMcastsSent();} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumUcastMsgsReceived() {return msg_stats.getNumUcastsReceived();} /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated + public long getNumMcastMsgsReceived() {return msg_stats.getNumMcastsReceived();} + public ThreadFactory getThreadFactory() { return thread_factory; } diff --git a/src/org/jgroups/protocols/UNICAST3.java b/src/org/jgroups/protocols/UNICAST3.java index daa94726b9..3a98c2d742 100644 --- a/src/org/jgroups/protocols/UNICAST3.java +++ b/src/org/jgroups/protocols/UNICAST3.java @@ -192,22 +192,22 @@ public Table getSendWindow(Address target) { return entry != null? entry.msgs : null; } - @ManagedAttribute(description="Returns the number of outgoing (send) connections") + @ManagedAttribute(description="Returns the number of outgoing (send) connections",type=SCALAR) public int getNumSendConnections() { return send_table.size(); } - @ManagedAttribute(description="Returns the number of incoming (receive) connections") + @ManagedAttribute(description="Returns the number of incoming (receive) connections",type=SCALAR) public int getNumReceiveConnections() { return recv_table.size(); } - @ManagedAttribute(description="Returns the total number of outgoing (send) and incoming (receive) connections") + @ManagedAttribute(description="Returns the total number of outgoing (send) and incoming (receive) connections",type=SCALAR) public int getNumConnections() { return getNumReceiveConnections() + getNumSendConnections(); } - @ManagedAttribute(description="Next seqno issued by the timestamper") + @ManagedAttribute(description="Next seqno issued by the timestamper",type=SCALAR) public int getTimestamper() {return timestamper.get();} public int getAckThreshold() {return ack_threshold;} @@ -267,9 +267,15 @@ public String printConnections() { return sb.toString(); } - + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumMessagesSent() {return num_msgs_sent.sum();} + + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumMessagesReceived() {return num_msgs_received.sum();} + + public long getNumAcksSent() {return num_acks_sent.sum();} public long getNumAcksReceived() {return num_acks_received.sum();} public long getNumXmits() {return num_xmits.sum();} @@ -288,7 +294,7 @@ public UNICAST3 setMaxRetransmitTime(long max_retransmit_time) { @ManagedAttribute(description="Is the retransmit task running") public boolean isXmitTaskRunning() {return xmit_task != null && !xmit_task.isDone();} - @ManagedAttribute + @ManagedAttribute(type=SCALAR) public int getAgeOutCacheSize() { return cache != null? cache.size() : 0; } diff --git a/src/org/jgroups/protocols/pbcast/FLUSH.java b/src/org/jgroups/protocols/pbcast/FLUSH.java index 3060f2b737..ad6f9e9a1b 100644 --- a/src/org/jgroups/protocols/pbcast/FLUSH.java +++ b/src/org/jgroups/protocols/pbcast/FLUSH.java @@ -198,7 +198,7 @@ public long getTotalTimeInFlush() { return totalTimeInFlush; } - @ManagedAttribute + @ManagedAttribute(type=AttributeType.SCALAR) public int getNumberOfFlushes() { return numberOfFlushes; } diff --git a/src/org/jgroups/protocols/pbcast/GMS.java b/src/org/jgroups/protocols/pbcast/GMS.java index 3c12ce39c7..1352e2c612 100644 --- a/src/org/jgroups/protocols/pbcast/GMS.java +++ b/src/org/jgroups/protocols/pbcast/GMS.java @@ -251,7 +251,7 @@ public String printPreviousMembers() { - @ManagedAttribute + @ManagedAttribute(type=AttributeType.SCALAR) public int getViewHandlerSize() {return view_handler.size();} @ManagedAttribute public boolean isViewHandlerSuspended() {return view_handler.suspended();} diff --git a/src/org/jgroups/protocols/pbcast/STABLE.java b/src/org/jgroups/protocols/pbcast/STABLE.java index 7f6cfabbf2..bc73fcaf02 100644 --- a/src/org/jgroups/protocols/pbcast/STABLE.java +++ b/src/org/jgroups/protocols/pbcast/STABLE.java @@ -128,9 +128,18 @@ public STABLE() { // @ManagedAttribute(name="bytes_received") public long getBytes() {return num_bytes_received;} - @ManagedAttribute(description="The number of votes for the current digest") + @ManagedAttribute(description="The number of votes for the current digest",type=SCALAR) public int getNumVotes() {return votes != null? votes.cardinality() : 0;} + @ManagedAttribute(type=SCALAR) + public long getStableReceived() {return num_stable_msgs_received.sum();} + @ManagedAttribute(type=SCALAR) + public long getStableSent() {return num_stable_msgs_sent.sum();} + @ManagedAttribute(type=SCALAR) + public long getStabilityReceived() {return num_stability_msgs_received.sum();} + @ManagedAttribute(type=SCALAR) + public long getStabilitySent() {return num_stability_msgs_received.sum();} + @ManagedAttribute public boolean getStableTaskRunning() { stable_task_lock.lock(); diff --git a/src/org/jgroups/protocols/pbcast/STATE_TRANSFER.java b/src/org/jgroups/protocols/pbcast/STATE_TRANSFER.java index 0ada522056..ac358fa869 100644 --- a/src/org/jgroups/protocols/pbcast/STATE_TRANSFER.java +++ b/src/org/jgroups/protocols/pbcast/STATE_TRANSFER.java @@ -51,8 +51,14 @@ public class STATE_TRANSFER extends Protocol implements ProcessingQueue.Handler< protected volatile boolean waiting_for_state_response=false; protected boolean flushProtocolInStack=false; + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfStateRequests() {return num_state_reqs.sum();} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public long getNumberOfStateBytesSent() {return num_bytes_sent.sum();} + /** Don't remove! https://issues.redhat.com/browse/JGRP-2814 */ + @ManagedAttribute(type=SCALAR) @Deprecated public double getAverageStateSize() {return avg_state_size;} public List requiredDownServices() {