Skip to content

Commit b2d4a96

Browse files
committed
Some style changes + logging and a changelog entry for new operation
modes Signed-off-by: Callum Styan <[email protected]>
1 parent 9caa882 commit b2d4a96

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## unreleased
2+
* [FEATURE] add two new operation modes for metrics generation and cycling; gradual-change between min and max and double-halve #64
3+
14
## 0.4.0 / 2022-03-08
25

36
Initial release under the Prometheus-community org.

metrics/serve.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ func changeSeriesDoubleHalve(currentSeriesCount *int, seriesIncrease *bool) {
156156
*seriesIncrease = !*seriesIncrease
157157
}
158158

159-
func handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle int, labelKeys, labelValues []string, currentSeriesCount *int, changeSeriesTick *time.Ticker, updateNotify chan struct{}) {
159+
func handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle int, labelKeys, labelValues []string, currentSeriesCount *int, changeSeriesChan <-chan time.Time, updateNotify chan struct{}) {
160160
seriesIncrease := true
161-
for tick := range changeSeriesTick.C {
161+
for tick := range changeSeriesChan {
162162
metricsMux.Lock()
163163
unregisterMetrics()
164164
registerMetrics(metricCount, metricLength, metricCycle, labelKeys)
@@ -176,11 +176,11 @@ func handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle i
176176
}
177177
}
178178

179-
func handleGradualChangeMode(metricCount, metricLength, metricCycle, seriesCycle int, labelKeys, labelValues []string, seriesChangeRate, maxSeriesCount, minSeriesCount int, seriesCount *int, changeSeriesTick *time.Ticker, updateNotify chan struct{}) {
179+
func handleGradualChangeMode(metricCount, metricLength, metricCycle, seriesCycle int, labelKeys, labelValues []string, seriesChangeRate, minSeriesCount, maxSeriesCount int, seriesCount *int, changeSeriesChan <-chan time.Time, updateNotify chan struct{}) {
180180
*seriesCount = minSeriesCount
181181
seriesIncrease := true
182182

183-
for tick := range changeSeriesTick.C {
183+
for tick := range changeSeriesChan {
184184
metricsMux.Lock()
185185
unregisterMetrics()
186186
registerMetrics(metricCount, metricLength, metricCycle, labelKeys)
@@ -231,17 +231,21 @@ func RunMetrics(metricCount, labelCount, seriesCount, seriesChangeRate, maxSerie
231231
case "double-halve":
232232
registerMetrics(metricCount, metricLength, metricCycle, labelKeys)
233233
cycleValues(labelKeys, labelValues, currentSeriesCount, seriesCycle)
234-
go handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle, labelKeys, labelValues, &currentSeriesCount, changeSeriesTick, updateNotify)
234+
fmt.Printf("Starting double-halve mode; starting series: %d, change series interval: %d seconds\n", currentSeriesCount, seriesChangeInterval)
235+
go handleDoubleHalveMode(metricCount, metricLength, metricCycle, seriesCycle, labelKeys, labelValues, &currentSeriesCount, changeSeriesTick.C, updateNotify)
235236
go handleValueTicks(&labelKeys, &labelValues, &currentSeriesCount, &seriesCycle, updateNotify, valueTick)
236237
go handleSeriesTicks(&labelKeys, &labelValues, &currentSeriesCount, &seriesCycle, updateNotify, seriesTick)
237238

238239
case "gradual-change":
239240
if minSeriesCount >= maxSeriesCount {
240241
return nil, fmt.Errorf("error: minSeriesCount must be less than maxSeriesCount, got %d and %d", minSeriesCount, maxSeriesCount)
241242
}
243+
fmt.Printf("Starting gradual-change mode; min series: %d, max series: %d, series change rate: %d, change series interval: %d seconds\n", minSeriesCount, maxSeriesCount, seriesChangeRate, seriesChangeInterval)
244+
242245
registerMetrics(metricCount, metricLength, metricCycle, labelKeys)
243246
cycleValues(labelKeys, labelValues, minSeriesCount, seriesCycle)
244-
go handleGradualChangeMode(metricCount, metricLength, metricCycle, seriesCycle, labelKeys, labelValues, seriesChangeRate, maxSeriesCount, minSeriesCount, &currentSeriesCount, changeSeriesTick, updateNotify)
247+
go handleGradualChangeMode(metricCount, metricLength, metricCycle, seriesCycle, labelKeys, labelValues,
248+
seriesChangeRate, minSeriesCount, maxSeriesCount, &currentSeriesCount, changeSeriesTick.C, updateNotify)
245249
go handleValueTicks(&labelKeys, &labelValues, &currentSeriesCount, &seriesCycle, updateNotify, valueTick)
246250
go handleSeriesTicks(&labelKeys, &labelValues, &currentSeriesCount, &seriesCycle, updateNotify, seriesTick)
247251

0 commit comments

Comments
 (0)