You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
logger.Warn("Failed to create PostgresCollector", "err", err.Error())
90
+
return
91
+
}
92
+
93
+
prometheus.MustRegister(pe)
94
+
}
95
+
35
96
var (
36
97
c= config.Handler{
37
98
Config: &config.Config{},
@@ -50,6 +111,7 @@ var (
50
111
includeDatabases=kingpin.Flag("include-databases", "A list of databases to include when autoDiscoverDatabases is enabled (DEPRECATED)").Default("").Envar("PG_EXPORTER_INCLUDE_DATABASES").String()
51
112
metricPrefix=kingpin.Flag("metric-prefix", "A metric prefix can be used to have non-default (not \"pg\") prefixes for each of the metrics").Default("pg").Envar("PG_EXPORTER_METRIC_PREFIX").String()
52
113
scrapeTimeout=kingpin.Flag("scrape-timeout", "Maximum time for a scrape to complete before timing out (0 = no timeout)").Default("0").Envar("PG_EXPORTER_SCRAPE_TIMEOUT").Duration()
114
+
concurrentScrape=kingpin.Flag("concurrent-scrape", "Use dedicated instance for collector allowing concurrent scrapes (default: true for backward compatibility)").Default("true").Envar("PG_EXPORTER_CONCURRENT_SCRAPE").Bool()
53
115
logger=promslog.NewNopLogger()
54
116
)
55
117
@@ -133,38 +195,7 @@ func main() {
133
195
dsn=dsns[0]
134
196
}
135
197
136
-
ifdsn!="" {
137
-
// Get the server connection to share with collectors
138
-
server, err:=exporter.servers.GetServer(dsn)
139
-
iferr!=nil {
140
-
logger.Warn("Failed to get server for collectors", "err", err.Error())
141
-
} else {
142
-
// Create instance with shared connection from server
143
-
instance, err:=collector.NewInstance(dsn)
144
-
iferr!=nil {
145
-
logger.Warn("Failed to create instance", "err", err.Error())
146
-
} else {
147
-
err=instance.SetupWithConnection(server.db)
148
-
iferr!=nil {
149
-
logger.Warn("Failed to setup shared instance", "err", err.Error())
150
-
} else {
151
-
// Create collector with shared instance (instancePerCollect defaults to false)
152
-
pe, err:=collector.NewPostgresCollector(
153
-
logger,
154
-
excludedDatabases,
155
-
instance,
156
-
[]string{},
157
-
collector.WithTimeout(*scrapeTimeout),
158
-
)
159
-
iferr!=nil {
160
-
logger.Warn("Failed to create PostgresCollector", "err", err.Error())
0 commit comments