Span represents a logical unit of work as part of a broader Trace. Examples of span might include remote procedure calls or a in-process function calls to sub-components. A Trace has a single, top-level "root" Span that in turn may have zero or more child Spans, which in turn may have children.
Causally links another span to the current span
The context of the span to link to.
An optional key value pair of arbitrary values.
Adds the given key value pairs to the set of span tags.
Multiple calls to addTags() results in the tags being the superset of all calls.
The behavior of setting the same key multiple times on the same span is undefined.
The supported type of the values is implementation-dependent. Implementations are expected to safely handle all types of values but may choose to ignore unrecognized / unhandle-able values (e.g. objects with cyclic references, function objects).
Sets the end timestamp and finalizes Span state.
With the exception of calls to Span.context() (which are always allowed), finish() must be the last call made to any span instance, and to do otherwise leads to undefined behavior.
Optional finish time in milliseconds as a Unix timestamp. Decimal
values are supported for timestamps with sub-millisecond accuracy.
If not specified, the current time (as defined by the
implementation) will be used.
Returns the value for a baggage item given its key.
The key for the given trace attribute.
String value for the given key, or undefined if the key does not
correspond to a set trace attribute.
Add a log record to this Span, optionally at a user-provided timestamp.
size: rpc.size(), // numeric value
URI: rpc.URI(), // string value
payload: rpc.payload(), // Object value
"keys can be arbitrary strings": rpc.foo(),
An object mapping string keys to arbitrary value types. All
Tracer implementations should support bool, string, and numeric
value types, and some may also support Object values.
An optional parameter specifying the timestamp in milliseconds
since the Unix epoch. Fractional values are allowed so that
timestamps with sub-millisecond accuracy can be represented. If
not specified, the implementation is expected to use its notion
of the current time of the call.
Sets a key:value pair on this Span that also propagates to future children of the associated Span.
setBaggageItem() enables powerful functionality given a full-stack opentracing integration (e.g., arbitrary application data from a web client can make it, transparently, all the way into the depths of a storage system), and with it some powerful costs: use this feature with care.
IMPORTANT NOTE #1: setBaggageItem() will only propagate baggage items to future causal descendants of the associated Span.
IMPORTANT NOTE #2: Use this thoughtfully and with care. Every key and value is copied into every local and remote child of the associated Span, and that can add up to a lot of network and cpu overhead.
Sets the string name for the logical operation this span represents.
Adds a single tag to the span. See
addTags() for details.
Returns the Tracer object used to create this Span.
Generated using TypeDoc