32 lines
1.7 KiB
Text
32 lines
1.7 KiB
Text
[role="xpack"]
|
|
[[dependencies]]
|
|
=== Dependencies
|
|
|
|
APM agents collect details about external calls made from instrumented services.
|
|
Sometimes, these external calls resolve into a downstream service that's instrumented -- in these cases,
|
|
you can utilize <<distributed-tracing,distributed tracing>> to drill down into problematic downstream services.
|
|
Other times, though, it's not possible to instrument a downstream dependency --
|
|
like with a database or third-party service.
|
|
**Dependencies** gives you a window into these uninstrumented, downstream dependencies.
|
|
|
|
[role="screenshot"]
|
|
image::apm/images/dependencies.png[Dependencies view in the APM app in Kibana]
|
|
|
|
Many application issues are caused by slow or unresponsive downstream dependencies.
|
|
And because a single, slow dependency can significantly impact the end-user experience,
|
|
it's important to be able to quickly identify these problems and determine the root cause.
|
|
|
|
Select a dependency to see detailed latency, throughput, and failed transaction rate metrics.
|
|
|
|
[role="screenshot"]
|
|
image::apm/images/dependencies-drilldown.png[Dependencies drilldown view in the APM app in Kibana]
|
|
|
|
When viewing a dependency, consider your pattern of usage with that dependency.
|
|
If your usage pattern _hasn't_ increased or decreased,
|
|
but the experience has been negatively effected -- either with an increase in latency or errors,
|
|
there's likely a problem with the dependency that needs to be addressed.
|
|
|
|
If your usage pattern _has_ changed, the dependency view can quickly show you whether
|
|
that pattern change exists in all upstream services, or just a subset of your services.
|
|
You might then start digging into traces coming from
|
|
impacted services to determine why that pattern change has occurred.
|