dd-sdk-ios
dd-sdk-ios copied to clipboard
RUM-6263 Trigger based approach
What and why?
A short description of what changes this PR introduces and why.
How?
A brief description of implementation details of this PR.
Review checklist
- [ ] Feature or bugfix MUST have appropriate tests (unit, integration)
- [ ] Make sure each commit and the PR mention the Issue number or JIRA reference
- [ ] Add CHANGELOG entry for user facing changes
Datadog Report
Branch report: maciey/RUM-6263-trigger-based-recording
Commit report: 8450ffd
Test service: dd-sdk-ios
:x: 1 Failed (1 Known Flaky), 192 Passed, 3147 Skipped, 17.27s Total duration (1m 47.66s time saved)
:x: Failed Tests (1)
-
testWhenEnabled_itSendsConfigurationTelemetry-SessionReplayTests- :snowflake: Known flaky - DetailsExpand for error
ssertion Failure at SessionReplayTests.swift:216: XCTUnwrap failed: expected non-nil value of type "ConfigurationTelemetry"
I have addressed all the feedback, which led to small refactor. But I think it makes more sense now.
Key change is that trigger is a dependency of coordinator and it notifies it through a delegate pattern.
On checking shouldSkipFrame outside of queue. I made some tests and it's significantly more performant when done from within the queue.
We decided to slightly revamp the approach. Closing this one for the time being.
Just noticed I need to add tests for the new swizzlers. On it. Will reopen when done.