📜 Description
Upload network details data (SentryNetworkRequestData) extracted by SentryNetworkTracker to the session replay backend.
SentryNetworkRequestData
Stored on the NSURLSessionTask while waiting for data (PREVIOUS PR)
SentryNetworkRequestData *networkRequestData
= objc_setAssociatedObject(sessionTask, &SentryNetworkRequestDataKey);
Stored in the Breadcrumb data after task has completed (addBreadcrumbForSessionTask) (THIS PR)
breadcrumbData[SentryReplayNetworkDetailsKey]
Extracted from Breadcrumb into RRWebEvent (SentrySRDefaultBreadcrumbConverter) (THIS PR)
SentryNetworkRequestData.serialize
💡 Motivation and Context
Last leg of data upload; now data is visible in replay dash.
💚 How did you test it?
Manual Testing with iOS-Swift test app
- Build and install
xcodebuild -workspace Sentry.xcworkspace -scheme iOS-Swift -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 16 Pro' clean build
xcrun simctl install "iPhone 16 Pro" ~/Library/Developer/Xcode/DerivedData/Sentry-*/Build/Products/Debug-iphonesimulator/iOS-Swift.app
-
Navigate to Extras > Network Details
-
Initiate different types of request
-
Navigate to sentry.io test project and confirm session replay 'Network' tab shows requests with correct body and headers.
📝 Checklist
You have to check all boxes before merging:
Note
The pull request "feat(network-details): Extract network details data to Session Replay" was created by @43jay but did not reference an issue. Therefore this issue was created for better visibility in external tools like Linear.
📜 Description
Upload network details data (
SentryNetworkRequestData) extracted by SentryNetworkTracker to the session replay backend.SentryNetworkRequestDataStored on the NSURLSessionTask while waiting for data (PREVIOUS PR)
SentryNetworkRequestData *networkRequestData = objc_setAssociatedObject(sessionTask, &SentryNetworkRequestDataKey);Stored in the Breadcrumb data after task has completed (
addBreadcrumbForSessionTask) (THIS PR)Extracted from Breadcrumb into RRWebEvent (
SentrySRDefaultBreadcrumbConverter) (THIS PR)💡 Motivation and Context
Last leg of data upload; now data is visible in replay dash.
💚 How did you test it?
Manual Testing with iOS-Swift test app
Navigate to Extras > Network Details
Initiate different types of request
Navigate to sentry.io test project and confirm session replay 'Network' tab shows requests with correct body and headers.
📝 Checklist
You have to check all boxes before merging:
sendDefaultPIIis enabled. gated by SentryReplayOptions#networkDetailAllowUrls