@cryptotaxi247 / netdata-1 / commits / 3115229fe

chore(go.d/mysql): InnodbOSLogIO in MariaDB >= 10.8 (#19687)

Petr Vaněk committed Feb 21, 2025 at 10:37 UTC 3115229fe80c5c31af80c6a521340b80e3758598
2 files changed +15
src/go/plugin/go.d/collector/mysql/charts.go
+6
@@ -1202,6 +1202,12 @@ func (c *Collector) addInnoDBOSLogCharts() {
1202 }
1203 }
1204
1205 +func (c *Collector) addInnoDBOSLogIOChart() {
1206 + if err := c.Charts().Add(chartInnoDBOSLogIO.Copy()); err != nil {
1207 + c.Warning(err)
1208 + }
1209 +}
1210 +
1211 func (c *Collector) addMyISAMCharts() {
1212 if err := c.Charts().Add(*chartsMyISAM.Copy()...); err != nil {
1213 c.Warning(err)
src/go/plugin/go.d/collector/mysql/collect.go
+9
@@ -38,6 +38,10 @@ func (c *Collector) collect() (map[string]int64, error) {
38
39 if hasInnodbOSLog(mx) {
40 c.addInnoDBOSLogOnce.Do(c.addInnoDBOSLogCharts)
41 + } else if hasInnodbOSLogIO(mx) {
42 + // most of Innodb_os_log_* status variables was removed in MariaDB 10.8
43 + // but InnoDB_os_log_written was preserved
44 + c.addInnoDBOSLogOnce.Do(c.addInnoDBOSLogIOChart)
45 }
46 if hasInnodbDeadlocks(mx) {
47 c.addInnodbDeadlocksOnce.Do(c.addInnodbDeadlocksChart)
@@ -127,6 +131,11 @@ func hasInnodbOSLog(collected map[string]int64) bool {
131 return ok
132 }
133
134 +func hasInnodbOSLogIO(collected map[string]int64) bool {
135 + _, ok := collected["innodb_os_log_written"]
136 + return ok
137 +}
138 +
139 func hasInnodbDeadlocks(collected map[string]int64) bool {
140 _, ok := collected["innodb_deadlocks"]
141 return ok