Skip to content

Commit

Permalink
Pg 17
Browse files Browse the repository at this point in the history
  • Loading branch information
jw1u1 committed Feb 10, 2025
1 parent 85a8d4f commit c7e18c0
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 12 deletions.
24 changes: 12 additions & 12 deletions collector/models/PgStatCheckpointer.go
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
package models

import (
"time"
"time"

"github.com/uptrace/bun"
"github.com/uptrace/bun"
)

// +metric=row
type PgStatCheckpointer struct {
bun.BaseModel `bun:"pg_stat_checkpointer"`
NumTimed int64 `bun:"num_timed" help:"Number of Checkpoints timed" metric:"num_timed_total"`
NumRequested int64 `bun:"num_requested" help:"Number of Checkpoints requested:"num_requested_total"`
RestartpointsTimed int64 `bun:"restartpoints_timed" help:"Number of Restart Points timed" metric:"restartpoints_timed_total"`
RestartpointsReq int64 `bun:"restartpoints_req" help:"Number of Restart Points requested" metric:"restartpoints_req_total"`
RestartpointsDone int64 `bun:"restartpoints_done" help:"Number of Restart Points done" metric:"restartpoints_done_total"`
CkpWriteTime float64 `bun:"write_time" help: "Checkpoint write Time" metric:"ckp_write_time_total"`
CkpSyncTime float64 `bun:"sync_time" help: "Checkpoint sync Time" metric:"ckp_sync_time_total"`
BuffersWritten int64 `bun:"buffers_written" help: "Checkpoint Buffers written" metric:"ckp_buffers_written_total"`
StatsReset time.Time `bun:"stats_reset" help:"Time at which these statistics were last reset"`
bun.BaseModel `bun:"pg_stat_checkpointer"`
NumTimed int64 `bun:"num_timed" help:"Number of Checkpoints timed" metric:"num_timed_total"`
NumRequested int64 `bun:"num_requested" help:"Number of Checkpoints requested" metric:"num_requested_total"`
RestartpointsTimed int64 `bun:"restartpoints_timed" help:"Number of Restart Points timed" metric:"restartpoints_timed_total"`
RestartpointsReq int64 `bun:"restartpoints_req" help:"Number of Restart Points requested" metric:"restartpoints_req_total"`
RestartpointsDone int64 `bun:"restartpoints_done" help:"Number of Restart Points done" metric:"restartpoints_done_total"`
CkpWriteTime float64 `bun:"write_time" help:"Checkpoint write Time" metric:"ckp_write_time_total"`
CkpSyncTime float64 `bun:"sync_time" help:"Checkpoint sync Time" metric:"ckp_sync_time_total"`
BuffersWritten int64 `bun:"buffers_written" help:"Checkpoint Buffers written" metric:"ckp_buffers_written_total"`
StatsReset time.Time `bun:"stats_reset" help:"Time at which these statistics were last reset"`
}
95 changes: 95 additions & 0 deletions collector/models/pgStatCheckpointer_gen.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/*generated by binding gen*/
package models

import (
"github.com/prometheus/client_golang/prometheus"
)

func (r *PgStatCheckpointer) ToMetrics(namespace string, subsystem string, ch chan<- prometheus.Metric, labelsKV ...string) error {
labels := newLabels(labelsKV...)
// labels

// optional labels

// metrics
// num_timed_total (CounterValue)
numTimedTotal := float64(r.NumTimed)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `num_timed_total`), `Number of Checkpoints timed`, nil, labels,
), prometheus.CounterValue, numTimedTotal,
)

// num_requested_total (CounterValue)
numRequestedTotal := float64(r.NumRequested)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `num_requested_total`), `Number of Checkpoints requested`, nil, labels,
), prometheus.CounterValue, numRequestedTotal,
)

// restartpoints_timed_total (CounterValue)
restartpointsTimedTotal := float64(r.RestartpointsTimed)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `restartpoints_timed_total`), `Number of Restart Points timed`, nil, labels,
), prometheus.CounterValue, restartpointsTimedTotal,
)

// restartpoints_req_total (CounterValue)
restartpointsReqTotal := float64(r.RestartpointsReq)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `restartpoints_req_total`), `Number of Restart Points requested`, nil, labels,
), prometheus.CounterValue, restartpointsReqTotal,
)

// restartpoints_done_total (CounterValue)
restartpointsDoneTotal := float64(r.RestartpointsDone)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `restartpoints_done_total`), `Number of Restart Points done`, nil, labels,
), prometheus.CounterValue, restartpointsDoneTotal,
)

// ckp_write_time_total (CounterValue)

ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `ckp_write_time_total`), `Checkpoint write Time`, nil, labels,
), prometheus.CounterValue, r.CkpWriteTime,
)

// ckp_sync_time_total (CounterValue)

ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `ckp_sync_time_total`), `Checkpoint sync Time`, nil, labels,
), prometheus.CounterValue, r.CkpSyncTime,
)

// ckp_buffers_written_total (CounterValue)
ckpBuffersWrittenTotal := float64(r.BuffersWritten)
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `ckp_buffers_written_total`), `Checkpoint Buffers written`, nil, labels,
), prometheus.CounterValue, ckpBuffersWrittenTotal,
)

// stats_reset (CounterValue)
var statsReset float64
if r.StatsReset.IsZero() {
statsReset = float64(0)
} else {
statsReset = float64(r.StatsReset.Unix())
}
ch <- prometheus.MustNewConstMetric(
prometheus.NewDesc(
prometheus.BuildFQName(namespace, subsystem, `stats_reset`), `Time at which these statistics were last reset`, nil, labels,
), prometheus.CounterValue, statsReset,
)

// optional metrics

return nil
}
1 change: 1 addition & 0 deletions pg_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ var scrapers = map[collector.Scraper]bool{
collector.ScrapeIOTables{}: true,
collector.ScrapeWal{}: true,
collector.ScrapeFrozenXid{}: true,
collector.ScrapeCheckpointer{}: true,
collector.ScrapeStatements{}: false,
}

Expand Down

0 comments on commit c7e18c0

Please sign in to comment.