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