Trait/Object

kamon.instrumentation.http

HttpServerInstrumentation

Related Docs: object HttpServerInstrumentation | package http

Permalink

trait HttpServerInstrumentation extends AnyRef

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpServerInstrumentation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def connectionClosed(lifetime: Duration, handledRequests: Long): Unit

    Permalink

    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.

  2. abstract def connectionOpened(): Unit

    Permalink

    Signals that a new HTTP connection has been opened.

  3. abstract def createHandler(request: Request, deferSamplingDecision: Boolean): RequestHandler

    Permalink

    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.

  4. abstract def interface(): String

    Permalink

    Returns the interface on which the HTTP Server is listening.

  5. abstract def port(): Int

    Permalink

    Returns the port on which the HTTP server is listening.

  6. abstract def settings: Settings

    Permalink

    Returns the Settings used to determine the behavior of the HTTP Server Instrumentation.

  7. abstract def shutdown(): Unit

    Permalink

    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.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def connectionClosed(handledRequests: Long): Unit

    Permalink

    Signals that a HTTP connection has been closed and reports how many requests were handled by that connection.

  7. def connectionClosed(lifetime: Duration): Unit

    Permalink

    Signals that a HTTP connection has been closed and reports for how long was that connection open.

  8. def connectionClosed(): Unit

    Permalink

    Signals that a HTTP connection has been closed.

  9. def createHandler(request: Request): RequestHandler

    Permalink

    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).

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped