dd-sdk-ios
dd-sdk-ios copied to clipboard
RUM-3535 feat: add support for trace context injection configuration to allow selective injection
What and why?
RFC https://datadoghq.atlassian.net/wiki/spaces/RUMP/pages/3529509193
How?
There is one big difference has been in this PR along with the implementation of the RFC. If we have a distributed span which has a parent, the parent's sampling strategy will be applied to the distributed span.
Now if the parent span is not sampled, the distributed span will not be sampled regardless of the distributed sampling configuration and vice versa.
This is similar to the Trace Agent behavior where the decision stays consistent across the board on the spans. This way customers will not have a broken trace ever.
Review checklist
- [x] Feature or bugfix MUST have appropriate tests (unit, integration)
- [x] Make sure each commit and the PR mention the Issue number or JIRA reference
- [x] Add CHANGELOG entry for user facing changes
Custom CI job configuration (optional)
- [x] Run unit tests for Core, RUM, Trace, Logs, CR and WVT
- [ ] Run unit tests for Session Replay
- [x] Run integration tests
- [ ] Run smoke tests
- [ ] Run tests for
tools/
Datadog Report
Branch report: ganeshnj/feat/RUM-3535-trace-context-control
Commit report: c26e62b
Test service: dd-sdk-ios
:white_check_mark: 0 Failed, 3214 Passed, 0 Skipped, 2m 20.71s Total Time :small_red_triangle_down: Test Sessions change in coverage: 9 decreased, 4 increased
:small_red_triangle_down: Code Coverage Decreases vs Default Branch (9)
This report shows up to 5 code coverage decreases.