[PLAT-5298] Remove breadcrumbs from client metadata #853
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.
Goal
These changes reduce the CPU and memory impact of leaving breadcrumbs by stopping the breadcrumbs array from being serialised into an in-memory JSON buffer every time a new one is added.
Changeset
BSSerializeDataCrashHandler
which is invoked in the event of an unhandled error now reads in the breadcrumbs data from the file on disk. Previously, the breadcrumbs were included inbsg_g_bugsnag_data.stateJSON
This required a slight change to where the breadcrumbs reside within the KSCrashReport JSON structure, so the
BSGParseBreadcrumbs
function was updated to reflect this.Testing
A unit test was added to measure the performance of leaving breadcrumbs. This should report any regressions against the baseline as a test failure.
End-to-end tests check the breadcrumbs payload and these have passed.
Manually verified that breadcrumbs are still reported to the dashboard.