Merge "Minor changes to config-persister to allow for karaf"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / jmx / mbeans / shard / ShardStats.java
1 package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard;
2
3 import org.opendaylight.controller.cluster.datastore.jmx.mbeans.AbstractBaseMBean;
4
5 import java.text.SimpleDateFormat;
6 import java.util.Date;
7
8 /**
9  * @author: syedbahm
10  */
11 public class ShardStats extends AbstractBaseMBean implements ShardStatsMBean {
12
13     private final String shardName;
14
15     private Long committedTransactionsCount = 0L;
16
17     private Long readOnlyTransactionCount = 0L;
18
19     private Long writeOnlyTransactionCount = 0L;
20
21     private Long readWriteTransactionCount = 0L;
22
23     private String leader;
24
25     private String raftState;
26
27     private Long lastLogTerm = -1L;
28
29     private Long lastLogIndex = -1L;
30
31     private Long currentTerm = -1L;
32
33     private Long commitIndex = -1L;
34
35     private Long lastApplied = -1L;
36
37     private Date lastCommittedTransactionTime = new Date(0L);
38
39     private Long failedTransactionsCount = 0L;
40
41     private SimpleDateFormat sdf =
42         new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
43
44     ShardStats(String shardName) {
45         this.shardName = shardName;
46     }
47
48
49     @Override
50     public String getShardName() {
51         return shardName;
52     }
53
54     @Override
55     public Long getCommittedTransactionsCount() {
56         return committedTransactionsCount;
57     }
58
59     @Override public String getLeader() {
60         return leader;
61     }
62
63     @Override public String getRaftState() {
64         return raftState;
65     }
66
67     @Override public Long getReadOnlyTransactionCount() {
68         return readOnlyTransactionCount;
69     }
70
71     @Override public Long getWriteOnlyTransactionCount() {
72         return writeOnlyTransactionCount;
73     }
74
75     @Override public Long getReadWriteTransactionCount() {
76         return readWriteTransactionCount;
77     }
78
79     @Override public Long getLastLogIndex() {
80         return lastLogIndex;
81     }
82
83     @Override public Long getLastLogTerm() {
84         return lastLogTerm;
85     }
86
87     @Override public Long getCurrentTerm() {
88         return currentTerm;
89     }
90
91     @Override public Long getCommitIndex() {
92         return commitIndex;
93     }
94
95     @Override public Long getLastApplied() {
96         return lastApplied;
97     }
98
99     @Override
100     public String getLastCommittedTransactionTime() {
101
102         return sdf.format(lastCommittedTransactionTime);
103     }
104
105     @Override public Long getFailedTransactionsCount() {
106         return failedTransactionsCount;
107     }
108
109     public Long incrementCommittedTransactionCount() {
110         return committedTransactionsCount++;
111     }
112
113     public Long incrementReadOnlyTransactionCount() {
114         return readOnlyTransactionCount++;
115     }
116
117     public Long incrementWriteOnlyTransactionCount() {
118         return writeOnlyTransactionCount++;
119     }
120
121     public Long incrementReadWriteTransactionCount() {
122         return readWriteTransactionCount++;
123     }
124
125     public void setLeader(String leader) {
126         this.leader = leader;
127     }
128
129     public void setRaftState(String raftState) {
130         this.raftState = raftState;
131     }
132
133     public void setLastLogTerm(Long lastLogTerm) {
134         this.lastLogTerm = lastLogTerm;
135     }
136
137     public void setLastLogIndex(Long lastLogIndex) {
138         this.lastLogIndex = lastLogIndex;
139     }
140
141     public void setCurrentTerm(Long currentTerm) {
142         this.currentTerm = currentTerm;
143     }
144
145     public void setCommitIndex(Long commitIndex) {
146         this.commitIndex = commitIndex;
147     }
148
149     public void setLastApplied(Long lastApplied) {
150         this.lastApplied = lastApplied;
151     }
152
153
154     public void setLastCommittedTransactionTime(
155         Date lastCommittedTransactionTime) {
156         this.lastCommittedTransactionTime = lastCommittedTransactionTime;
157     }
158
159     @Override
160     protected String getMBeanName() {
161         return shardName;
162     }
163
164     @Override
165     protected String getMBeanType() {
166         return JMX_TYPE_DISTRIBUTED_DATASTORE;
167     }
168
169     @Override
170     protected String getMBeanCategory() {
171         return JMX_CATEGORY_SHARD;
172     }
173
174
175     public void incrementFailedTransactionsCount() {
176         this.failedTransactionsCount++;
177     }
178 }