You are browsing documentation for an outdated version. See the latest documentation here.
kong.tracing
Tracer module Application-level tracing for Kong.
span:finish(end_time_ns)
Ends a Span Set the end time and release the span, the span table MUST not being used after ended.
Parameters
- end_time_ns (
number|nil
):
Usage
span:finish()
local time = ngx.now()
span:finish(time * 100000000)
span:set_attribute(key, value)
Set an attribute to a Span
Parameters
- key (
string
): - value (
string|number|boolean
):
Usage
span:set_attribute("net.transport", "ip_tcp")
span:set_attribute("net.peer.port", 443)
span:set_attribute("exception.escaped", true)
span:add_event(name, attributes, time_ns)
Adds an event to a Span
Parameters
- name (
string
): Event name - attributes (
table|nil
): Event attributes - time_ns (
number|nil
): Event timestamp
span:record_error(err)
Adds an error event to a Span
Parameters
- err (
string
): error string
span:set_status(status)
Adds an error event to a Span Status codes:
0
unset1
ok2
error
Parameters
- status (
number
): status code
kong.tracing.new_span()
Get the active span Returns the root span by default
Phases
- rewrite, access, header_filter, response, body_filter, log, admin_api
Returns
table
: span
kong.tracing.new_span(span)
Set the active span
Phases
- rewrite, access, header_filter, response, body_filter, log, admin_api
Parameters
- span (
table
):
kong.tracing.new_span(name, options)
Create a new Span
Phases
- rewrite, access, header_filter, response, body_filter, log, admin_api
Parameters
- name (
string
): span name - options (
table
): TODO(mayo)
Returns
table
: span
kong.tracing.process_span(processor)
Batch process spans Please note that socket is not available in the log phase, use ngx.timer.at
instead
Phases
- log
Parameters
- processor (
function
): a function that accecpt a span as the parameter