Delayed

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:

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.

class Span
trait Operation
class Object
trait Matchable
class Any
object Empty.type
class Local

Value members

Abstract methods

Disables tracking of the span.elapsed-time and span.wait-time metrics for this Span.

Disables tracking of the span.elapsed-time and span.wait-time metrics for this Span.

def start(): Delayed

Signals that the operation represented by this Span started processing.

Signals that the operation represented by this Span started processing.

def start(at: Instant): Delayed

Signals that the operation represented by this Span started processing at the provided instant.

Signals that the operation represented by this Span started processing at the provided instant.

Enables tracking of the span.elapsed-time and span.wait-time metrics for this Span. Note that these metrics will not be recorded if metrics tracking has been disabled on the Span.

Enables tracking of the span.elapsed-time and span.wait-time metrics for this Span. Note that these metrics will not be recorded if metrics tracking has been disabled on the Span.

Inherited methods

Disables tracking of metrics for this Span.

Disables tracking of metrics for this Span.

Inherited from:
Span
def fail(errorMessage: String, cause: Throwable): Span

Marks the operation represented by this Span as failed and adds the provided message as a Span tag using the "error.message" key and optionally adds the "error.stacktrace" Span tag with the stack trace from the provided throwable. See the "kamon.trace.include-error-stacktrace" setting for more information.

Marks the operation represented by this Span as failed and adds the provided message as a Span tag using the "error.message" key and optionally adds the "error.stacktrace" Span tag with the stack trace from the provided throwable. See the "kamon.trace.include-error-stacktrace" setting for more information.

Inherited from:
Span
def fail(cause: Throwable): Span

Marks the operation represented by this Span as failed and optionally adds the "error.stacktrace" Span tag with the stack trace from the provided throwable. See the "kamon.trace.include-error-stacktrace" setting for more information.

Marks the operation represented by this Span as failed and optionally adds the "error.stacktrace" Span tag with the stack trace from the provided throwable. See the "kamon.trace.include-error-stacktrace" setting for more information.

Inherited from:
Span
def fail(errorMessage: String): Span

Marks the operation represented by this Span as failed and adds the provided message as a Span tag using the "error.message" key.

Marks the operation represented by this Span as failed and adds the provided message as a Span tag using the "error.message" key.

Inherited from:
Span
def finish(at: Instant): Unit

Finishes this Span using the provided finish instant. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Finishes this Span using the provided finish instant. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Inherited from:
Span
def finish(): Unit

Finishes this Span. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Finishes this Span. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Inherited from:
Span
def finishAfter(duration: Duration): Unit

Finishes this Span using the provided duration. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Finishes this Span using the provided duration. Even though it is possible to call any of the methods that modify/write information on the Span, once it is finished no further changes are taken into account.

Inherited from:
Span

Uniquely identifies this Span within the Trace.

Uniquely identifies this Span within the Trace.

Inherited from:
Span
def isEmpty: Boolean

Returns true if this Span is a placeholder because no Span information is available.

Returns true if this Span is a placeholder because no Span information is available.

Inherited from:
Span
def isRemote: Boolean

Returns true if this Span was initially created in another process and then transferred to this process.

Returns true if this Span was initially created in another process and then transferred to this process.

Inherited from:
Span
def kind: Kind

Returns the kind of operation represented by this Span.

Returns the kind of operation represented by this Span.

Inherited from:
Span
def mark(key: String, at: Instant): Span

Adds a new mark with the provided key and instant.

Adds a new mark with the provided key and instant.

Inherited from:
Span
def mark(key: String): Span

Adds a new mark with the provided key using the current instant from Kamon's clock.

Adds a new mark with the provided key using the current instant from Kamon's clock.

Inherited from:
Span
def name(name: String): Span

Changes the operation name on this Span. Even though it is possible (and sometimes necessary) to change the operation name in a Span, take into account that the operation name might be captured by child Spans when parent operation scoping is enabled and any updates done after the child spans read the operation name will not be reflected on the "parentOperation" tag.

Changes the operation name on this Span. Even though it is possible (and sometimes necessary) to change the operation name in a Span, take into account that the operation name might be captured by child Spans when parent operation scoping is enabled and any updates done after the child spans read the operation name will not be reflected on the "parentOperation" tag.

Inherited from:
Span
def operationName(): String

Returns the current operation name for this Span.

Returns the current operation name for this Span.

Inherited from:
Span

Identifier for the parent of this this Span, if any. If a Span has no parent (e.g. it is the first Span in the trace) then an empty identifier is returned.

Identifier for the parent of this this Span, if any. If a Span has no parent (e.g. it is the first Span in the trace) then an empty identifier is returned.

Inherited from:
Span

Returns the position of this Span in the trace to which it belongs.

Returns the position of this Span in the trace to which it belongs.

Inherited from:
Span
def tag(tags: TagSet): Span

Adds all key/value pairs in the provided tags to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Adds all key/value pairs in the provided tags to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tag(key: String, value: Boolean): Span

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tag(key: String, value: Long): Span

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tag(key: String, value: String): Span

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tagMetrics(tags: TagSet): Span

Adds all key/value pairs in the provided tags to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Adds all key/value pairs in the provided tags to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tagMetrics(key: String, value: Boolean): Span

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tagMetrics(key: String, value: Long): Span

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span
def tagMetrics(key: String, value: String): Span

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Adds the provided key/value pair to the Span metric tags. If a tag with the provided key was already present then its value will be overwritten.

Inherited from:
Span

Makes the Span decide for a Sample or DoNotSample decision for the Trace it belongs to, in case the current that the current Sampling Decision is Unknown. If the Sampling Decision is already taken, calling this method will have no effect on the Span.

Makes the Span decide for a Sample or DoNotSample decision for the Trace it belongs to, in case the current that the current Sampling Decision is Unknown. If the Sampling Decision is already taken, calling this method will have no effect on the Span.

Inherited from:
Span

Trace to which this Span belongs.

Trace to which this Span belongs.

Inherited from:
Span

Enables tracking of metrics for this Span. For a plain Span, this means that the span.processing-time metric will be tracked and for a Delayed Span, the span.elapsed-time and span.wait-time metrics will be tracked as well.

Enables tracking of metrics for this Span. For a plain Span, this means that the span.processing-time metric will be tracked and for a Delayed Span, the span.elapsed-time and span.wait-time metrics will be tracked as well.

Inherited from:
Span