@cryptotaxi247 / netdata-1 / commits / 8ea58d7df

fix(go.d/proxysql): correct backend status metric mapping (#21524)

Ilya Mashchenko committed Jan 8, 2026 at 19:22 UTC 8ea58d7df1c343b9149234ef1902e06a5948104b
3 files changed +21 -22
src/go/plugin/go.d/collector/proxysql/collect.go
+3 -4
@@ -163,10 +163,9 @@ func (c *Collector) collectStatsMySQLConnectionPool(mx map[string]int64) error {
163 c.cache.getBackend(hg, host, port).updated = true
164 px = "backend_" + backendID(hg, host, port) + "_"
165 case "status":
166 - mx[px+"status_ONLINE"] = metrix.Bool(value == "1")
167 - mx[px+"status_SHUNNED"] = metrix.Bool(value == "2")
168 - mx[px+"status_OFFLINE_SOFT"] = metrix.Bool(value == "3")
169 - mx[px+"status_OFFLINE_HARD"] = metrix.Bool(value == "4")
166 + for _, st := range []string{"ONLINE", "SHUNNED", "OFFLINE_SOFT", "OFFLINE_HARD"} {
167 + mx[px+"status_"+st] = metrix.Bool(value == st)
168 + }
169 default:
170 mx[px+column] = parseInt(value)
171 }
src/go/plugin/go.d/collector/proxysql/collector_test.go
+7 -7
@@ -308,7 +308,7 @@ func TestCollector_Collect(t *testing.T) {
308 "backend_10_back001-db-master_6001_Queries": 8970367,
309 "backend_10_back001-db-master_6001_status_OFFLINE_HARD": 0,
310 "backend_10_back001-db-master_6001_status_OFFLINE_SOFT": 0,
311 - "backend_10_back001-db-master_6001_status_ONLINE": 0,
311 + "backend_10_back001-db-master_6001_status_ONLINE": 1,
312 "backend_10_back001-db-master_6001_status_SHUNNED": 0,
313 "backend_11_back001-db-master_6002_Bytes_data_recv": 2903,
314 "backend_11_back001-db-master_6002_Bytes_data_sent": 187675,
@@ -320,7 +320,7 @@ func TestCollector_Collect(t *testing.T) {
320 "backend_11_back001-db-master_6002_Queries": 69,
321 "backend_11_back001-db-master_6002_status_OFFLINE_HARD": 0,
322 "backend_11_back001-db-master_6002_status_OFFLINE_SOFT": 0,
323 - "backend_11_back001-db-master_6002_status_ONLINE": 0,
323 + "backend_11_back001-db-master_6002_status_ONLINE": 1,
324 "backend_11_back001-db-master_6002_status_SHUNNED": 0,
325 "backend_11_back001-db-reader_6003_Bytes_data_recv": 4994101,
326 "backend_11_back001-db-reader_6003_Bytes_data_sent": 163690013,
@@ -332,7 +332,7 @@ func TestCollector_Collect(t *testing.T) {
332 "backend_11_back001-db-reader_6003_Queries": 63488,
333 "backend_11_back001-db-reader_6003_status_OFFLINE_HARD": 0,
334 "backend_11_back001-db-reader_6003_status_OFFLINE_SOFT": 0,
335 - "backend_11_back001-db-reader_6003_status_ONLINE": 0,
335 + "backend_11_back001-db-reader_6003_status_ONLINE": 1,
336 "backend_11_back001-db-reader_6003_status_SHUNNED": 0,
337 "backend_20_back002-db-master_6004_Bytes_data_recv": 266034339,
338 "backend_20_back002-db-master_6004_Bytes_data_sent": 1086994186,
@@ -344,7 +344,7 @@ func TestCollector_Collect(t *testing.T) {
344 "backend_20_back002-db-master_6004_Queries": 849461,
345 "backend_20_back002-db-master_6004_status_OFFLINE_HARD": 0,
346 "backend_20_back002-db-master_6004_status_OFFLINE_SOFT": 0,
347 - "backend_20_back002-db-master_6004_status_ONLINE": 0,
347 + "backend_20_back002-db-master_6004_status_ONLINE": 1,
348 "backend_20_back002-db-master_6004_status_SHUNNED": 0,
349 "backend_21_back002-db-reader_6005_Bytes_data_recv": 984,
350 "backend_21_back002-db-reader_6005_Bytes_data_sent": 6992,
@@ -354,7 +354,7 @@ func TestCollector_Collect(t *testing.T) {
354 "backend_21_back002-db-reader_6005_ConnUsed": 0,
355 "backend_21_back002-db-reader_6005_Latency_us": 230,
356 "backend_21_back002-db-reader_6005_Queries": 8,
357 - "backend_21_back002-db-reader_6005_status_OFFLINE_HARD": 0,
357 + "backend_21_back002-db-reader_6005_status_OFFLINE_HARD": 1,
358 "backend_21_back002-db-reader_6005_status_OFFLINE_SOFT": 0,
359 "backend_21_back002-db-reader_6005_status_ONLINE": 0,
360 "backend_21_back002-db-reader_6005_status_SHUNNED": 0,
@@ -367,7 +367,7 @@ func TestCollector_Collect(t *testing.T) {
367 "backend_31_back003-db-master_6006_Latency_us": 231,
368 "backend_31_back003-db-master_6006_Queries": 3276,
369 "backend_31_back003-db-master_6006_status_OFFLINE_HARD": 0,
370 - "backend_31_back003-db-master_6006_status_OFFLINE_SOFT": 0,
370 + "backend_31_back003-db-master_6006_status_OFFLINE_SOFT": 1,
371 "backend_31_back003-db-master_6006_status_ONLINE": 0,
372 "backend_31_back003-db-master_6006_status_SHUNNED": 0,
373 "backend_31_back003-db-reader_6007_Bytes_data_recv": 115810708275,
@@ -381,7 +381,7 @@ func TestCollector_Collect(t *testing.T) {
381 "backend_31_back003-db-reader_6007_status_OFFLINE_HARD": 0,
382 "backend_31_back003-db-reader_6007_status_OFFLINE_SOFT": 0,
383 "backend_31_back003-db-reader_6007_status_ONLINE": 0,
384 - "backend_31_back003-db-reader_6007_status_SHUNNED": 0,
384 + "backend_31_back003-db-reader_6007_status_SHUNNED": 1,
385 "backend_lagging_during_query": 8880,
386 "backend_offline_during_query": 8,
387 "generated_error_packets": 231,
src/go/plugin/go.d/collector/proxysql/testdata/v2.0.10/stats_mysql_connection_pool .txt
+11 -11
@@ -1,11 +1,11 @@
1 -+----+-------------------+--------+--------+----------+----------+--------+---------+---------+-----------------+-----------------+------------+
2 -| hostgroup | srv_host | srv_port | status | ConnUsed | ConnFree | ConnOK | ConnERR | Queries | Bytes_data_sent | Bytes_data_recv | Latency_us |
3 -+-----------+-------------------+----------+--------+----------+----------+--------+---------+---------+-----------------+-----------------+------------+
4 -| 10 | back001-db-master | 6001 | ONLINE | 69 | 423 | 524 | 0 | 8970367 | 9858463664 | 145193069937 | 17684 |
5 -| 11 | back001-db-master | 6002 | ONLINE | 0 | 1 | 1 | 0 | 69 | 187675 | 2903 | 17684 |
6 -| 11 | back001-db-reader | 6003 | ONLINE | 0 | 11 | 11 | 0 | 63488 | 163690013 | 4994101 | 113 |
7 -| 20 | back002-db-master | 6004 | ONLINE | 9 | 188 | 197 | 2 | 849461 | 1086994186 | 266034339 | 101981 |
8 -| 21 | back002-db-reader | 6005 | ONLINE | 0 | 1 | 1 | 0 | 8 | 6992 | 984 | 230 |
9 -| 31 | back003-db-master | 6006 | ONLINE | 0 | 3 | 3 | 0 | 3276 | 712803 | 81438709 | 231 |
10 -| 31 | back003-db-reader | 6007 | ONLINE | 1 | 70 | 71 | 0 | 2356904 | 411900849 | 115810708275 | 230 |
11 -+-----------+-------------------+--------+--------+----------+----------+--------+---------+---------+-----------------+-----------------+--------------+
\ No newline at end of file
1 ++-----------+---------------------+----------+--------------+----------+----------+--------+---------+----------+------------------+------------------+------------+
2 +| hostgroup | srv_host | srv_port | status | ConnUsed | ConnFree | ConnOK | ConnERR | Queries | Bytes_data_sent | Bytes_data_recv | Latency_us |
3 ++-----------+---------------------+----------+--------------+----------+----------+--------+---------+----------+------------------+------------------+------------+
4 +| 10 | back001-db-master | 6001 | ONLINE | 69 | 423 | 524 | 0 | 8970367 | 9858463664 | 145193069937 | 17684 |
5 +| 11 | back001-db-master | 6002 | ONLINE | 0 | 1 | 1 | 0 | 69 | 187675 | 2903 | 17684 |
6 +| 11 | back001-db-reader | 6003 | ONLINE | 0 | 11 | 11 | 0 | 63488 | 163690013 | 4994101 | 113 |
7 +| 20 | back002-db-master | 6004 | ONLINE | 9 | 188 | 197 | 2 | 849461 | 1086994186 | 266034339 | 101981 |
8 +| 21 | back002-db-reader | 6005 | OFFLINE_HARD | 0 | 1 | 1 | 0 | 8 | 6992 | 984 | 230 |
9 +| 31 | back003-db-master | 6006 | OFFLINE_SOFT | 0 | 3 | 3 | 0 | 3276 | 712803 | 81438709 | 231 |
10 +| 31 | back003-db-reader | 6007 | SHUNNED | 1 | 70 | 71 | 0 | 2356904 | 411900849 | 115810708275 | 230 |
11 ++-----------+---------------------+----------+--------------+----------+----------+--------+---------+----------+------------------+------------------+------------+
\ No newline at end of file