Versions in this module Expand all Collapse all v3 v3.1.0 Feb 13, 2025 Changes in this version type Reaper + func (r *Reaper) Ready() bool v3.0.0 Dec 17, 2024 Changes in this version + var MonitoredDatabasesSettings = make(map[string]MonitoredDatabaseSettings) + var MonitoredDatabasesSettingsGetLock = make(map[string]*sync.RWMutex) + var MonitoredDatabasesSettingsLock = sync.RWMutex + func AddDbnameSysinfoIfNotExistsToQueryResultData(data metrics.Measurements, ver MonitoredDatabaseSettings, ...) metrics.Measurements + func CheckForPGObjectChangesAndStore(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) + func ClearDBUnreachableStateIfAny(dbUnique string) + func CloseResourcesForRemovedMonitoredDBs(metricsWriter *sinks.MultiWriter, ...) + func DBExecRead(ctx context.Context, conn db.PgxIface, sql string, args ...any) (metrics.Measurements, error) + func DBExecReadByDbUniqueName(ctx context.Context, dbUnique string, sql string, args ...any) (metrics.Measurements, error) + func DBGetSizeMB(ctx context.Context, dbUnique string) (int64, error) + func DatarowsToMetricstoreMessage(data metrics.Measurements, msg MetricFetchConfig, ...) (metrics.MeasurementEnvelope, error) + func DoesEmergencyTriggerfileExist(fname string) bool + func DoesFunctionExists(ctx context.Context, dbUnique, functionName string) bool + func FetchMetrics(ctx context.Context, msg MetricFetchConfig, ...) ([]metrics.MeasurementEnvelope, error) + func FetchMetricsPgpool(ctx context.Context, msg MetricFetchConfig, vme MonitoredDatabaseSettings, ...) (metrics.Measurements, error) + func FetchStatsDirectlyFromOS(ctx context.Context, msg MetricFetchConfig, vme MonitoredDatabaseSettings, ...) ([]metrics.MeasurementEnvelope, error) + func FilterPgbouncerData(ctx context.Context, data metrics.Measurements, databaseToKeep string, ...) metrics.Measurements + func GetAllRecoMetricsForVersion(vme MonitoredDatabaseSettings) (map[string]metrics.Metric, error) + func GetConnByUniqueName(dbUnique string) db.PgxIface + func GetDBTotalApproxSize(ctx context.Context, dbUnique string) (int64, error) + func GetFromInstanceCacheIfNotOlderThanSeconds(msg MetricFetchConfig, maxAgeSeconds int64) metrics.Measurements + func GetGoPsutilDiskPG(ctx context.Context, dbUnique string) (metrics.Measurements, error) + func GetMetricVersionProperties(metric string, _ MonitoredDatabaseSettings, metricDefMap *metrics.Metrics) (metrics.Metric, error) + func GetMonitoredDatabaseByUniqueName(name string) (*sources.MonitoredDatabase, error) + func GetRecommendations(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings) (metrics.Measurements, error) + func InitPGVersionInfoFetchingLockIfNil(md *sources.MonitoredDatabase) + func InitSQLConnPoolForMonitoredDBIfNil(ctx context.Context, md *sources.MonitoredDatabase, maxConns int) (err error) + func IsCacheableMetric(msg MetricFetchConfig, mvp metrics.Metric) bool + func IsDBDormant(dbUnique string) bool + func IsDBIgnoredBasedOnRecoveryState(dbUnique string) bool + func IsDBUndersized(dbUnique string) bool + func IsDirectlyFetchableMetric(metric string) bool + func LoadMetricDefs(r metrics.Reader) (err error) + func PutToInstanceCache(msg MetricFetchConfig, data metrics.Measurements) + func SetDBUnreachableState(dbUnique string) + func SetRecoveryIgnoredDBState(dbUnique string, state bool) + func SetUndersizedDBState(dbUnique string, state bool) + func StoreMetrics(metrics []metrics.MeasurementEnvelope, ...) (int, error) + func SyncMetricDefs(ctx context.Context, r metrics.Reader) + func SyncMonitoredDBsToDatastore(ctx context.Context, monitoredDbs []*sources.MonitoredDatabase, ...) + func TryCreateMetricsFetchingHelpers(ctx context.Context, md *sources.MonitoredDatabase) (err error) + func TryCreateMissingExtensions(ctx context.Context, dbUnique string, extensionNames []string, ...) []string + func TryDiscoverExecutionEnv(ctx context.Context, dbUnique string) (execEnv string) + func UpdateMonitoredDBCache(data sources.MonitoredDatabases) + func VersionToInt(version string) (v int) + type ChangeDetectionResults struct + Altered int + Created int + Dropped int + func DetectConfigurationChanges(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) ChangeDetectionResults + func DetectIndexChanges(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) ChangeDetectionResults + func DetectPrivilegeChanges(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) ChangeDetectionResults + func DetectSprocChanges(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) ChangeDetectionResults + func DetectTableChanges(ctx context.Context, dbUnique string, vme MonitoredDatabaseSettings, ...) ChangeDetectionResults + type ExistingPartitionInfo struct + EndTime time.Time + StartTime time.Time + type MetricFetchConfig struct + CreatedOn time.Time + DBUniqueName string + DBUniqueNameOrig string + Interval time.Duration + MetricName string + Source sources.Kind + StmtTimeoutOverride int64 + type MonitoredDatabaseSettings struct + ApproxDBSizeB int64 + ExecEnv string + Extensions map[string]int + IsInRecovery bool + IsSuperuser bool + LastCheckedOn time.Time + RealDbname string + SystemIdentifier string + Version int + VersionStr string + func GetMonitoredDatabaseSettings(ctx context.Context, dbUnique string, srcType sources.Kind, noCache bool) (MonitoredDatabaseSettings, error) + type Reaper struct + func NewReaper(opts *cmdopts.Options, sourcesReaderWriter sources.ReaderWriter, ...) *Reaper + func (r *Reaper) Reap(mainContext context.Context) (err error)