RUM-5004 Record resources while processing snapshots #1919
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.
What and why?
Previously, resources where created while recording the views. But in SwiftUI, we will only be able to create resources at the processing phase. To accommodate this, resources will now be created when building the wireframes and written by the snapshot processor.
How?
The
SnapshotProcessor
now holds a reference to aResourceProcessor
, and theSessionReplayWireframesBuilder
will keep track of resources while building the wireframes. TheSnapshotProcessor
will pass all collected resources to itsResourceProcessor
instance.Note:
The
ResourceProcessor
and theResourcesWriter
are doing the same checks to deduplicate images, but on different threads. This needs a refactoring as well, but it's outside the scope of this PR.Review checklist
Custom CI job configuration (optional)
tools/