object Tracer extends StringSyntax
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.
- Alphabetic
- By Inheritance
- Tracer
- StringSyntax
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[F[_]](implicit ev: Tracer[F]): Tracer[F]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def create[F[_]](headerName: String = DefaultTraceIdHeader): Tracer[F]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
implicit
def
http4sStringSyntax(s: String): StringOps
- Definition Classes
- StringSyntax
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()