@@ -45,75 +45,48 @@ local g = import 'grafana-builder/grafana.libsonnet';
4545 // If from_recording is true, the function will assume :sum_rate metric
4646 // suffix and no rate needed.
4747 ncHistogramSumRate(metric, selector, rate_interval='$__rate_interval', from_recording=false)::
48- local rateOpen = if from_recording then '' else 'rate(' ;
49- local rateClose = if from_recording then '' else '[%s])' % rate_interval;
50- {
51- classic: '%(rateOpen)s%(metric)s_sum%(suffix)s{%(selector)s}%(rateClose)s' % {
52- metric: metric,
53- rateInterval: rate_interval,
54- rateOpen: rateOpen,
55- rateClose: rateClose,
56- selector: selector,
57- suffix: if from_recording then ':sum_rate' else '' ,
58- },
59- native: 'histogram_sum(%(rateOpen)s%(metric)s%(suffix)s{%(selector)s}%(rateClose)s)' % {
60- metric: metric,
61- rateInterval: rate_interval,
62- rateOpen: rateOpen,
63- rateClose: rateClose,
64- selector: selector,
65- suffix: if from_recording then ':sum_rate' else '' ,
66- },
67- },
68-
48+ $.ncHistogramChange('sum' , 'rate' , metric, selector, rate_interval, from_recording),
6949
7050 // The ncHistogramCountRate (native classic histogram count rate) function is
7151 // used to calculate the histogram rate of count from native histograms or
7252 // classic histograms. Metric name should be provided without _count suffix.
7353 // If from_recording is true, the function will assume :sum_rate metric
7454 // suffix and no rate needed.
7555 ncHistogramCountRate(metric, selector, rate_interval='$__rate_interval', from_recording=false)::
76- local rateOpen = if from_recording then '' else 'rate(' ;
77- local rateClose = if from_recording then '' else '[%s])' % rate_interval;
78- {
79- classic: '%(rateOpen)s%(metric)s_count%(suffix)s{%(selector)s}%(rateClose)s' % {
80- metric: metric,
81- rateInterval: rate_interval,
82- rateOpen: rateOpen,
83- rateClose: rateClose,
84- selector: selector,
85- suffix: if from_recording then ':sum_rate' else '' ,
86- },
87- native: 'histogram_count(%(rateOpen)s%(metric)s%(suffix)s{%(selector)s}%(rateClose)s)' % {
88- metric: metric,
89- rateInterval: rate_interval,
90- rateOpen: rateOpen,
91- rateClose: rateClose,
92- selector: selector,
93- suffix: if from_recording then ':sum_rate' else '' ,
94- },
95- },
56+ $.ncHistogramChange('count' , 'rate' , metric, selector, rate_interval, from_recording),
9657
9758 // The ncHistogramCountIncrease (native classic histogram count rate) function is
9859 // used to calculate the histogram increase of count from native histograms or
9960 // classic histograms. Metric name should be provided without _count suffix.
10061 ncHistogramCountIncrease(metric, selector, rate_interval='$__rate_interval')::
101- local increaseOpen = 'increase(' ;
102- local increaseClose = '[%s])' % rate_interval;
62+ $.ncHistogramChange('count' , 'increase' , metric, selector, rate_interval, false ),
63+
64+ // ncHistogramChange is a helper function to generate queries for either
65+ // histogram sum or count changes over time using the specified function
66+ // (e.g., rate, increase). Metric name should be provided without _sum or
67+ // _count suffix.
68+ ncHistogramChange(sum_or_count, func_name, metric, selector, rate_interval='$__rate_interval', from_recording=false)::
69+ local funcOpen = if from_recording then '' else '%s(' % func_name;
70+ local funcClose = if from_recording then '' else '[%s])' % rate_interval;
71+ local suffix = if from_recording then ':sum_%s' % func_name else '' ;
10372 {
104- classic: '%(increaseOpen )s%(metric)s_count {%(selector)s}%(increaseClose )s' % {
73+ classic: '%(funcOpen )s%(metric)s_%(sum_or_count)%(suffix)s {%(selector)s}%(funcClose )s' % {
10574 metric: metric,
10675 rateInterval: rate_interval,
107- increaseOpen: increaseOpen,
108- increaseClose: increaseClose,
76+ sum_or_count: sum_or_count,
77+ funcOpen: funcOpen,
78+ funcClose: funcClose,
10979 selector: selector,
80+ suffix: suffix,
11081 },
111- native: 'histogram_count(%(increaseOpen )s%(metric)s{%(selector)s}%(increaseClose )s)' % {
82+ native: 'histogram_%(sum_or_count)(%(funcOpen )s%(metric)s%(suffix)s {%(selector)s}%(funcClose )s)' % {
11283 metric: metric,
11384 rateInterval: rate_interval,
114- increaseOpen: increaseOpen,
115- increaseClose: increaseClose,
85+ sum_or_count: sum_or_count,
86+ funcOpen: funcOpen,
87+ funcClose: funcClose,
11688 selector: selector,
89+ suffix: suffix,
11790 },
11891 },
11992
0 commit comments