==== Request tracing

You can trace individual requests made on the HTTP and transport layers.

WARNING: Tracing can generate extremely high log volumes that can destabilize
your cluster. Do not enable request tracing on busy or important clusters.

[[http-rest-request-tracer]]
===== REST request tracer

The HTTP layer has a dedicated tracer that logs incoming requests and the
corresponding outgoing responses. Activate the tracer by setting the level of
the `org.elasticsearch.http.HttpTracer` logger to `TRACE`:

[source,console]
--------------------------------------------------
PUT _cluster/settings
{
   "persistent" : {
      "logger.org.elasticsearch.http.HttpTracer" : "TRACE"
   }
}
--------------------------------------------------

You can also control which URIs will be traced, using a set of include and
exclude wildcard patterns. By default every request will be traced.

[source,console]
--------------------------------------------------
PUT _cluster/settings
{
   "persistent" : {
      "http.tracer.include" : "*",
      "http.tracer.exclude" : ""
   }
}
--------------------------------------------------

[[transport-tracer]]
===== Transport tracer

The transport layer has a dedicated tracer that logs incoming and outgoing
requests and responses. Activate the tracer by setting the level of the
`org.elasticsearch.transport.TransportService.tracer` logger to `TRACE`:

[source,console]
--------------------------------------------------
PUT _cluster/settings
{
   "persistent" : {
      "logger.org.elasticsearch.transport.TransportService.tracer" : "TRACE"
   }
}
--------------------------------------------------

You can also control which actions will be traced, using a set of include and
exclude wildcard patterns. By default every request will be traced except for
fault detection pings:

[source,console]
--------------------------------------------------
PUT _cluster/settings
{
   "persistent" : {
      "transport.tracer.include" : "*",
      "transport.tracer.exclude" : "internal:coordination/fault_detection/*"
   }
}
--------------------------------------------------
