-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
108 additions
and
12 deletions.
There are no files selected for viewing
This file contains 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
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"` | ||
} |
This file contains 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
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 | ||
} |
This file contains 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