Documentation
¶
Index ¶
- func CheckHealth() error
- func GetDB() (*sql.DB, error)
- func GetDialect() string
- func IsConnected() bool
- type DBPgsqlClient
- type PrometheusConfig
- type PrometheusMetrics
- func (pm *PrometheusMetrics) GetGatherer() prometheus.Gatherer
- func (pm *PrometheusMetrics) IncConnectAttempt(config *conf.Pgsql)
- func (pm *PrometheusMetrics) IncConnectFailure(config *conf.Pgsql)
- func (pm *PrometheusMetrics) IncConnectRetry(config *conf.Pgsql)
- func (pm *PrometheusMetrics) IncConnectSuccess(config *conf.Pgsql)
- func (pm *PrometheusMetrics) RecordHealthCheck(success bool, config *conf.Pgsql)
- func (pm *PrometheusMetrics) RecordQuery(op string, dur time.Duration, err error, threshold time.Duration, ...)
- func (pm *PrometheusMetrics) RecordTx(dur time.Duration, committed bool, config *conf.Pgsql)
- func (m *PrometheusMetrics) UpdateMetrics(stats *base.ConnectionPoolStats, config *conf.Pgsql)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DBPgsqlClient ¶
type DBPgsqlClient struct { *base.BaseSQLPlugin // contains filtered or unexported fields }
DBPgsqlClient represents PostgreSQL client plugin instance
func NewPgsqlClient ¶
func NewPgsqlClient() *DBPgsqlClient
NewPgsqlClient creates a new PostgreSQL client plugin instance
func (*DBPgsqlClient) CleanupTasks ¶
func (p *DBPgsqlClient) CleanupTasks() error
CleanupTasks gracefully closes database connection
func (*DBPgsqlClient) StartupTasks ¶
func (p *DBPgsqlClient) StartupTasks() error
StartupTasks initializes database connection
type PrometheusConfig ¶
type PrometheusConfig struct { // Prometheus metric namespace Namespace string // Prometheus metric subsystem Subsystem string // Additional labels for metrics (used to build static or extended labels) Labels map[string]string }
PrometheusConfig Prometheus metric semantic configuration (for plugin internal private registry)
type PrometheusMetrics ¶
type PrometheusMetrics struct { // Connection pool metrics MaxOpenConnections *prometheus.GaugeVec OpenConnections *prometheus.GaugeVec InUseConnections *prometheus.GaugeVec IdleConnections *prometheus.GaugeVec MaxIdleConnections *prometheus.GaugeVec // Wait metrics WaitCount *prometheus.CounterVec WaitDuration *prometheus.CounterVec // Connection close metrics MaxIdleClosed *prometheus.CounterVec MaxLifetimeClosed *prometheus.CounterVec // Health check metrics HealthCheckTotal *prometheus.CounterVec HealthCheckSuccess *prometheus.CounterVec HealthCheckFailure *prometheus.CounterVec // Configuration metrics ConfigMinConn *prometheus.GaugeVec ConfigMaxConn *prometheus.GaugeVec // Query/transaction metrics QueryDuration *prometheus.HistogramVec TxDuration *prometheus.HistogramVec ErrorCounter *prometheus.CounterVec SlowQueryCnt *prometheus.CounterVec // Connection retry/attempt/success/failure metrics ConnectAttempts *prometheus.CounterVec ConnectRetries *prometheus.CounterVec ConnectSuccess *prometheus.CounterVec ConnectFailures *prometheus.CounterVec // contains filtered or unexported fields }
PrometheusMetrics Prometheus monitoring metrics
func NewPrometheusMetrics ¶
func NewPrometheusMetrics(config *PrometheusConfig) *PrometheusMetrics
NewPrometheusMetrics Creates new Prometheus monitoring metrics
func (*PrometheusMetrics) GetGatherer ¶
func (pm *PrometheusMetrics) GetGatherer() prometheus.Gatherer
GetGatherer Returns the plugin's private Prometheus Gatherer (used to aggregate to global /metrics during application assembly phase)
func (*PrometheusMetrics) IncConnectAttempt ¶
func (pm *PrometheusMetrics) IncConnectAttempt(config *conf.Pgsql)
IncConnectAttempt Increments connection attempt counter
func (*PrometheusMetrics) IncConnectFailure ¶
func (pm *PrometheusMetrics) IncConnectFailure(config *conf.Pgsql)
IncConnectFailure Increments connection failure counter
func (*PrometheusMetrics) IncConnectRetry ¶
func (pm *PrometheusMetrics) IncConnectRetry(config *conf.Pgsql)
IncConnectRetry Increments connection retry counter
func (*PrometheusMetrics) IncConnectSuccess ¶
func (pm *PrometheusMetrics) IncConnectSuccess(config *conf.Pgsql)
IncConnectSuccess Increments connection success counter
func (*PrometheusMetrics) RecordHealthCheck ¶
func (pm *PrometheusMetrics) RecordHealthCheck(success bool, config *conf.Pgsql)
RecordHealthCheck Records health check results
func (*PrometheusMetrics) RecordQuery ¶
func (pm *PrometheusMetrics) RecordQuery(op string, dur time.Duration, err error, threshold time.Duration, config *conf.Pgsql, sqlState string)
RecordQuery Records SQL query duration, errors and slow query count
func (*PrometheusMetrics) UpdateMetrics ¶
func (m *PrometheusMetrics) UpdateMetrics(stats *base.ConnectionPoolStats, config *conf.Pgsql)
UpdateMetrics Updates monitoring metrics