diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 11:19:16 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:53:24 +0000 |
commit | b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 (patch) | |
tree | d4d31289c39fc00da064a825df13a0b98ce95b10 /src/go/collectors/go.d.plugin/modules/mysql/collect_user_statistics.go | |
parent | Adding upstream version 1.44.3. (diff) | |
download | netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.tar.xz netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.zip |
Adding upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/mysql/collect_user_statistics.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/mysql/collect_user_statistics.go b/src/go/collectors/go.d.plugin/modules/mysql/collect_user_statistics.go new file mode 100644 index 000000000..b00703a46 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/mysql/collect_user_statistics.go @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +package mysql + +import ( + "strings" +) + +const queryShowUserStatistics = "SHOW USER_STATISTICS;" + +func (m *MySQL) collectUserStatistics(mx map[string]int64) error { + // https://mariadb.com/kb/en/user-statistics/ + // https://mariadb.com/kb/en/information-schema-user_statistics-table/ + q := queryShowUserStatistics + m.Debugf("executing query: '%s'", q) + + var user, prefix string + _, err := m.collectQuery(q, func(column, value string, _ bool) { + switch column { + case "User": + user = value + prefix = "userstats_" + user + "_" + if !m.collectedUsers[user] { + m.collectedUsers[user] = true + m.addUserStatisticsCharts(user) + } + case "Cpu_time": + mx[strings.ToLower(prefix+column)] = int64(parseFloat(value) * 1000) + case + "Total_connections", + "Lost_connections", + "Denied_connections", + "Empty_queries", + "Binlog_bytes_written", + "Rows_read", + "Rows_sent", + "Rows_deleted", + "Rows_inserted", + "Rows_updated", + "Rows_fetched", // Percona + "Select_commands", + "Update_commands", + "Other_commands", + "Access_denied", + "Commit_transactions", + "Rollback_transactions": + mx[strings.ToLower(prefix+column)] = parseInt(value) + } + }) + return err +} |