Packages

object Metrics

Client middleware to record metrics for the http4s client.

This middleware will record: - Number of active requests - Time duration to receive the response headers - Time duration to process the whole response body - Time duration of errors, timeouts and other abnormal terminations

This middleware can be extended to support any metrics ecosystem by implementing the org.http4s.metrics.MetricsOps type

Source
Metrics.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Metrics
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply[F[_]](ops: MetricsOps[F], classifierF: (Request[F]) ⇒ Option[String] = (_: Request[F]) =>
    None
    )
    (client: Client[F])(implicit F: Clock[F], C: Concurrent[F]): Client[F]

    Wraps a Client with a middleware capable of recording metrics

    Wraps a Client with a middleware capable of recording metrics

    ops

    a algebra describing the metrics operations

    classifierF

    a function that allows to add a classifier that can be customized per request

    client

    the Client to gather metrics from

    returns

    the metrics middleware wrapping the Client

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. def effect[F[_]](ops: MetricsOps[F], classifierF: (Request[F]) ⇒ F[Option[String]])(client: Client[F])(implicit F: Clock[F], C: Concurrent[F]): Client[F]

    Wraps a Client with a middleware capable of recording metrics

    Wraps a Client with a middleware capable of recording metrics

    Same as apply, but can classify requests effectually, e.g. performing side-effects or examining the body. Failed attempt to classify the request (e.g. failing with F.raiseError) leads to not recording metrics for that request.

    ops

    a algebra describing the metrics operations

    classifierF

    a function that allows to add a classifier that can be customized per request

    client

    the Client to gather metrics from

    returns

    the metrics middleware wrapping the Client

    Note

    Compiling the request body in classifierF is unsafe, unless you are using some caching middleware.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped