collector

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2023 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoData = errors.New("collector returned no data")

ErrNoData indicates the collector found no data to collect, but had no other error.

Functions

func IsNoDataError

func IsNoDataError(err error) bool

Types

type Collector

type Collector interface {
	Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error
}

func NewPGDatabaseCollector

func NewPGDatabaseCollector(config collectorConfig) (Collector, error)

func NewPGPostmasterCollector added in v0.13.0

func NewPGPostmasterCollector(collectorConfig) (Collector, error)

func NewPGProcessIdleCollector added in v0.13.0

func NewPGProcessIdleCollector(config collectorConfig) (Collector, error)

func NewPGReplicationCollector added in v0.13.0

func NewPGReplicationCollector(collectorConfig) (Collector, error)

func NewPGReplicationSlotCollector added in v0.12.0

func NewPGReplicationSlotCollector(config collectorConfig) (Collector, error)

func NewPGStatBGWriterCollector

func NewPGStatBGWriterCollector(collectorConfig) (Collector, error)

func NewPGStatDatabaseCollector added in v0.13.0

func NewPGStatDatabaseCollector(config collectorConfig) (Collector, error)

func NewPGStatIOUserTablesCollector added in v0.13.0

func NewPGStatIOUserTablesCollector(config collectorConfig) (Collector, error)

func NewPGStatStatementsCollector added in v0.13.0

func NewPGStatStatementsCollector(config collectorConfig) (Collector, error)

func NewPGStatUserTablesCollector added in v0.13.0

func NewPGStatUserTablesCollector(config collectorConfig) (Collector, error)

type Option

type Option func(*PostgresCollector) error

type PGDatabaseCollector

type PGDatabaseCollector struct {
	// contains filtered or unexported fields
}

func (PGDatabaseCollector) Update

func (c PGDatabaseCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

Update implements Collector and exposes database size. It is called by the Prometheus registry when collecting metrics. The list of databases is retrieved from pg_database and filtered by the excludeDatabase config parameter. The tradeoff here is that we have to query the list of databases and then query the size of each database individually. This is because we can't filter the list of databases in the query because the list of excluded databases is dynamic.

type PGPostmasterCollector added in v0.13.0

type PGPostmasterCollector struct {
}

func (*PGPostmasterCollector) Update added in v0.13.0

func (c *PGPostmasterCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGProcessIdleCollector added in v0.13.0

type PGProcessIdleCollector struct {
	// contains filtered or unexported fields
}

func (PGProcessIdleCollector) Update added in v0.13.0

func (PGProcessIdleCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGReplicationCollector added in v0.13.0

type PGReplicationCollector struct {
}

func (*PGReplicationCollector) Update added in v0.13.0

func (c *PGReplicationCollector) Update(ctx context.Context, db *sql.DB, ch chan<- prometheus.Metric) error

type PGReplicationSlotCollector added in v0.12.0

type PGReplicationSlotCollector struct {
	// contains filtered or unexported fields
}

func (PGReplicationSlotCollector) Update added in v0.12.0

func (PGReplicationSlotCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGStatBGWriterCollector

type PGStatBGWriterCollector struct {
}

func (PGStatBGWriterCollector) Update

func (PGStatBGWriterCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGStatDatabaseCollector added in v0.13.0

type PGStatDatabaseCollector struct{}

func (PGStatDatabaseCollector) Update added in v0.13.0

func (PGStatDatabaseCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGStatIOUserTablesCollector added in v0.13.0

type PGStatIOUserTablesCollector struct {
	// contains filtered or unexported fields
}

func (PGStatIOUserTablesCollector) Update added in v0.13.0

func (PGStatIOUserTablesCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGStatStatementsCollector added in v0.13.0

type PGStatStatementsCollector struct {
	// contains filtered or unexported fields
}

func (PGStatStatementsCollector) Update added in v0.13.0

func (PGStatStatementsCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PGStatUserTablesCollector added in v0.13.0

type PGStatUserTablesCollector struct {
	// contains filtered or unexported fields
}

func (*PGStatUserTablesCollector) Update added in v0.13.0

func (c *PGStatUserTablesCollector) Update(ctx context.Context, instance *instance, ch chan<- prometheus.Metric) error

type PostgresCollector

type PostgresCollector struct {
	Collectors map[string]Collector
	// contains filtered or unexported fields
}

PostgresCollector implements the prometheus.Collector interface.

func NewPostgresCollector

func NewPostgresCollector(logger log.Logger, excludeDatabases []string, dsn string, filters []string, options ...Option) (*PostgresCollector, error)

NewPostgresCollector creates a new PostgresCollector.

func (PostgresCollector) Collect

func (p PostgresCollector) Collect(ch chan<- prometheus.Metric)

Collect implements the prometheus.Collector interface.

func (PostgresCollector) Describe

func (p PostgresCollector) Describe(ch chan<- *prometheus.Desc)

Describe implements the prometheus.Collector interface.

type ProbeCollector added in v0.12.0

type ProbeCollector struct {
	// contains filtered or unexported fields
}

func NewProbeCollector added in v0.12.0

func NewProbeCollector(logger log.Logger, excludeDatabases []string, registry *prometheus.Registry, dsn config.DSN) (*ProbeCollector, error)

func (*ProbeCollector) Close added in v0.12.0

func (pc *ProbeCollector) Close() error

func (*ProbeCollector) Collect added in v0.12.0

func (pc *ProbeCollector) Collect(ch chan<- prometheus.Metric)

func (*ProbeCollector) Describe added in v0.12.0

func (pc *ProbeCollector) Describe(ch chan<- *prometheus.Desc)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL