- kong.tracing
- span:finish(end_time_ns)
- span:set_attribute(key, value)
- span:add_event(name, attributes, time_ns)
- span:record_error(err)
- span:set_status(status)
- kong.tracing.active_span()
- kong.tracing.set_active_span(span)
- kong.tracing.start_span(name, options)
- kong.tracing.process_span(processor)
- kong.tracing:set_should_sample(should_sample)
- kong.tracing:get_sampling_decision(parent_should_sample, sampling_rate)
You are browsing documentation for an older 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|nil
):
Usage
span:set_attribute("net.transport", "ip_tcp")
span:set_attribute("net.peer.port", 443)
span:set_attribute("exception.escaped", true)
span:set_attribute("unset.this", nil)
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.active_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.set_active_span(span)
Set the active span
Phases
- rewrite, access, header_filter, response, body_filter, log, admin_api
Parameters
- span (
table
):
kong.tracing.start_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 accept a span as the parameter
kong.tracing:set_should_sample(should_sample)
Update the value of should_sample for all spans
Parameters
- should_sample (
bool
): value for the sample parameter
kong.tracing:get_sampling_decision(parent_should_sample, sampling_rate)
Get the sampling decision result
Uses a parent-based sampler when the parent has sampled flag == false to inherit the non-recording decision from the parent span, or when trace_id is not available.
Else, apply the probability-based should_sample decision.
Parameters
- parent_should_sample (
bool
): value of the parent span sampled flag extracted from the incoming tracing headers - sampling_rate (
number
): the sampling rate to apply for the probability sampler
Returns
bool
: sampled value of sampled for this trace