1 package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard;
3 import org.opendaylight.controller.cluster.datastore.jmx.mbeans.AbstractBaseMBean;
5 import java.text.SimpleDateFormat;
11 public class ShardStats extends AbstractBaseMBean implements ShardStatsMBean {
13 private final String shardName;
15 private Long committedTransactionsCount = 0L;
17 private Long readOnlyTransactionCount = 0L;
19 private Long writeOnlyTransactionCount = 0L;
21 private Long readWriteTransactionCount = 0L;
23 private String leader;
25 private String raftState;
27 private Long lastLogTerm = -1L;
29 private Long lastLogIndex = -1L;
31 private Long currentTerm = -1L;
33 private Long commitIndex = -1L;
35 private Long lastApplied = -1L;
37 private Date lastCommittedTransactionTime = new Date(0L);
39 private Long failedTransactionsCount = 0L;
41 private SimpleDateFormat sdf =
42 new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
44 ShardStats(String shardName) {
45 this.shardName = shardName;
50 public String getShardName() {
55 public Long getCommittedTransactionsCount() {
56 return committedTransactionsCount;
59 @Override public String getLeader() {
63 @Override public String getRaftState() {
67 @Override public Long getReadOnlyTransactionCount() {
68 return readOnlyTransactionCount;
71 @Override public Long getWriteOnlyTransactionCount() {
72 return writeOnlyTransactionCount;
75 @Override public Long getReadWriteTransactionCount() {
76 return readWriteTransactionCount;
79 @Override public Long getLastLogIndex() {
83 @Override public Long getLastLogTerm() {
87 @Override public Long getCurrentTerm() {
91 @Override public Long getCommitIndex() {
95 @Override public Long getLastApplied() {
100 public String getLastCommittedTransactionTime() {
102 return sdf.format(lastCommittedTransactionTime);
105 @Override public Long getFailedTransactionsCount() {
106 return failedTransactionsCount;
109 public Long incrementCommittedTransactionCount() {
110 return committedTransactionsCount++;
113 public Long incrementReadOnlyTransactionCount() {
114 return readOnlyTransactionCount++;
117 public Long incrementWriteOnlyTransactionCount() {
118 return writeOnlyTransactionCount++;
121 public Long incrementReadWriteTransactionCount() {
122 return readWriteTransactionCount++;
125 public void setLeader(String leader) {
126 this.leader = leader;
129 public void setRaftState(String raftState) {
130 this.raftState = raftState;
133 public void setLastLogTerm(Long lastLogTerm) {
134 this.lastLogTerm = lastLogTerm;
137 public void setLastLogIndex(Long lastLogIndex) {
138 this.lastLogIndex = lastLogIndex;
141 public void setCurrentTerm(Long currentTerm) {
142 this.currentTerm = currentTerm;
145 public void setCommitIndex(Long commitIndex) {
146 this.commitIndex = commitIndex;
149 public void setLastApplied(Long lastApplied) {
150 this.lastApplied = lastApplied;
154 public void setLastCommittedTransactionTime(
155 Date lastCommittedTransactionTime) {
156 this.lastCommittedTransactionTime = lastCommittedTransactionTime;
160 protected String getMBeanName() {
165 protected String getMBeanType() {
166 return JMX_TYPE_DISTRIBUTED_DATASTORE;
170 protected String getMBeanCategory() {
171 return JMX_CATEGORY_SHARD;
175 public void incrementFailedTransactionsCount() {
176 this.failedTransactionsCount++;