Storage will be to plain JSON files in the app cache directory under a bugsnag-performance directory.
Each delivery payload will be stored in its own json file.
Any payload older than 24 hours will be deleted without being sent.
Persisted payloads will be sent in the order they were stored (oldest first), and delivery will be triggered when BugsnagPerformance.start is called or payload is successfully sent.
Changes
Added CacheManager class to handle all cache operations. NOTE all delivery and Cache operations are handled by the main unity thread, so no thread locking or other thread safe measures are required.
Added caching and cache flushing logic to the Delivery class.
Added internal config MaxPersistedBatchAgeSeconds
Testing
Added new E2E tests for trace persistance and MaxPersistedBatchAgeSeconds.
Goal
Storage will be to plain JSON files in the app cache directory under a bugsnag-performance directory.
Each delivery payload will be stored in its own json file.
Any payload older than 24 hours will be deleted without being sent.
Persisted payloads will be sent in the order they were stored (oldest first), and delivery will be triggered when BugsnagPerformance.start is called or payload is successfully sent.
Changes
CacheManager
class to handle all cache operations. NOTE all delivery and Cache operations are handled by the main unity thread, so no thread locking or other thread safe measures are required.Delivery
class.MaxPersistedBatchAgeSeconds
Testing
Added new E2E tests for trace persistance and MaxPersistedBatchAgeSeconds.