mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 10:23:14 -04:00
## Summary We need a way to decode Android crash's stacktraces so that they can provide meaningful insights to our customers, this is because, due to security reasons, android apps tend to obfuscate their code before publishing it online, making crash reports contain obfuscated names, which don't make any sense before mapping them to the actual source code names. In order to help our customers deobfuscate their stacktraces, we need to allow them to provide us with an R8 map file, which is generated by the code obfuscation tool (R8) at compile time. This map file is needed to later do the deobfuscation process. So these code changes take care of adding a new endpoint that our customers can use to upload their map files, similarly to what's currently available to [RUM Sourcemaps](https://www.elastic.co/guide/en/apm/guide/current/source-map-how-to.html#source-map-rum-upload), the Android map files will be uploaded to ES, using the same index as the one currently used to store RUM Sourcemaps. There's a couple of reasons why a new endpoint to upload android maps is needed instead of re-using the existing RUM Sourcemaps one: * The Sourcemaps upload endpoint has validations in place to check the sourcemap format, which must be a JSON with some expected keys available. Android map files don't have a JSON format, so they are rejected by the sourcemaps endpoint. * Android map files tend to be large in size, just as an example, the map file generated for our [sample app](https://github.com/elastic/opbeans-android) has a size of ~7 MB, so for real apps this number can be larger, which would also cause issues with the RUM upload endpoint since it has a max file limit size of 1 MB. * The RUM upload endpoint contains a parameter (`bundle_filepath `) that doesn't have an equivalent for the android map use case. This PR depends on https://github.com/elastic/kibana/pull/161152 ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com> Co-authored-by: Brandon Morelli <bmorelli25@gmail.com> Co-authored-by: Katerina Patticha <kate@kpatticha.com> |
||
---|---|---|
.. | ||
images | ||
tab-widgets | ||
advanced-queries.asciidoc | ||
agent-configuration.asciidoc | ||
agent-explorer.asciidoc | ||
api.asciidoc | ||
apm-alerts.asciidoc | ||
apm-app-users.asciidoc | ||
apm-spaces.asciidoc | ||
correlations.asciidoc | ||
custom-links.asciidoc | ||
dependencies.asciidoc | ||
deployment-annotations.asciidoc | ||
errors.asciidoc | ||
filters.asciidoc | ||
getting-started.asciidoc | ||
how-to-guides.asciidoc | ||
index.asciidoc | ||
infrastructure.asciidoc | ||
lambda.asciidoc | ||
logs.asciidoc | ||
machine-learning.asciidoc | ||
metrics.asciidoc | ||
mobile-service.asciidoc | ||
service-maps.asciidoc | ||
service-overview.asciidoc | ||
services.asciidoc | ||
set-up.asciidoc | ||
settings.asciidoc | ||
spans.asciidoc | ||
storage-explorer.asciidoc | ||
traces.asciidoc | ||
transactions.asciidoc | ||
troubleshooting.asciidoc |