Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send modules along with SentryEvent #236

Closed
romtsn opened this issue Nov 23, 2021 · 5 comments · Fixed by #396
Closed

Send modules along with SentryEvent #236

romtsn opened this issue Nov 23, 2021 · 5 comments · Fixed by #396
Labels
enhancement New feature or request Platform: Android

Comments

@romtsn
Copy link
Member

romtsn commented Nov 23, 2021

There's a capability in the Sentry product to display installed modules/dependencies, for instance, this is how it looks for Ruby
image

Would be nice to do something similar for the Android SDK - we can collect the dependencies of an app through SAGP and make them available at runtime for the SDK, for example as a file under res/raw folder, and then the SDK can send it alongside protocol. This is already available in the protocol

@romtsn romtsn added the enhancement New feature or request label Nov 23, 2021
@marandaneto
Copy link
Contributor

marandaneto commented Dec 1, 2021

the AGP already generates a file with all the dependencies under a text file.
it'd be nice if the SAGP picks this file up and make it available to the Sentry Android SDK, so we can send it at runtime.

pay attention that a big App could increase quite a lot the event size, could be that we exceed the 1MB max size.

do we want transitive dependencies or not?

an alternative for event size is using attachments.

this file could be under the resources/assets folder, so an event processor picks it up, loads it to memory, and attaches it to the events.

@romtsn
Copy link
Member Author

romtsn commented Dec 2, 2021

the file is only available for release builds, so either we choose to send this only for release builds or we implement our own dependency gathering logic

@marandaneto
Copy link
Contributor

the file is only available for release builds, so either we choose to send this only for release builds or we implement our own dependency gathering logic

its fine to be only during release build.

@cortinico
Copy link
Contributor

Just dropping my thoughts here: shouldn't the list of dependencies be uploaded at build time instead? Imho the list of deps should be uploaded alongside the proguard mapping and matched/displayed on the backend side. Uploading it at runtime adds unnecessary overhead for the user as you'll be essentially sending a static file over and over.

@marandaneto
Copy link
Contributor

@cortinico yes, that would be ideal, that would require changes on the backend tho.
our protocol already supports it tho thru the event https://develop.sentry.dev/sdk/event-payloads/ via modules list.
we'll keep that in mind, maybe could be done along with #40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Platform: Android
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants