1
0
mirror of https://github.com/prometheus-community/postgres_exporter.git synced 2025-07-31 20:44:25 +03:00

Move queries from queries.yaml to collectors (#801)

Signed-off-by: Ben Kochie <superq@gmail.com>
This commit is contained in:
Felix Yuan
2023-06-08 14:28:04 -07:00
committed by GitHub
parent 16430fc955
commit fe960c6b54
22 changed files with 1690 additions and 279 deletions

View File

@ -41,10 +41,15 @@ func NewPGDatabaseCollector(config collectorConfig) (Collector, error) {
}, nil
}
var pgDatabaseSizeDesc = prometheus.NewDesc(
"pg_database_size_bytes",
"Disk space used by the database",
[]string{"datname"}, nil,
var (
pgDatabaseSizeDesc = prometheus.NewDesc(
"pg_database_size_bytes",
"Disk space used by the database",
[]string{"datname"}, nil,
)
pgDatabaseQuery = "SELECT pg_database.datname FROM pg_database;"
pgDatabaseSizeQuery = "SELECT pg_database_size($1)"
)
// Update implements Collector and exposes database size.
@ -58,9 +63,7 @@ var pgDatabaseSizeDesc = prometheus.NewDesc(
func (c PGDatabaseCollector) Update(ctx context.Context, db *sql.DB, ch chan<- prometheus.Metric) error {
// Query the list of databases
rows, err := db.QueryContext(ctx,
`SELECT pg_database.datname
FROM pg_database;
`,
pgDatabaseQuery,
)
if err != nil {
return err
@ -88,7 +91,7 @@ func (c PGDatabaseCollector) Update(ctx context.Context, db *sql.DB, ch chan<- p
// Query the size of the databases
for _, datname := range databases {
var size int64
err = db.QueryRowContext(ctx, "SELECT pg_database_size($1)", datname).Scan(&size)
err = db.QueryRowContext(ctx, pgDatabaseSizeQuery, datname).Scan(&size)
if err != nil {
return err
}