# How to use distributed tracing

**URL:** <https://discuss.elastic.co/t/how-to-use-distributed-tracing/196325>\
**Category:** APM\
**Tags:** java\
**Created:** [August 22, 2019, 12:48pm UTC](https://discuss.elastic.co/t/how-to-use-distributed-tracing/196325 "2019-08-22T12:48:38Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [August 22, 2019, 2:20pm UTC](https://discuss.elastic.co/t/how-to-use-distributed-tracing/196325/4 "2019-08-22T14:20:44Z")

</div>

For HTTP, distributed tracing works by injecting a header on the client side and reading it on the server side. This means the basic requirement is that you have an agent installed on both sides of the communication.

If you are using supported stuff, it should work automatically without requiring any configuration.

Is your HTTP client listed [among our supported clients](https://www.elastic.co/guide/en/apm/agent/java/current/supported-technologies-details.html#supported-networking-frameworks)? If so, and you don't get that working, we need to see why, so you will need to provide more info, like agent logs where [`log_level`](https://www.elastic.co/guide/en/apm/agent/java/current/config-logging.html#config-log-level) is set to `DEBUG` or `TRACE`.

If you are not using supported technologies, you can use [our Public API](https://www.elastic.co/guide/en/apm/agent/java/current/public-api.html). Look for similar topics in the forum, [like this one](https://discuss.elastic.co/t/how-to-use-injecttraceheaders/189451).

Good luck.

---

_[View the full topic](https://discuss.elastic.co/t/how-to-use-distributed-tracing/196325)._
