# Packages

Package filters provides a set of filters useful with the othttp.WithFilter() option to control which inbound requests are traced.

# Functions

NewHandler wraps the passed handler, functioning like middleware, in a span named after the operation and with any provided HandlerOptions.
WithFilter adds a filter to the list of filters used by the handler.
WithMessageEvents configures the Handler to record the specified events (span.AddEvent) on spans.
WithPropagators configures the Handler with specific propagators.
WithPublicEndpoint configures the Handler to link the span with an incoming span context.
WithRouteTag annotates a span with the provided route name using the RouteKey Tag.
WithSpanNameFormatter takes a function that will be called on every incoming request and the returned string will become the Span Name.
WithSpanOptions configures the Handler with an additional set of trace.StartOptions, which are applied to each new span.
WithTracer configures the Handler with a specific tracer.

# Constants

the HTTP host (http.Request.Host).
the HTTP method (http.Request.Method).
the HTTP path (http.Request.URL.Path).
if anything was read from the request body, the total number of bytes read.
If an error occurred while reading a request, the string of the error (io.EOF is not recorded).
Different types of events that can be recorded, see WithMessageEvents.
the network address of the client that sent the HTTP request (http.Request.RemoteAddr).
the HTTP route (ex: /users/:id).
if set, the HTTP status.
the HTTP URL (http.Request.URL.String()).
the HTTP user agent (http.Request.UserAgent()).
if an error occurred while writing a reply, the string of the error (io.EOF is not recorded).
Different types of events that can be recorded, see WithMessageEvents.
if anything was written to the response writer, the total number of bytes written.

# Structs

Handler is http middleware that corresponds to the http.Handler interface and is designed to wrap a http.Mux (or equivalent), while individual routes on the mux are wrapped with WithRouteTag.

# Type aliases

Filter is a predicate used to determine whether a given http.request should be traced.
Option function used for setting *optional* Handler properties.