Skip to content

Commit 94e8399

Browse files
BoweFlexSuperQ
andauthored
Feat: Improve Error Handling for Server.Scrape (prometheus-community#1158)
* Update querySettings Error Return in Scrape If there are errors querying namespace mappings, the potential error from querySettings is obscured. Adding an immediate return if there are errors retreiving settings. Signed-off-by: Jonathan Bowe <[email protected]> * Improve Verbosity of queryNamespaceMappings Errors Previously if any errors were encountered by queryNamespaceMappings, only a count of those errors was returned - making debugging those errors harder than it needs to be. I'm changing this to immediately return nil if no errors are encountered, and otherwise an error will be formatted with each of the namespaces and what the error was for that namespace. Signed-off-by: Jonathan Bowe <[email protected]> * Simplify Error Message Co-authored-by: Ben Kochie <[email protected]> Signed-off-by: Jonathan Bowe <[email protected]> --------- Signed-off-by: Jonathan Bowe <[email protected]> Signed-off-by: Jonathan Bowe <[email protected]> Co-authored-by: Ben Kochie <[email protected]>
1 parent d1a957f commit 94e8399

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

cmd/postgres_exporter/server.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,17 @@ func (s *Server) Scrape(ch chan<- prometheus.Metric, disableSettingsMetrics bool
119119
if !disableSettingsMetrics && s.master {
120120
if err = querySettings(ch, s); err != nil {
121121
err = fmt.Errorf("error retrieving settings: %s", err)
122+
return err
122123
}
123124
}
124125

125126
errMap := queryNamespaceMappings(ch, s)
126-
if len(errMap) > 0 {
127-
err = fmt.Errorf("queryNamespaceMappings returned %d errors", len(errMap))
127+
if len(errMap) == 0 {
128+
return nil
129+
}
130+
err = fmt.Errorf("queryNamespaceMappings errors encountered")
131+
for namespace, errStr := range errMap {
132+
err = fmt.Errorf("%s, namespace: %s error: %s", err, namespace, errStr)
128133
}
129134

130135
return err

0 commit comments

Comments
 (0)