@@ -128,6 +128,7 @@ func handleMetricTicks(metricCount, metricLength, metricCycle *int, labelKeys *[
128
128
}
129
129
130
130
func changeSeriesGradual (seriesChangeRate , maxSeriesCount , minSeriesCount , currentSeriesCount * int , seriesIncrease * bool ) {
131
+ fmt .Printf ("Current series count: %d\n " , * currentSeriesCount )
131
132
if * seriesIncrease {
132
133
* currentSeriesCount += * seriesChangeRate
133
134
if * currentSeriesCount >= * maxSeriesCount {
@@ -136,7 +137,7 @@ func changeSeriesGradual(seriesChangeRate, maxSeriesCount, minSeriesCount, curre
136
137
}
137
138
} else {
138
139
* currentSeriesCount -= * seriesChangeRate
139
- if * currentSeriesCount <= * minSeriesCount {
140
+ if * currentSeriesCount < * minSeriesCount {
140
141
* currentSeriesCount = * minSeriesCount
141
142
* seriesIncrease = true
142
143
}
@@ -155,19 +156,18 @@ func changeSeriesDoubleHalve(currentSeriesCount *int, seriesIncrease *bool) {
155
156
* seriesIncrease = ! * seriesIncrease
156
157
}
157
158
158
- func handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , seriesCount int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
159
- currentSeriesCount := seriesCount
159
+ func handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , currentSeriesCount * int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
160
160
seriesIncrease := true
161
161
for tick := range changeSeriesTick .C {
162
162
metricsMux .Lock ()
163
163
unregisterMetrics ()
164
164
registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
165
- cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
165
+ cycleValues (labelKeys , labelValues , * currentSeriesCount , seriesCycle )
166
166
metricsMux .Unlock ()
167
167
168
- changeSeriesDoubleHalve (& currentSeriesCount , & seriesIncrease )
168
+ changeSeriesDoubleHalve (currentSeriesCount , & seriesIncrease )
169
169
170
- fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
170
+ fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , * currentSeriesCount )
171
171
172
172
select {
173
173
case updateNotify <- struct {}{}:
@@ -176,20 +176,20 @@ func handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle i
176
176
}
177
177
}
178
178
179
- func handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , seriesChangeRate , maxSeriesCount , minSeriesCount int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
180
- currentSeriesCount := minSeriesCount
179
+ func handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , seriesChangeRate , maxSeriesCount , minSeriesCount int , currentSeriesCount * int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
180
+ currentSeriesCount = & minSeriesCount
181
181
seriesIncrease := true
182
182
183
183
for tick := range changeSeriesTick .C {
184
184
metricsMux .Lock ()
185
185
unregisterMetrics ()
186
186
registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
187
- cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
187
+ cycleValues (labelKeys , labelValues , * currentSeriesCount , seriesCycle )
188
188
metricsMux .Unlock ()
189
189
190
- changeSeriesGradual (& seriesChangeRate , & maxSeriesCount , & minSeriesCount , & currentSeriesCount , & seriesIncrease )
190
+ changeSeriesGradual (& seriesChangeRate , & maxSeriesCount , & minSeriesCount , currentSeriesCount , & seriesIncrease )
191
191
192
- fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
192
+ fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , * currentSeriesCount )
193
193
194
194
select {
195
195
case updateNotify <- struct {}{}:
@@ -225,13 +225,13 @@ func RunMetrics(metricCount, labelCount, seriesCount, seriesChangeRate, maxSerie
225
225
changeSeriesTick := time .NewTicker (time .Duration (seriesChangeInterval ) * time .Second )
226
226
updateNotify := make (chan struct {}, 1 )
227
227
228
- var currentSeriesCount int
228
+ currentSeriesCount := seriesCount
229
229
230
230
switch seriesOperationMode {
231
231
case "double-halve" :
232
232
registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
233
233
cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
234
- go handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesCount , changeSeriesTick , updateNotify )
234
+ go handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , & currentSeriesCount , changeSeriesTick , updateNotify )
235
235
go handleValueTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , valueTick )
236
236
go handleSeriesTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , seriesTick )
237
237
@@ -241,14 +241,13 @@ func RunMetrics(metricCount, labelCount, seriesCount, seriesChangeRate, maxSerie
241
241
}
242
242
registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
243
243
cycleValues (labelKeys , labelValues , minSeriesCount , seriesCycle )
244
- go handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesChangeRate , maxSeriesCount , minSeriesCount , changeSeriesTick , updateNotify )
244
+ go handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesChangeRate , maxSeriesCount , minSeriesCount , & currentSeriesCount , changeSeriesTick , updateNotify )
245
245
go handleValueTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , valueTick )
246
246
go handleSeriesTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , seriesTick )
247
247
248
248
default :
249
- currentSeriesCount = seriesCount
250
249
registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
251
- cycleValues (labelKeys , labelValues , seriesCount , seriesCycle )
250
+ cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
252
251
go handleValueTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , valueTick )
253
252
go handleSeriesTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , seriesTick )
254
253
go handleMetricTicks (& metricCount , & metricLength , & metricCycle , & labelKeys , updateNotify , metricTick )
0 commit comments