Signals that a HTTP connection has been closed and reports for how long was that connection open and how many requests were handled through it.
Signals that a new HTTP connection has been opened.
Initiates handling of a HTTP request received by the server.
Initiates handling of a HTTP request received by the server. The returned RequestHandler contains the Span that represents the processing of the incoming HTTP request (if tracing is enabled) and the Context extracted from HTTP headers (if context propagation is enabled). It is possible to defer the sampling decision to a later processing stage in case it was necessary, since in many HTTP servers the automatic instrumentation will try to start Spans as early as possible to express times closer to what users will experience, but information like the operation name that might be useful for taking a sampling decision is not available until reaching user code. When the sampling decision is deferred, the returned Span will have an Unknown sampling decision and the instrumentation or user code must call Span.takeSamplingDecision() on the Span.
Returns the interface on which the HTTP Server is listening.
Returns the port on which the HTTP server is listening.
Returns the Settings used to determine the behavior of the HTTP Server Instrumentation.
Frees resources that might have been acquired to provide the instrumentation.
Frees resources that might have been acquired to provide the instrumentation. Behavior on HttpServer instances after calling this function is undefined.
Signals that a HTTP connection has been closed and reports how many requests were handled by that connection.
Signals that a HTTP connection has been closed and reports for how long was that connection open.
Signals that a HTTP connection has been closed.
Initiates handling of a HTTP request received by the server.
Initiates handling of a HTTP request received by the server. The returned RequestHandler contains the Span that represents the processing of the incoming HTTP request (if tracing is enabled) and the Context extracted from HTTP headers (if context propagation is enabled).
HTTP Server instrumentation handler that takes care of context propagation, distributed tracing and HTTP server metrics. Instances can be created by using the
HttpServerInstrumentation.from
method with the desired configuration. When any setting is missing on the provided configuration, it will be read from the default settings found at "kamon.instrumentation.http-server.default".The default implementation shipping with Kamon provides:
* Context Propagation: Automatically transfers Context entries and tags using HTTP headers. Context propagation is further used to enable distributed tracing on top of any instrumented HTTP Server.
* Distributed Tracing: Automatically join traces initiated by the callers of this service and apply span and metric tags from the incoming requests as well as from the incoming context tags.
* Server Metrics: Basic request processing metrics to understand connection usage, throughput and response code counts in the HTTP server.