* docs: initial APM UI updates * docs: using-the-apm-ui updates * more docs updates * quick edits * docs: apply feedback and fix screenshots * docs: incorporate feedback, bold page names * finishing touches and clean up * docs: incorporate feedback from sarah * docs: add feedback * docs: incorporate feedback from gchaps
25 lines
1.8 KiB
Text
25 lines
1.8 KiB
Text
[role="xpack"]
|
||
[[apm-bottlenecks]]
|
||
== Visualizing Application Bottlenecks
|
||
|
||
Elastic APM captures different types of information from within instrumented applications:
|
||
|
||
* {apm-overview-ref-v}/transaction-spans.html[*Spans*] contain information about a specific code path that has been executed.
|
||
They measure from the start to end of an activity,
|
||
and they can have a parent/child relationship with other spans.
|
||
* {apm-overview-ref-v}/transactions.html[*Transactions*] are a special kind of span that have extra metadata associated with them.
|
||
You can think of transactions as the highest level of work you’re measuring within a service.
|
||
As an example, a transaction could be a request to your server, a batch job, or a custom transaction type.
|
||
* {apm-overview-ref-v}/errors.html[*Errors*] contain information about the original exception that occurred or about a log created when the exception occurred.
|
||
|
||
Each of these information types have a specific page associated with them in the APM UI.
|
||
These various pages display the captured data in curated charts and tables that allow you to easily compare and debug your applications.
|
||
|
||
For example, you can see information about response times, requests per minute, and status codes per endpoint.
|
||
You can even dive into a specific request sample and get a complete waterfall view of what your application is spending its time on.
|
||
You might see that your bottlenecks are in database queries, cache calls, or external requests.
|
||
For each incoming request and each application error,
|
||
you can also see contextual information such as the request header, user information,
|
||
system values, or custom data that you manually attached to the request.
|
||
|
||
Having access to application-level insights with just a few clicks can drastically decrease the time you spend debugging errors, slow response times, and crashes.
|