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