Skip to content

Commit 0f449f7

Browse files
bryce-bkibanamachinekpatticha
authored andcommitted
[APM] Mobile crashes & errors (#165892)
## Summary This PR adds back the `Errors` tab to mobile apm services under the title `Errors & Crashes`. This new page is split into too sections: errors, and crashes. Error Tab: <img width="1456" alt="Screenshot 2023-10-25 at 10 57 00" src="https://github.com/elastic/kibana/assets/75274611/20277c31-d88c-44ae-b896-1da4223cb392"> Crashes Tab: <img width="1454" alt="Screenshot 2023-10-25 at 10 57 35" src="https://github.com/elastic/kibana/assets/75274611/2b0dea23-cbab-4e68-a14a-c3b14d4bd860"> ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [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 - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: ### 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 <[email protected]> Co-authored-by: Katerina <[email protected]>
1 parent 65a2587 commit 0f449f7

8 files changed

+85
-1
lines changed

Diff for: how-to-guides.asciidoc

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Learn how to perform common APM app tasks.
1313
* <<correlations>>
1414
* <<agent-explorer>>
1515
* <<machine-learning-integration>>
16+
* <<mobile-session-explorer>>
1617
* <<apm-lambda>>
1718
* <<advanced-queries>>
1819
* <<storage-explorer>>
@@ -35,6 +36,8 @@ include::agent-explorer.asciidoc[]
3536

3637
include::machine-learning.asciidoc[]
3738

39+
include::mobile-session-explorer.asciidoc[]
40+
3841
include::lambda.asciidoc[]
3942

4043
include::advanced-queries.asciidoc[]

Diff for: images/mobile-session-error-details.png

374 KB
Loading

Diff for: images/mobile-session-explorer-apm.png

1.01 MB
Loading

Diff for: images/mobile-session-explorer-nav.png

997 KB
Loading

Diff for: images/mobile-session-filter-discover.png

1.19 MB
Loading

Diff for: mobile-errors.asciidoc

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
[role="xpack"]
2+
[[mobile-errors-crashes]]
3+
=== Mobile errors and crashes
4+
5+
TIP: {apm-guide-ref}/data-model-errors.html[Errors] are groups of exceptions with a similar exception or log message.
6+
7+
The *Errors & Crashes* overview provides a high-level view of errors and crashes that APM mobile agents catch,
8+
or that users manually report with APM agent APIs. Errors and crashes are separated into two tabs for easy differentiation.
9+
Like errors are grouped together to make it easy to quickly see which errors are affecting your services,
10+
and to take actions to rectify them.
11+
12+
13+
14+
15+
16+
[role="screenshot"]
17+
image::apm/images/mobile-errors-overview.png[Mobile Errors overview]
18+
19+
Selecting an error group ID or error message brings you to the *Error group*.
20+
21+
[role="screenshot"]
22+
image::apm/images/mobile-error-group.png[Mobile Error group]
23+
24+
The error group details page visualizes the number of error occurrences over time and compared to a recent time range.
25+
This allows you to quickly determine if the error rate is changing or remaining constant.
26+
You'll also see the "most affected" chart which can be oriented to 'by device' or 'by app version'.
27+
28+
Further down, you'll see an Error sample.
29+
The error shown is always the most recent to occur.
30+
The sample includes the exception message, culprit, stack trace where the error occurred (when available),
31+
and additional contextual information to help debug the issue--all of which can be copied with the click of a button.
32+
33+
In some cases, you might also see a Transaction sample ID.
34+
This feature allows you to make a connection between the errors and transactions,
35+
by linking you to the specific transaction where the error occurred.
36+
This allows you to see the whole trace, including which services the request went through.

Diff for: mobile-service.asciidoc

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ to make data-driven decisions about how to improve your user experience.
99

1010
For example, see:
1111

12-
* Crash Rate (Crashes per minute) -- coming soon
12+
* Crash Rate (Crashes per session)
1313
* Slowest App load time -- coming soon
1414
* Number of sessions
1515
* Number of HTTP requests
@@ -28,6 +28,8 @@ of their mobile application environment and the impact of backend errors and bot
2828
Understand the impact of slow application load times and variations in application crash rate on user traffic (coming soon).
2929
Visualize session and HTTP trends, and see where your users are located--enabling you to optimize your infrastructure deployment and routing topology.
3030

31+
Note: due to the way crash rate is calculated (crashes per session) it is possible to have greater than 100% rate, due to fact that a session may contain multiple crashes.
32+
3133
[role="screenshot"]
3234
image::apm/images/mobile-location.png[mobile service overview centered on location map]
3335

Diff for: mobile-session-explorer.asciidoc

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
[role="xpack]
2+
[[mobile-session-explorer]]
3+
=== Exploring mobile sessions with Discover
4+
Elastic Mobile APM provides session tracking by attaching a `session.id`, a guid, to every span and event.
5+
This allows for the recall of the activities of a specific user during a specific period of time. The best way recall
6+
these data points is using the xref:document-explorer[Discover document explorer]. This guide will explain how to do that.
7+
8+
=== Viewing sessions with Discover
9+
10+
The first step is to find the relevant `session.id`. In this example, we'll walk through investigating a crash.
11+
Since all events and spans have `session.id` attributes, a crash is no different.
12+
13+
The steps to follow are:
14+
15+
* copy the `session.id` from the relevant document.
16+
* Open the Discover page.
17+
* Select the appropriate data view (use `APM` to search all datastreams)
18+
* set filter to the copied `session.id`
19+
20+
Here we can see the `session.id` guid in the metadata viewer in the error detail view:
21+
[role="screenshot"]
22+
image::images/mobile-session-error-details.png[Example of session.id in error details]
23+
24+
Copy this value and open the Discover page:
25+
26+
[role="screenshot"]
27+
image::images/mobile-session-explorer-nav.png[Example view of navigation to Discover]
28+
29+
30+
set the data view. `APM` selected in the example:
31+
32+
[role="screenshot"]
33+
image::images/mobile-session-explorer-apm.png[Example view of Explorer selecting APM data view]
34+
35+
filter using the `session.id`: `session.id: "<copied session id guid>"`:
36+
37+
[role="screenshot"]
38+
image::images/mobile-session-filter-discover.png[Filter Explor using session.id]
39+
40+
explore all the documents associated with that session id including crashes, lifecycle events, network requests, errors, and other custom events!
41+
42+
43+

0 commit comments

Comments
 (0)