X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fjmx%2Fmbeans%2Fshard%2FShardStats.java;h=945ae0a4786ab931a62c071533ec89842847a84e;hp=0a1964b0533bfc7ead91025e5792f5edda85b844;hb=20b2ba67a79b1ec7f3d2fd58ed32f22ea54a1b59;hpb=4a2db09204b6cc8b3e25948b976921891849c9ce diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java index 0a1964b053..945ae0a478 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java @@ -8,20 +8,18 @@ package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; -import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicLong; - import org.opendaylight.controller.md.sal.common.util.jmx.AbstractMXBean; import org.opendaylight.controller.md.sal.common.util.jmx.QueuedNotificationManagerMXBeanImpl; import org.opendaylight.controller.md.sal.common.util.jmx.ThreadExecutorStats; import org.opendaylight.controller.md.sal.common.util.jmx.ThreadExecutorStatsMXBeanImpl; +import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; import org.opendaylight.yangtools.util.concurrent.ListenerNotificationQueueStats; import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager; -import java.text.SimpleDateFormat; -import java.util.Date; - /** * Maintains statistics for a shard. * @@ -62,28 +60,22 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { private ThreadExecutorStatsMXBeanImpl notificationExecutorStatsBean; - private ThreadExecutorStatsMXBeanImpl dataStoreExecutorStatsBean; - private QueuedNotificationManagerMXBeanImpl notificationManagerStatsBean; + private volatile long dataSize = 0; + private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - public ShardStats(String shardName, String mxBeanType) { + public ShardStats(final String shardName, final String mxBeanType) { super(shardName, mxBeanType, JMX_CATEGORY_SHARD); } - public void setDataStoreExecutor(ExecutorService dsExecutor) { - this.dataStoreExecutorStatsBean = new ThreadExecutorStatsMXBeanImpl(dsExecutor, - "notification-executor", getMBeanType(), getMBeanCategory()); - } - - public void setNotificationManager(QueuedNotificationManager manager) { + public void setNotificationManager(final QueuedNotificationManager manager) { this.notificationManagerStatsBean = new QueuedNotificationManagerMXBeanImpl(manager, "notification-manager", getMBeanType(), getMBeanCategory()); - this.notificationExecutorStatsBean = new ThreadExecutorStatsMXBeanImpl(manager.getExecutor(), - "data-store-executor", getMBeanType(), getMBeanCategory()); + this.notificationExecutorStatsBean = ThreadExecutorStatsMXBeanImpl.create(manager.getExecutor()); } @Override @@ -196,41 +188,51 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { return abortTransactionsCount.incrementAndGet(); } - public void setLeader(String leader) { + public void setLeader(final String leader) { this.leader = leader; } - public void setRaftState(String raftState) { + public void setRaftState(final String raftState) { this.raftState = raftState; } - public void setLastLogTerm(long lastLogTerm) { + public void setLastLogTerm(final long lastLogTerm) { this.lastLogTerm = lastLogTerm; } - public void setLastLogIndex(long lastLogIndex) { + public void setLastLogIndex(final long lastLogIndex) { this.lastLogIndex = lastLogIndex; } - public void setCurrentTerm(long currentTerm) { + public void setCurrentTerm(final long currentTerm) { this.currentTerm = currentTerm; } - public void setCommitIndex(long commitIndex) { + public void setCommitIndex(final long commitIndex) { this.commitIndex = commitIndex; } - public void setLastApplied(long lastApplied) { + public void setLastApplied(final long lastApplied) { this.lastApplied = lastApplied; } - public void setLastCommittedTransactionTime(long lastCommittedTransactionTime) { + public void setLastCommittedTransactionTime(final long lastCommittedTransactionTime) { this.lastCommittedTransactionTime = lastCommittedTransactionTime; } + public void setInMemoryJournalDataSize(long dataSize){ + this.dataSize = dataSize; + } + + @Override + public long getInMemoryJournalDataSize(){ + return dataSize; + } + @Override public ThreadExecutorStats getDataStoreExecutorStats() { - return dataStoreExecutorStatsBean.toThreadExecutorStats(); + // FIXME: this particular thing does not work, as it really is DS-specific + return null; } @Override @@ -270,4 +272,8 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { abortTransactionsCount.set(0); } + + public void setDataStore(final InMemoryDOMDataStore store) { + setNotificationManager(store.getDataChangeListenerNotificationManager()); + } }