Skip to content

Commit e7dffb3

Browse files
AlexZzzoblitorum
authored andcommitted
bcache: add writeback_rate_debug stats (prometheus#1658)
* bcache: add writeback_rate_debug export Signed-off-by: Aleksei Zakharov <zaharov@selectel.ru>
1 parent 4a0ebdf commit e7dffb3

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

collector/bcache_linux.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,46 @@ func (c *bcacheCollector) updateBcacheStats(ch chan<- prometheus.Metric, s *bcac
234234
extraLabel: []string{"backing_device"},
235235
extraLabelValue: bdev.Name,
236236
},
237+
{
238+
name: "dirty_target_bytes",
239+
desc: "Current dirty data target threshold for this backing device in bytes.",
240+
value: float64(bdev.WritebackRateDebug.Target),
241+
metricType: prometheus.GaugeValue,
242+
extraLabel: []string{"backing_device"},
243+
extraLabelValue: bdev.Name,
244+
},
245+
{
246+
name: "writeback_rate",
247+
desc: "Current writeback rate for this backing device in bytes.",
248+
value: float64(bdev.WritebackRateDebug.Rate),
249+
metricType: prometheus.GaugeValue,
250+
extraLabel: []string{"backing_device"},
251+
extraLabelValue: bdev.Name,
252+
},
253+
{
254+
name: "writeback_rate_proportinal_term",
255+
desc: "Current result of proportional controller, part of writeback rate",
256+
value: float64(bdev.WritebackRateDebug.Proportional),
257+
metricType: prometheus.GaugeValue,
258+
extraLabel: []string{"backing_device"},
259+
extraLabelValue: bdev.Name,
260+
},
261+
{
262+
name: "writeback_rate_integral_term",
263+
desc: "Current result of integral controller, part of writeback rate",
264+
value: float64(bdev.WritebackRateDebug.Integral),
265+
metricType: prometheus.GaugeValue,
266+
extraLabel: []string{"backing_device"},
267+
extraLabelValue: bdev.Name,
268+
},
269+
{
270+
name: "writeback_change",
271+
desc: "Last writeback rate change step for this backing device.",
272+
value: float64(bdev.WritebackRateDebug.Change),
273+
metricType: prometheus.GaugeValue,
274+
extraLabel: []string{"backing_device"},
275+
extraLabelValue: bdev.Name,
276+
},
237277
}
238278
allMetrics = append(allMetrics, metrics...)
239279

collector/fixtures/e2e-output.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ node_bcache_congested{uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0
106106
# HELP node_bcache_dirty_data_bytes Amount of dirty data for this backing device in the cache.
107107
# TYPE node_bcache_dirty_data_bytes gauge
108108
node_bcache_dirty_data_bytes{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0
109+
# HELP node_bcache_dirty_target_bytes Current dirty data target threshold for this backing device in bytes.
110+
# TYPE node_bcache_dirty_target_bytes gauge
111+
node_bcache_dirty_target_bytes{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 2.189426688e+10
109112
# HELP node_bcache_io_errors Number of errors that have occurred, decayed by io_error_halflife.
110113
# TYPE node_bcache_io_errors gauge
111114
node_bcache_io_errors{cache_device="cache0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0
@@ -124,6 +127,18 @@ node_bcache_root_usage_percent{uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0
124127
# HELP node_bcache_tree_depth Depth of the btree.
125128
# TYPE node_bcache_tree_depth gauge
126129
node_bcache_tree_depth{uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0
130+
# HELP node_bcache_writeback_change Last writeback rate change step for this backing device.
131+
# TYPE node_bcache_writeback_change gauge
132+
node_bcache_writeback_change{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 329204
133+
# HELP node_bcache_writeback_rate Current writeback rate for this backing device in bytes.
134+
# TYPE node_bcache_writeback_rate gauge
135+
node_bcache_writeback_rate{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 1.150976e+06
136+
# HELP node_bcache_writeback_rate_integral_term Current result of integral controller, part of writeback rate
137+
# TYPE node_bcache_writeback_rate_integral_term gauge
138+
node_bcache_writeback_rate_integral_term{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 808960
139+
# HELP node_bcache_writeback_rate_proportinal_term Current result of proportional controller, part of writeback rate
140+
# TYPE node_bcache_writeback_rate_proportinal_term gauge
141+
node_bcache_writeback_rate_proportinal_term{backing_device="bdev0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 437748
127142
# HELP node_bcache_written_bytes_total Sum of all data that has been written to the cache.
128143
# TYPE node_bcache_written_bytes_total counter
129144
node_bcache_written_bytes_total{cache_device="cache0",uuid="deaddd54-c735-46d5-868e-f331c5fd7c74"} 0

0 commit comments

Comments
 (0)