DBAAS-7956: Percona MySQL metrics — full catalog and aggregation#354
Merged
DBAAS-7956: Percona MySQL metrics — full catalog and aggregation#354
Conversation
On DOKS nodes the dbaas do-agent sidecar shares a per-droplet rate-limit bucket with the system do-node-agent DaemonSet. A single retry was insufficient for double-collisions. This adds 3 retries (10s, 15s, 20s backoff) and resets lastFlushAttempt after each to prevent the internal rate limiter from blocking subsequent attempts. Made-with: Cursor
…re gap After 429 retries the agent has already spent ~45s backing off. The additional full-cycle sleep (120s) created a ~5 min gap before the next successful push. Removing it shrinks recovery to ~2.5 min (one missed cycle), which stays within the 5m PromQL rate window. Made-with: Cursor
Replace the initial 10-metric POC whitelist with the complete set covering global status, InnoDB status/variables, info_schema InnoDB metrics, perf_schema file events, Group Replication member status, replication lag, and transaction certifier/flow metrics. Made-with: Cursor
…metrics Strip command/operation/event_name labels from commands_total, innodb_row_ops_total, and perf_schema file_events to collapse per-value series into summed totals, preventing cardinality from exceeding Sonar's batch size limit. Made-with: Cursor
Made-with: Cursor
ElanHasson
reviewed
Apr 16, 2026
ElanHasson
approved these changes
Apr 16, 2026
atelpis
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds full metric support for the Advanced MySQL (Percona) offering: expanded whitelist, cardinality-safe aggregation rules, and resilient delivery under DOKS rate-limit collisions.
Changes
whitelist.go— Full Percona MySQL metric catalogaggregation.go— High-cardinality label collapsemysql_global_status_commands_total→ stripscommand(~50-100 values)mysql_global_status_innodb_row_ops_total→ stripsoperation(4 values)mysql_perf_schema_file_events_*(3 metrics) → stripsevent_name(dozens of values)table_name), Kafka (topic,partition), and OpenSearch (node_host,cluster_name)Metric catalog summary
--collect.global_status--collect.global_status--collect.global_variables--collect.info_schema.innodb_metrics--collect.perf_schema.file_events--collect.perf_schema.replication_group_member_stats