Tracing is automatically enabled for all HTTP requests. You can view the trace
endpoint
and obtain basic information about the last 100 requests:
[{ "timestamp": 1394343677415, "info": { "method": "GET", "path": "/trace", "headers": { "request": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Connection": "keep-alive", "Accept-Encoding": "gzip, deflate", "User-Agent": "Mozilla/5.0 Gecko/Firefox", "Accept-Language": "en-US,en;q=0.5", "Cookie": "_ga=GA1.1.827067509.1390890128; ..." "Authorization": "Basic ...", "Host": "localhost:8080" }, "response": { "Strict-Transport-Security": "max-age=31536000 ; includeSubDomains", "X-Application-Context": "application:8080", "Content-Type": "application/json;charset=UTF-8", "status": "200" } } } },{ "timestamp": 1394343684465, ... }]
The following are included in the trace by default:
Name | Description |
---|---|
Request Headers | Headers from the request. |
Response Headers | Headers from the response. |
Cookies |
|
Errors | The error attributes (if any). |
Time Taken | The time taken to service the request in milliseconds. |
If you need to trace additional events you can inject a
TraceRepository
into your
Spring beans. The add
method accepts a single Map
structure that will be converted to
JSON and logged.
By default an InMemoryTraceRepository
will be used that stores the last 100 events. You
can define your own instance of the InMemoryTraceRepository
bean if you need to expand
the capacity. You can also create your own alternative TraceRepository
implementation
if needed.