Span API
editSpan API
editA span measures the duration of a single event.
To get a Span object,
you need to call apm.startSpan().
To see an example of using custom spans, see the Custom Spans in Node.js article.
span.transaction
edit- Type: Transaction
A reference to the parent transaction object.
All spans belong to a transaction.
span.name
edit- Type: String
-
Default:
unnamed
The name of the span.
This can also be set via apm.startSpan().
span.type
edit- Type: String
-
Default:
custom
The type of span.
This can also be set via apm.startSpan().
The type is a hierarchical string used to group similar spans together.
For instance,
all spans of MySQL queries are given the type db.mysql.query.
In the above example, db is considered the type prefix.
Though there are no naming restrictions for this prefix,
the following are standardized across all Elastic APM agents:
app, db, cache, template, and ext.
span.start()
editDeprecated in 1.1.0.
Span started automatically by apm.startSpan([name][, type])
span.start([name][, type])
Start a span.
Arguments:
When a span is started it will measure the time until span.end() or span.truncate() is called.
span.end()
editspan.end()
End the span. If the span has already ended, nothing happens.
A span that isn’t ended before the parent transaction ends will be truncated.
span.truncate()
editspan.truncate()
Truncates and ends the span. If the span is already ended or truncated, nothing happens.
A truncated span is a special type of ended span. It’s used to indicate that the measured event took longer than the duration recorded by the span.