Add :locals
to ActionView rendering instrumentation
#45977
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.
Motivation / Background
This Pull Request has been created in order to expand the data that
ActiveSupport::Notifications
captures during the rendering process. This change is motivated by the need for additional insight into the rendering process in order to make assertions about it during testing, but will potentially also be useful for APM use.Detail
This Pull Request changes:
ActionView::TemplateRenderer.render_template
ActionView::PartialRenderer.render_partial_template
ActionView::StreamingTemplateRenderer.render_template
in all cases simply adding
locals: locals
to the hash that is sent toActiveSupport::Notifications.instrument
.There are also small additions to the documentation (
active_support_instrumentation.md
) and to theCHANGELOG
in order to keep them up to date.Additional information
NOTE: There are no existing tests for the instrumentation or the data that is reported by it, nor is there a terribly obvious place to add it. I am very happy to add tests, just let me know the best place for them.
Checklist
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
main
(if not - rebase it).