trait Tracer[F[_]] extends AnyRef
Tracer acts as an abstraction layer over tracing.
General idea is to create span around fa: F[A]
, evaluate the results of F[A]
and report span to underlying
tracing solution.
Usage:
tracer.trace("fetch_user", "user_id" -> Tag.int(42)) { readFromDB(userId=42) } //the moment `readFromDB` is evaluated, span "fetch_user" is finished
- Alphabetic
- By Inheritance
- Tracer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def trace[A](operationName: String, parent: Option[Context], tags: (String, Tag)*)(fa: F[A]): F[A]
Same as basic
trace
but with explicit optional parent's context.Same as basic
trace
but with explicit optional parent's context. Usually used on the edge of tracing initialization in combination with TraceCarrier- operationName
name of span
- parent
parent context to use
- tags
tags to add to span
- fa
operation to trace
- abstract def trace[A](operationName: String, parent: Span, tags: (String, Tag)*)(fa: F[A]): F[A]
Same as basic
trace
but with explicit parent setSame as basic
trace
but with explicit parent set- operationName
name of span
- parent
parent span to use
- tags
tags to add to span
- fa
operation to trace
- abstract def trace[A](operationName: String, tags: (String, Tag)*)(fa: F[A]): F[A]
Traces evaluation of
fa
.Traces evaluation of
fa
. Implementation might use parent span extracted from context ofF[_]
if it exists.Example of effect that could carry span information:
io.monix.Task
withTaskLocal
,Kleisli
,StateT
- operationName
name of span
- tags
tags to add to span
- fa
operation to trace
- abstract def traceWith[A](operationName: String, parent: Option[Context], tags: (String, Tag)*)(fa: (Span) => F[(Span, A)]): F[A]
Same as basic
traceWith
but with explicit optional parent's context.Same as basic
traceWith
but with explicit optional parent's context. Usually used on the edge of tracing initialization in combination with TraceCarrier- operationName
name of span
- parent
parent context to use
- tags
tags to add to span
- fa
function that accepts span and returns potentially modified one together with evaluation results
- abstract def traceWith[A](operationName: String, parent: Span, tags: (String, Tag)*)(fa: (Span) => F[(Span, A)]): F[A]
Same as basic
traceWith
but with explicit parent setSame as basic
traceWith
but with explicit parent set- operationName
name of span
- parent
parent context to use
- tags
tags to add to span
- fa
function that accepts span and returns potentially modified one together with evaluation results
- abstract def traceWith[A](operationName: String, tags: (String, Tag)*)(fa: (Span) => F[(Span, A)]): F[A]
Traces evaluation of
fa
.Traces evaluation of
fa
. Implementation might use parent span extracted from context ofF[_]
if it exists. It's possible to operate on the span after it was created but before it's committed, i.e. add tags & logs- operationName
name of span
- tags
tags to add to span
- fa
function that accepts span and returns potentially modified one together with evaluation results
Concrete 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()