Add support for ActiveRecord async queries #4872
Draft
+90
−2
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.
Fixes #3465
Async query execution, introduced in Rails 7.0.0 and expanded in Rails 7.1.0, now correctly parents the async spans to the context where the query resolution happens.
This context is the place where the results from the async query were consumed. For example:
async_relation = Model.load_async
schedules the async query, but the query span is only attached to the active trace atrelation.load
time). This only affects parenting, as the execution time of the async span is always accurate.The active trace, started in a thread, will now see spans from a background async thread attached to it.
Change log entry
Yes. Add support for ActiveRecord async queries
Additional Notes:
How to test the change?