Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gitlab-org/build/omnibus-mirror/postgres_exporter
1 result
Show changes
Commits on Source (2)
Loading
Loading
@@ -782,21 +782,15 @@ func NewServer(dsn string, opts ...ServerOpt) (*Server, error) {
 
// Close disconnects from Postgres.
func (s *Server) Close() error {
if s.db != nil {
err := s.db.Close()
s.db = nil
return err
}
return nil
return s.db.Close()
}
 
// Ping checks connection availability and possibly invalidates the connection if it fails.
func (s *Server) Ping() error {
if err := s.db.Ping(); err != nil {
if cerr := s.db.Close(); cerr != nil {
log.Infof("Error while closing non-pinging DB connection to %q: %v", s, cerr)
if cerr := s.Close(); cerr != nil {
log.Errorf("Error while closing non-pinging DB connection to %q: %v", s, cerr)
}
s.db = nil
return err
}
return nil
Loading
Loading
@@ -814,7 +808,7 @@ func (s *Server) Scrape(ch chan<- prometheus.Metric, errGauge prometheus.Gauge,
 
if !disableSettingsMetrics {
if err := querySettings(ch, s); err != nil {
log.Infof("Error retrieving settings: %s", err)
log.Errorf("Error retrieving settings: %s", err)
errGauge.Inc()
}
}
Loading
Loading
@@ -1252,29 +1246,32 @@ func (e *Exporter) scrape(ch chan<- prometheus.Metric) {
e.totalScrapes.Inc()
 
for _, dsn := range e.dsn {
server, err := e.servers.GetServer(dsn)
if err != nil {
loggableDSN := "could not parse DATA_SOURCE_NAME"
pDSN, pErr := parseDSN(dsn)
if pErr == nil {
loggableDSN = pDSN.String()
}
log.Infof("Error opening connection to database (%s): %v", loggableDSN, err)
e.error.Inc()
continue
}
// Didn't fail, can mark connection as up for this scrape.
e.psqlUp.Inc()
e.scrapeDSN(ch, dsn)
}
}
 
// Check if map versions need to be updated
if err := e.checkMapVersions(ch, server); err != nil {
log.Warnln("Proceeding with outdated query maps, as the Postgres version could not be determined:", err)
e.error.Inc()
func (e *Exporter) scrapeDSN(ch chan<- prometheus.Metric, dsn string) {
server, err := e.servers.GetServer(dsn)
if err != nil {
loggableDSN := "could not parse DATA_SOURCE_NAME"
if pDSN, pErr := parseDSN(dsn); pErr == nil {
loggableDSN = pDSN.String()
}
log.Errorf("Error opening connection to database (%s): %v", loggableDSN, err)
e.error.Inc()
return
}
// Didn't fail, can mark connection as up for this scrape.
e.psqlUp.Inc()
 
server.Scrape(ch, e.error, e.disableSettingsMetrics)
// Check if map versions need to be updated
if err := e.checkMapVersions(ch, server); err != nil {
log.Warnln("Proceeding with outdated query maps, as the Postgres version could not be determined:", err)
e.error.Inc()
}
server.Scrape(ch, e.error, e.disableSettingsMetrics)
}
 
// try to get the DataSource
Loading
Loading
Loading
Loading
@@ -249,6 +249,10 @@ func (s *FunctionalSuite) TestParseConstLabels(c *C) {
"a": "b",
},
},
{
s: "a=",
labels: prometheus.Labels{},
},
}
 
for _, cs := range cases {
Loading
Loading