Log when DB queries return large numbers of rows #2338
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.
A short explanation of the proposed change
Add some extra logging for when DB queries return a large number of rows including a configuration flag which can both toggle the feature off as well as set a threshold for when to log.
An explanation of the use cases your change solves
We've seen some DB queries return large numbers of rows which CC then has to parse/marshal which can be particularly slow. By adding some additional logging when queries return lots of data we can hopefully identify specific requests that cause large numbers or rows to be handled.
We've also looked at using pg_stat_statments but by using the existing Steno logger in CC we can identify a specific request as our users submit error reports about slow endpoints including the VCAP request ID.
Links to any other associated PRs
Slow service plan visibilities caused by large numbers of returned rows - #2215
Checks
I have reviewed the contributing guide
I have viewed, signed, and submitted the Contributor License Agreement
I have made this pull request to the
main
branchI have run all the unit tests using
bundle exec rake
I have run CF Acceptance Tests