Add option maxCacheSize
Description
See https://github.com/getsentry/team-mobile/issues/163.
SDKs with offline caching have the option maxCacheItems to specify the maximum number of envelopes to keep in the offline cache. Envelopes can significantly vary in size depending on which features our customers use. They can range from a couple of KBs up to MBs if, for example, screenshots are enabled.
As a mobile engineer, you mostly care about how much space the offline cache of Sentry SDKs will use on your user's devices. Therefore, we could add an option called maxCacheSize specifying the maximum size of bytes the offline cache can use until it has to delete envelopes. maxCacheSize and maxCacheItems should work together. Whenever the SDK stores an envelope to disk, it has to check if either maxCacheSize or maxCacheItems is reached, and if so, delete the oldest envelope.
What the default value for maxCacheSize should be is still being discussed.
-
https://github.com/getsentry/sentry-react-native/pull/2102
maxCacheSizecan be passed thru when implemented by the native SDKs
-
https://github.com/getsentry/sentry-react-native/pull/2578
- Transport buffer size represents number of open promises (number of Envelopes being hand of to native layer)
- Should be relevant for users only in extreme cases