How percona/percona-toolkit works
Percona Toolkit is a collection of command-line tools for database and system diagnostics. The tree shows separate Go workflows rather than one shared application: operators invoke a tool, it gathers or analyzes data from a database, log, or Kubernetes cluster, and emits a report or collected bundle. The graph preserves those distinct products and their visible internal layers. Several subsystems are represented from filenames and README-level capabilities; where sampled source did not establish call wiring, links are omitted.
Main entry points: pt-galera-log-explainer/main.go Log explainer · dumper.go Cluster dumper · pt-secure-collect/main.go Secure collect CLI · pt-mongodb-query-digest/main.go Query digest
Components 31
MongoDB diagnostics
- Mongo summary
src/go/pt-mongodb-summary/main.go - Report templates
src/go/pt-mongodb-summary/templates/clusterwide.go - MongoDB server
- Query digest
src/go/pt-mongodb-query-digest/main.go - Query profiler
src/go/mongolib/profiler/profiler.go - Query statistics
src/go/mongolib/stats/stats.go - Query filters
src/go/pt-mongodb-query-digest/filter/filters.go - Index checker
src/go/pt-mongodb-index-check/main.go - Index analysis
src/go/pt-mongodb-index-check/indexes/unused.go - Index reports
src/go/pt-mongodb-index-check/templates/unused.go
PostgreSQL summary
- PostgreSQL summary
src/go/pt-pg-summary/main.go - PG information collector
src/go/lib/pginfo/pginfo.go - PG query models
src/go/pt-pg-summary/models/connectedclients.xo.go - PostgreSQL server
Galera analysis
- Log explainer
src/go/pt-galera-log-explainer/main.go - Log patterns
src/go/pt-galera-log-explainer/regex/regex.go - Event translation
src/go/pt-galera-log-explainer/translate/translate.go - Timeline display
src/go/pt-galera-log-explainer/display/timelinecli.go - Galera logs
Kubernetes collection
- Debug collector
src/go/pt-k8s-debug-collector/main.go - Cluster dumper
src/go/pt-k8s-debug-collector/dumper/dumper.go - Resource collection
src/go/pt-k8s-debug-collector/dumper/resources.go - Pod log collection
src/go/pt-k8s-debug-collector/dumper/logs.go - Kubernetes cluster
- Cluster archive
src/go/pt-k8s-debug-collector/dumper/tar.go
Secure collection
- Secure collect CLI
src/go/pt-secure-collect/main.go - Data collection
src/go/pt-secure-collect/collect.go - Data sanitization
src/go/pt-secure-collect/sanitize.go - File encryption
src/go/pt-secure-collect/encrypt.go - Support bundle
Other components
- Operator
Connections 32
- Operator → Mongo summary: invokes
- Mongo summary → MongoDB server: queries
- Mongo summary → Report templates: renders with
- Operator → Query digest: invokes
- Query digest → MongoDB server: profiles
- Query digest → Query filters: applies
- Query digest → Query profiler: starts
- Query profiler → Query statistics: records
- Operator → Index checker: invokes
- Index checker → MongoDB server: checks
- Index checker → Index analysis: calls
- Index checker → Index reports: renders with
- Operator → PostgreSQL summary: invokes
- PostgreSQL summary → PostgreSQL server: queries
- PostgreSQL summary → PG information collector: creates and collects
- PG information collector → PG query models: uses queries
- Operator → Log explainer: invokes
- Log explainer → Galera logs: reads
- Log explainer → Log patterns: configures
- Log explainer → Event translation: configures
- Log explainer → Timeline display: dispatches
- Operator → Debug collector: invokes
- Debug collector → Cluster dumper: creates and runs
- Cluster dumper → Resource collection: collects
- Cluster dumper → Pod log collection: collects
- Cluster dumper → Kubernetes cluster: accesses
- Cluster dumper → Cluster archive: writes
- Operator → Secure collect CLI: invokes
- Secure collect CLI → Data collection: dispatches
- Secure collect CLI → Data sanitization: dispatches
- Secure collect CLI → File encryption: dispatches
- Secure collect CLI → Support bundle: produces