Span

object Span
Companion:
class
class Object
trait Matchable
class Any
Span.type

Type members

Classlikes

abstract class Delayed extends Span

A Span representing an operation that will not start processing immediately after the Span is created but rather when the start method is called. Additionally to a regular Span, a Delayed Span will automatically track the wait time metric and add a "span.started" mark on the Span when the Start method is called. The three relevant instants when working with Delayed Spans are:

A Span representing an operation that will not start processing immediately after the Span is created but rather when the start method is called. Additionally to a regular Span, a Delayed Span will automatically track the wait time metric and add a "span.started" mark on the Span when the Start method is called. The three relevant instants when working with Delayed Spans are:

Created |=====================| <- Wait Time |====================================================| <- Elapsed Time |==============================| <- Processing Time Started Finished

Unless metrics tracking is disabled, a Delayed Span will track the "span.wait-time" metric with the time between creating and starting the Span, and the "span.elapsed-time" tracking the time between creating and finishing the Span. The "span.processing-time" remains the same, tracking the time between starting and finishing the Span.

object Empty extends Delayed

A immutable, no-op Span that can be used to signal that there is no Span information. An empty Span completely ignores all writes made to it.

A immutable, no-op Span that can be used to signal that there is no Span information. An empty Span completely ignores all writes made to it.

case class Finished(id: Identifier, trace: Trace, parentId: Identifier, operationName: String, hasError: Boolean, wasDelayed: Boolean, from: Instant, to: Instant, kind: Kind, position: Position, tags: TagSet, metricTags: TagSet, marks: Seq[Mark], links: Seq[Link])

Represents a Span that has already been finished and should be exposed to the SpanReporters.

Represents a Span that has already been finished and should be exposed to the SpanReporters.

sealed abstract class Kind

Describes the kind of operation being represented by a Span.

Describes the kind of operation being represented by a Span.

Companion:
object
object Kind
Companion:
class
case class Link(kind: Kind, trace: Trace, spanId: Identifier)

Represents a connection between two different Spans that might belong to different traces.

Represents a connection between two different Spans that might belong to different traces.

Companion:
object
object Link
Companion:
class
final class Local(val id: Identifier, val parentId: Identifier, val trace: Trace, val position: Position, val kind: Kind, localParent: Option[Span], initialOperationName: String, spanTags: Builder, metricTags: Builder, createdAt: Instant, initialMarks: List[Mark], initialLinks: List[Link], initialTrackMetrics: Boolean, tagWithParentOperation: Boolean, includeErrorStacktrace: Boolean, isDelayed: Boolean, clock: Clock, preFinishHooks: Array[PreFinishHook], onFinish: Finished => Unit, sampler: Sampler, scheduler: ScheduledExecutorService, reportingDelay: Duration, localTailSamplerSettings: LocalTailSamplerSettings, includeErrorType: Boolean, ignoredOperations: Set[String], trackMetricsOnIgnoredOperations: Boolean) extends Delayed

A writable Span created on this process and implementing all the capabilities defined by the Span interface.

A writable Span created on this process and implementing all the capabilities defined by the Span interface.

Companion:
object
object Local
Companion:
class
case class Mark(instant: Instant, key: String)

Represents an event that happens at a given instant and is related to a Span. The key is a unique identifier of the type of event being associated.

Represents an event that happens at a given instant and is related to a Span. The key is a unique identifier of the type of event being associated.

object MarkKeys
object Metrics

Metrics tracked by the Span implementation.

Metrics tracked by the Span implementation.

sealed abstract class Position

Describes a Span's position within the trace they belong to.

Describes a Span's position within the trace they belong to.

Companion:
object
object Position
Companion:
class
final case class Remote(id: Identifier, parentId: Identifier, trace: Trace) extends Span

A immutable, no-op Span that holds information from a Span that was initially created in another process and then transferred to this process. This is the minimal representation of a Span that gets transferred through Context propagation channels. A remote Span completely ignores all writes made to it.

A immutable, no-op Span that holds information from a Span that was initially created in another process and then transferred to this process. This is the minimal representation of a Span that gets transferred through Context propagation channels. A remote Span completely ignores all writes made to it.

object TagKeys

Tag keys used by the implementations to record Span and metric tags.

Tag keys used by the implementations to record Span and metric tags.

Value members

Concrete fields

val Key: Key[Span]

Key used to store and retrieve Span instances from the Context

Key used to store and retrieve Span instances from the Context