@cryptotaxi247 / netdata-1 / commits / 4046b357d

fix(go.d/mysql): handle Cpu_time in microseconds in v10.11.11+ (#19683)

Ilya Mashchenko committed Feb 20, 2025 at 13:47 UTC 4046b357d9d590da5375ff2eaf0034f3bc87788f
1 file changed +8 -3
src/go/plugin/go.d/collector/mysql/collect_user_statistics.go
+8 -3
@@ -27,13 +27,18 @@ func (c *Collector) collectUserStatistics(mx map[string]int64) error {
27 c.addUserStatisticsCharts(user)
28 }
29 case "Cpu_time":
30 - if c.isMariaDB && c.version.GTE(semver.Version{Major: 11, Minor: 4, Patch: 5}) {
30 + needsDivision := c.isMariaDB &&
31 + ((c.version.Major == 10 && c.version.GTE(semver.Version{Major: 10, Minor: 11, Patch: 11})) ||
32 + c.version.GTE(semver.Version{Major: 11, Minor: 4, Patch: 5}))
33 +
34 + key := strings.ToLower(prefix + column)
35 + if needsDivision {
36 // TODO: theoretically should divide by 1e6 to convert to seconds,
37 // but empirically need 1e7 to match pre-11.4.5 values.
38 // Needs investigation - possible unit reporting inconsistency in MariaDB
34 - mx[strings.ToLower(prefix+column)] = int64(parseFloat(value) / 1e7 * 1000)
39 + mx[key] = int64(parseFloat(value) / 1e7 * 1000)
40 } else {
36 - mx[strings.ToLower(prefix+column)] = int64(parseFloat(value) * 1000)
41 + mx[key] = int64(parseFloat(value) * 1000)
42 }
43 case
44 "Total_connections",