feat: collect database metrics #17635
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently we don't have a way to get insight into Postgres connections being exhausted.
By using the prometheus'
DBStats
collector, we get some insight out-of-the-box.go_sql_wait_count_total
is the metric I'm most interested in gaining, but the others are also very useful.Changing the prefix is easy (
prometheus.WrapRegistererWithPrefix
), but getting rid of thego_
segment is not quite so easy. I've kept the changeset small for now.NOTE: I imported a library to determine the database name from the given conn string. It's not as simple as one might hope. The database name is used for the
db_name
label.