X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fjmx%2Fmbeans%2Fshard%2FShardStats.java;h=22ad8e7f5a3408ff7457876635ced85f19ad2842;hb=67d58d1ab50f3c3bbe19a96fb6f0d9d94211829f;hp=4eb6a8cef96319d0ca885112c3a0812ee06e5431;hpb=c74d5c2399e500fe3e690edc8cee497b1cb6f867;p=controller.git 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 4eb6a8cef9..22ad8e7f5a 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 @@ -1,86 +1,228 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; import org.opendaylight.controller.cluster.datastore.jmx.mbeans.AbstractBaseMBean; +import java.text.SimpleDateFormat; +import java.util.Date; + /** - * @author: syedbahm + * @author Basheeruddin syedbahm@cisco.com */ public class ShardStats extends AbstractBaseMBean implements ShardStatsMBean { - private Long committedTransactionsCount; - private Long journalMessagesCount; - final private String shardName; - private String leader; - private String raftState; - ShardStats(String shardName){ - this.shardName = shardName; - committedTransactionsCount =0L; - journalMessagesCount = 0L; - }; + private final String shardName; + + private long committedTransactionsCount = 0L; + + private long readOnlyTransactionCount = 0L; + + private long writeOnlyTransactionCount = 0L; + + private long readWriteTransactionCount = 0L; + + private String leader; + + private String raftState; + + private long lastLogTerm = -1L; + + private long lastLogIndex = -1L; + + private long currentTerm = -1L; + + private long commitIndex = -1L; + + private long lastApplied = -1L; + + private Date lastCommittedTransactionTime = new Date(0L); + + private long failedTransactionsCount = 0L; + + private long failedReadTransactionsCount = 0L; + + private long abortTransactionsCount = 0L; + + private SimpleDateFormat sdf = + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + + ShardStats(String shardName) { + this.shardName = shardName; + } + + + @Override + public String getShardName() { + return shardName; + } + + @Override + public long getCommittedTransactionsCount() { + return committedTransactionsCount; + } + + @Override public String getLeader() { + return leader; + } + + @Override public String getRaftState() { + return raftState; + } + + @Override public long getReadOnlyTransactionCount() { + return readOnlyTransactionCount; + } + + @Override public long getWriteOnlyTransactionCount() { + return writeOnlyTransactionCount; + } + + @Override public long getReadWriteTransactionCount() { + return readWriteTransactionCount; + } + + @Override public long getLastLogIndex() { + return lastLogIndex; + } + + @Override public long getLastLogTerm() { + return lastLogTerm; + } + + @Override public long getCurrentTerm() { + return currentTerm; + } + + @Override public long getCommitIndex() { + return commitIndex; + } + + @Override public long getLastApplied() { + return lastApplied; + } + + @Override + public String getLastCommittedTransactionTime() { + + return sdf.format(lastCommittedTransactionTime); + } + + @Override public long getFailedTransactionsCount() { + return failedTransactionsCount; + } + + @Override public long getFailedReadTransactionsCount() { + return failedReadTransactionsCount; + } + + @Override public long getAbortTransactionsCount() { + return abortTransactionsCount; + } + + public long incrementCommittedTransactionCount() { + return committedTransactionsCount++; + } + + public long incrementReadOnlyTransactionCount() { + return readOnlyTransactionCount++; + } + + public long incrementWriteOnlyTransactionCount() { + return writeOnlyTransactionCount++; + } + + public long incrementReadWriteTransactionCount() { + return readWriteTransactionCount++; + } + + public long incrementFailedTransactionsCount() { + return failedTransactionsCount++; + } + + public long incrementFailedReadTransactionsCount() { + return failedReadTransactionsCount++; + } + + public long incrementAbortTransactionsCount () { return abortTransactionsCount++;} + + public void setLeader(String leader) { + this.leader = leader; + } + + public void setRaftState(String raftState) { + this.raftState = raftState; + } + + public void setLastLogTerm(long lastLogTerm) { + this.lastLogTerm = lastLogTerm; + } + + public void setLastLogIndex(long lastLogIndex) { + this.lastLogIndex = lastLogIndex; + } + public void setCurrentTerm(long currentTerm) { + this.currentTerm = currentTerm; + } - @Override - public String getShardName() { - return shardName; - } + public void setCommitIndex(long commitIndex) { + this.commitIndex = commitIndex; + } - @Override - public Long getCommittedTransactionsCount() { - return committedTransactionsCount; - } + public void setLastApplied(long lastApplied) { + this.lastApplied = lastApplied; + } - @Override - public Long getJournalMessagesCount() { - //FIXME: this will be populated once after integration with Raft stuff - return journalMessagesCount; - } - @Override public String getLeader() { - return leader; - } + public void setLastCommittedTransactionTime( + Date lastCommittedTransactionTime) { + this.lastCommittedTransactionTime = lastCommittedTransactionTime; + } - @Override public String getRaftState() { - return raftState; - } + @Override + protected String getMBeanName() { + return shardName; + } - public Long incrementCommittedTransactionCount() { - return committedTransactionsCount++; - } + @Override + protected String getMBeanType() { + return JMX_TYPE_DISTRIBUTED_DATASTORE; + } + @Override + protected String getMBeanCategory() { + return JMX_CATEGORY_SHARD; + } - public void updateCommittedTransactionsCount(long currentCount){ - committedTransactionsCount = currentCount; + /** + * resets the counters related to transactions + */ - } + public void resetTransactionCounters(){ + committedTransactionsCount = 0L; - public void updateJournalMessagesCount(long currentCount){ - journalMessagesCount = currentCount; + readOnlyTransactionCount = 0L; - } + writeOnlyTransactionCount = 0L; - public void setLeader(String leader){ - this.leader = leader; - } + readWriteTransactionCount = 0L; - public void setRaftState(String raftState){ - this.raftState = raftState; - } + lastCommittedTransactionTime = new Date(0L); + failedTransactionsCount = 0L; - @Override - protected String getMBeanName() { - return shardName; - } + failedReadTransactionsCount = 0L; - @Override - protected String getMBeanType() { - return JMX_TYPE_DISTRIBUTED_DATASTORE; - } + abortTransactionsCount = 0L; - @Override - protected String getMBeanCategory() { - return JMX_CATEGORY_SHARD; - } + } }