@@ -160,55 +160,46 @@ func changeSeriesDoubleHalve(currentSeriesCount *int, seriesIncrease *bool) {
160
160
func handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , seriesCount int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
161
161
currentSeriesCount := seriesCount
162
162
seriesIncrease := true
163
+ for tick := range changeSeriesTick .C {
164
+ metricsMux .Lock ()
165
+ unregisterMetrics ()
166
+ registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
167
+ cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
168
+ metricsMux .Unlock ()
163
169
164
- registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
165
- cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
166
-
167
- go func () {
168
- for tick := range changeSeriesTick .C {
169
- metricsMux .Lock ()
170
- unregisterMetrics ()
171
- registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
172
- cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
173
- metricsMux .Unlock ()
174
-
175
- changeSeriesDoubleHalve (& currentSeriesCount , & seriesIncrease )
170
+ changeSeriesDoubleHalve (& currentSeriesCount , & seriesIncrease )
176
171
177
- fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
172
+ fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
178
173
179
- select {
180
- case updateNotify <- struct {}{}:
181
- default :
182
- }
174
+ select {
175
+ case updateNotify <- struct {}{}:
176
+ default :
183
177
}
184
- }()
178
+ }
179
+
185
180
}
186
181
187
182
func handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle int , labelKeys , labelValues []string , seriesChangeRate , maxSeriesCount , minSeriesCount int , changeSeriesTick * time.Ticker , updateNotify chan struct {}) {
188
183
currentSeriesCount := minSeriesCount
189
184
seriesIncrease := true
190
185
191
- registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
192
- cycleValues (labelKeys , labelValues , minSeriesCount , seriesCycle )
193
-
194
- go func () {
195
- for tick := range changeSeriesTick .C {
196
- metricsMux .Lock ()
197
- unregisterMetrics ()
198
- registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
199
- cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
200
- metricsMux .Unlock ()
186
+ for tick := range changeSeriesTick .C {
187
+ metricsMux .Lock ()
188
+ unregisterMetrics ()
189
+ registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
190
+ cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
191
+ metricsMux .Unlock ()
201
192
202
- changeSeriesGradual (& seriesChangeRate , & maxSeriesCount , & minSeriesCount , & currentSeriesCount , & seriesIncrease )
193
+ changeSeriesGradual (& seriesChangeRate , & maxSeriesCount , & minSeriesCount , & currentSeriesCount , & seriesIncrease )
203
194
204
- fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
195
+ fmt .Printf ("%v: Adjusting series count. New count: %d\n " , tick , currentSeriesCount )
205
196
206
- select {
207
- case updateNotify <- struct {}{}:
208
- default :
209
- }
197
+ select {
198
+ case updateNotify <- struct {}{}:
199
+ default :
210
200
}
211
- }()
201
+ }
202
+
212
203
}
213
204
214
205
// RunMetrics creates a set of Prometheus test series that update over time
@@ -242,15 +233,19 @@ func RunMetrics(metricCount, labelCount, seriesCount, seriesChangeRate, maxSerie
242
233
243
234
switch seriesOperationMode {
244
235
case "double-halve" :
245
- handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesCount , changeSeriesTick , updateNotify )
236
+ registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
237
+ cycleValues (labelKeys , labelValues , currentSeriesCount , seriesCycle )
238
+ go handleDoubleHalveMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesCount , changeSeriesTick , updateNotify )
246
239
go handleValueTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , valueTick )
247
240
go handleSeriesTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , seriesTick )
248
241
249
242
case "gradual-change" :
250
243
if minSeriesCount >= maxSeriesCount {
251
244
return nil , fmt .Errorf ("error: minSeriesCount must be less than maxSeriesCount, got %d and %d" , minSeriesCount , maxSeriesCount )
252
245
}
253
- handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesChangeRate , maxSeriesCount , minSeriesCount , changeSeriesTick , updateNotify )
246
+ registerMetrics (metricCount , metricLength , metricCycle , labelKeys )
247
+ cycleValues (labelKeys , labelValues , minSeriesCount , seriesCycle )
248
+ go handleGradualChangeMode (metricCount , metricLength , metricCycle , seriesCycle , labelKeys , labelValues , seriesChangeRate , maxSeriesCount , minSeriesCount , changeSeriesTick , updateNotify )
254
249
go handleValueTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , valueTick )
255
250
go handleSeriesTicks (& labelKeys , & labelValues , & currentSeriesCount , & seriesCycle , updateNotify , seriesTick )
256
251
0 commit comments