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

Members list

Concise view

Value members

Concrete methods

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

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

Put a sequence of fields into this span.

Put a sequence of fields into this span.

Attributes

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

Resource that yields a child span with the given name.

Resource that yields a child span with the given name.

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 productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product