io.pedestal.interceptor.trace

default-span-postprocess

(default-span-postprocess context span)

default-span-resolver

(default-span-resolver context)(default-span-resolver context servlet-class)

tracing-interceptor

(tracing-interceptor)(tracing-interceptor opts)
Return an Interceptor for automatically initiating a distributed trace
span on every request, which is finished on `leave`.

Spans are automatically populated with relevant
tags: http.method, http.status_code, http.uril, span.kind

If on `leave` there is an `:error` in the context, this interceptor with
log the error with the span.

Possible options:
 :span-resolver - a single-arg function that is given the context and
                  returns a started and activated span, resolving any propagated or parent span.
                  The default resolver is `io.pedestal.interceptor.trace.ot-span-resolver`
                  which resolves (in order; first resolution wins):
                  1. Pedestal tracing values in the Context
                  2. OpenTracing Servlet values (if the Servlet API class is detected)
                  3. OpenTracing Header values
                  4. Nothing found - A new span is created
 :trace-filter - a single-arg function that is given the context and
                 returns true if a span should be created for this request.
                 If not set or set to nil, spans are created for every request
 :uri-as-span-operation? - Boolean; True if the request URI should be used as the default span name - defaults to true
 :default-span-operation - A string or keyword to use as the default span name if URI isn't found or :uri-as-span-operation? is false.
                           Defaults to 'PedestalSpan'
 :span-postprocess - A function given the context and the span,
                     performs any necessary span cleanup tasks
                     and returns the context

If the trace-filter or the span-resolver return something falsey, the context is forwarded without
an active span