org.http4s.server.HttpMiddleware that either tries to get a Trace-Id from the headers or otherwise
creates one with a unique Time-based UUID value, adds it to the headers and logs the http request and
http response with it.
org.http4s.server.HttpMiddleware that either tries to get a Trace-Id from the headers or otherwise
creates one with a unique Time-based UUID value, adds it to the headers and logs the http request and
http response with it.
Quite useful to trace the flow of each request. For example:
org.http4s.server.HttpMiddleware
that either tries to get a Trace-Id from the headers or otherwise creates one with a unique Time-based UUID value, adds it to the headers and logs the http request and http response with it.Quite useful to trace the flow of each request. For example:
TraceId(72b079c8-fc92-4c4f-aa5a-c0cd91ea221c) >> Request(method=GET, uri=/users, ...) TraceId(72b079c8-fc92-4c4f-aa5a-c0cd91ea221c) >> UserAlgebra requesting users TraceId(72b079c8-fc92-4c4f-aa5a-c0cd91ea221c) >> UserRepository fetching users from DB TraceId(72b079c8-fc92-4c4f-aa5a-c0cd91ea221c) >> MetricsService saving users metrics TraceId(72b079c8-fc92-4c4f-aa5a-c0cd91ea221c) >> Response(status=200, ...)
In a normal application, you will have thousands of requests and tracing the call chain in a failure scenario will be invaluable.