kibana/docs/apm
LikeTheSalad 6751324a80
Adding endpoint to upload android map files (#161252)
## 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>
2023-08-01 09:06:59 +02:00
..
images [APM] Update Storage Explorer docs (#162163) 2023-07-20 09:29:54 +01:00
tab-widgets [APM] Update Storage Explorer docs (#162163) 2023-07-20 09:29:54 +01:00
advanced-queries.asciidoc [DOCS] Update APM filter and query content (#94446) 2021-03-18 12:53:51 +00:00
agent-configuration.asciidoc Added sessionSampleRate to agent configs (#159061) 2023-06-13 07:30:56 -07:00
agent-explorer.asciidoc [APM] Documentation updates (#160951) 2023-06-30 11:49:43 -07:00
api.asciidoc Adding endpoint to upload android map files (#161252) 2023-08-01 09:06:59 +02:00
apm-alerts.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
apm-app-users.asciidoc [APM] UX text review (#161400) 2023-07-07 07:41:46 -07:00
apm-spaces.asciidoc Fix typo (#144302) 2022-12-06 22:32:39 -05:00
correlations.asciidoc [APM] Document serverless-specific UI (#135178) 2022-07-15 06:34:57 +09:30
custom-links.asciidoc [APM] docs: restructure APM documentation for 7.7 (#63280) 2020-04-15 07:54:26 -07:00
dependencies.asciidoc [APM] Documentation updates (#160951) 2023-06-30 11:49:43 -07:00
deployment-annotations.asciidoc docs: APM 7.11 updates (#87072) 2021-01-05 09:58:04 -08:00
errors.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
filters.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
getting-started.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
how-to-guides.asciidoc [APM] Documentation updates (#160951) 2023-06-30 11:49:43 -07:00
index.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
infrastructure.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
lambda.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
logs.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
machine-learning.asciidoc [APM] UX text review (#161400) 2023-07-07 07:41:46 -07:00
metrics.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
mobile-service.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
service-maps.asciidoc [APM] UX text review (#161400) 2023-07-07 07:41:46 -07:00
service-overview.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
services.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
set-up.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
settings.asciidoc [APM] Documentation updates (#160951) 2023-06-30 11:49:43 -07:00
spans.asciidoc [APM] 8.7.0 Documentation and screenshot updates (#153140) 2023-03-29 10:21:44 -07:00
storage-explorer.asciidoc [APM] Update Storage Explorer docs (#162163) 2023-07-20 09:29:54 +01:00
traces.asciidoc [APM] UX text review (#161400) 2023-07-07 07:41:46 -07:00
transactions.asciidoc [APM] Documentation updates (#160568) 2023-06-30 11:02:58 -07:00
troubleshooting.asciidoc [APM] UX text review (#161400) 2023-07-07 07:41:46 -07:00