20
20
21
21
import com .alibaba .csp .sentinel .Constants ;
22
22
import com .alibaba .csp .sentinel .node .metric .MetricNode ;
23
- import com .alibaba .csp .sentinel .slots .statistic .base .Window ;
23
+ import com .alibaba .csp .sentinel .slots .statistic .base .MetricBucket ;
24
24
import com .alibaba .csp .sentinel .slots .statistic .base .WindowWrap ;
25
25
26
26
/**
27
- * The basic metric class in Sentinel using a {@link WindowLeapArray } internal.
27
+ * The basic metric class in Sentinel using a {@link MetricsLeapArray } internal.
28
28
*
29
29
* @author jialiang.linjl
30
30
* @author Eric Zhao
31
31
*/
32
32
public class ArrayMetric implements Metric {
33
33
34
- private final WindowLeapArray data ;
34
+ private final MetricsLeapArray data ;
35
35
36
36
public ArrayMetric (int windowLength , int interval ) {
37
- this .data = new WindowLeapArray (windowLength , interval );
37
+ this .data = new MetricsLeapArray (windowLength , interval );
38
38
}
39
39
40
40
/**
41
41
* For unit test.
42
42
*/
43
- public ArrayMetric (WindowLeapArray array ) {
43
+ public ArrayMetric (MetricsLeapArray array ) {
44
44
this .data = array ;
45
45
}
46
46
@@ -49,8 +49,8 @@ public long success() {
49
49
data .currentWindow ();
50
50
long success = 0 ;
51
51
52
- List <Window > list = data .values ();
53
- for (Window window : list ) {
52
+ List <MetricBucket > list = data .values ();
53
+ for (MetricBucket window : list ) {
54
54
success += window .success ();
55
55
}
56
56
return success ;
@@ -61,8 +61,8 @@ public long maxSuccess() {
61
61
data .currentWindow ();
62
62
long success = 0 ;
63
63
64
- List <Window > list = data .values ();
65
- for (Window window : list ) {
64
+ List <MetricBucket > list = data .values ();
65
+ for (MetricBucket window : list ) {
66
66
if (window .success () > success ) {
67
67
success = window .success ();
68
68
}
@@ -74,8 +74,8 @@ public long maxSuccess() {
74
74
public long exception () {
75
75
data .currentWindow ();
76
76
long exception = 0 ;
77
- List <Window > list = data .values ();
78
- for (Window window : list ) {
77
+ List <MetricBucket > list = data .values ();
78
+ for (MetricBucket window : list ) {
79
79
exception += window .exception ();
80
80
}
81
81
return exception ;
@@ -85,8 +85,8 @@ public long exception() {
85
85
public long block () {
86
86
data .currentWindow ();
87
87
long block = 0 ;
88
- List <Window > list = data .values ();
89
- for (Window window : list ) {
88
+ List <MetricBucket > list = data .values ();
89
+ for (MetricBucket window : list ) {
90
90
block += window .block ();
91
91
}
92
92
return block ;
@@ -96,9 +96,9 @@ public long block() {
96
96
public long pass () {
97
97
data .currentWindow ();
98
98
long pass = 0 ;
99
- List <Window > list = data .values ();
99
+ List <MetricBucket > list = data .values ();
100
100
101
- for (Window window : list ) {
101
+ for (MetricBucket window : list ) {
102
102
pass += window .pass ();
103
103
}
104
104
return pass ;
@@ -108,8 +108,8 @@ public long pass() {
108
108
public long rt () {
109
109
data .currentWindow ();
110
110
long rt = 0 ;
111
- List <Window > list = data .values ();
112
- for (Window window : list ) {
111
+ List <MetricBucket > list = data .values ();
112
+ for (MetricBucket window : list ) {
113
113
rt += window .rt ();
114
114
}
115
115
return rt ;
@@ -119,8 +119,8 @@ public long rt() {
119
119
public long minRt () {
120
120
data .currentWindow ();
121
121
long rt = Constants .TIME_DROP_VALVE ;
122
- List <Window > list = data .values ();
123
- for (Window window : list ) {
122
+ List <MetricBucket > list = data .values ();
123
+ for (MetricBucket window : list ) {
124
124
if (window .minRt () < rt ) {
125
125
rt = window .minRt ();
126
126
}
@@ -133,7 +133,7 @@ public long minRt() {
133
133
public List <MetricNode > details () {
134
134
List <MetricNode > details = new ArrayList <MetricNode >();
135
135
data .currentWindow ();
136
- for (WindowWrap <Window > window : data .list ()) {
136
+ for (WindowWrap <MetricBucket > window : data .list ()) {
137
137
if (window == null ) {
138
138
continue ;
139
139
}
@@ -156,38 +156,38 @@ public List<MetricNode> details() {
156
156
}
157
157
158
158
@ Override
159
- public Window [] windows () {
159
+ public MetricBucket [] windows () {
160
160
data .currentWindow ();
161
- return data .values ().toArray (new Window [data .values ().size ()]);
161
+ return data .values ().toArray (new MetricBucket [data .values ().size ()]);
162
162
}
163
163
164
164
@ Override
165
165
public void addException () {
166
- WindowWrap <Window > wrap = data .currentWindow ();
166
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
167
167
wrap .value ().addException ();
168
168
}
169
169
170
170
@ Override
171
171
public void addBlock () {
172
- WindowWrap <Window > wrap = data .currentWindow ();
172
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
173
173
wrap .value ().addBlock ();
174
174
}
175
175
176
176
@ Override
177
177
public void addSuccess () {
178
- WindowWrap <Window > wrap = data .currentWindow ();
178
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
179
179
wrap .value ().addSuccess ();
180
180
}
181
181
182
182
@ Override
183
183
public void addPass () {
184
- WindowWrap <Window > wrap = data .currentWindow ();
184
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
185
185
wrap .value ().addPass ();
186
186
}
187
187
188
188
@ Override
189
189
public void addRT (long rt ) {
190
- WindowWrap <Window > wrap = data .currentWindow ();
190
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
191
191
wrap .value ().addRT (rt );
192
192
}
193
193
@@ -196,7 +196,7 @@ public void debugQps() {
196
196
data .currentWindow ();
197
197
StringBuilder sb = new StringBuilder ();
198
198
sb .append (Thread .currentThread ().getId ()).append ("_" );
199
- for (WindowWrap <Window > windowWrap : data .list ()) {
199
+ for (WindowWrap <MetricBucket > windowWrap : data .list ()) {
200
200
201
201
sb .append (windowWrap .windowStart ()).append (":" ).append (windowWrap .value ().pass ()).append (":" )
202
202
.append (windowWrap .value ().block ());
@@ -208,7 +208,7 @@ public void debugQps() {
208
208
209
209
@ Override
210
210
public long previousWindowBlock () {
211
- WindowWrap <Window > wrap = data .currentWindow ();
211
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
212
212
wrap = data .getPreviousWindow ();
213
213
if (wrap == null ) {
214
214
return 0 ;
@@ -218,12 +218,11 @@ public long previousWindowBlock() {
218
218
219
219
@ Override
220
220
public long previousWindowPass () {
221
- WindowWrap <Window > wrap = data .currentWindow ();
221
+ WindowWrap <MetricBucket > wrap = data .currentWindow ();
222
222
wrap = data .getPreviousWindow ();
223
223
if (wrap == null ) {
224
224
return 0 ;
225
225
}
226
226
return wrap .value ().pass ();
227
227
}
228
-
229
228
}
0 commit comments