DatadogSpan

com.ovoenergy.natchez.extras.datadog.DatadogSpan
See theDatadogSpan companion object
case class DatadogSpan[F[_]](names: SpanNames, ids: Ref[F, SpanIdentifiers], start: Long, queue: Queue[F, SubmittableSpan], meta: Ref[F, Map[String, TraceValue]])(implicit evidence$1: Async[F]) extends Span[F]

Models an in-progress span we'll eventually send to Datadog. We have a trace token as well as a trace ID because Datadog mandates that trace IDs are numeric while we interact with systems that provide non numeric trace tokens

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Span[F]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def attachError(err: Throwable, fields: (String, TraceValue)*): F[Unit]

Adds error information to this span.

Adds error information to this span.

Attributes

Definition Classes
Span
def kernel: F[Kernel]

The kernel for this span, which can be sent as headers to remote systems, which can then continue this trace by constructing spans that are children of this one.

The kernel for this span, which can be sent as headers to remote systems, which can then continue this trace by constructing spans that are children of this one.

Attributes

override def log(event: String): F[Unit]

Logs a single event on this span.

Logs a single event on this span.

Attributes

Definition Classes
Span
override def log(fields: (String, TraceValue)*): F[Unit]

Logs a sequence of fields on this span.

Logs a sequence of fields on this span.

Attributes

Definition Classes
Span
def put(fields: (String, TraceValue)*): F[Unit]

Puts a sequence of fields into this span.

Puts a sequence of fields into this span.

Attributes

def span(name: String, options: Options): Resource[F, Span[F]]

Resource that yields a child span of this span.

Resource that yields a child span of this span.

Attributes

def spanId: F[Option[String]]

A unique ID for this span, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

A unique ID for this span, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

Attributes

def traceId: F[Option[String]]

A unique ID for the trace of this span, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

A unique ID for the trace of this span, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

Attributes

def traceUri: F[Option[URI]]

A unique URI for this trace, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

A unique URI for this trace, if available. This can be useful to include in error messages for example, so you can quickly find the associated trace.

Attributes

def updateTraceToken(fields: Map[String, TraceValue]): F[Unit]

Inherited methods

def mapK[G[_]](f: FunctionK[F, G])(implicit F: MonadCancel[F, _], G: MonadCancel[G, _]): Span[G]

Converts this Span[F] to a Span[G] using a F ~> G.

Converts this Span[F] to a Span[G] using a F ~> G.

Attributes

Inherited from:
Span
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product