Package

org.http4s.metrics

dropwizard

Permalink

package dropwizard

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

Value Members

  1. object Dropwizard

    Permalink

    MetricsOps algebra capable of recording Dropwizard metrics

    MetricsOps algebra capable of recording Dropwizard metrics

    For example, the following code would wrap a org.http4s.HttpRoutes with a org.http4s.server.middleware.Metrics that records metrics to a given metric registry.

    import org.http4s.client.middleware.Metrics
    import org.http4s.client.dropwizard.Dropwizard
    
    val meteredRoutes = Metrics[IO](Dropwizard(registry, "server"))(testRoutes)

    Analogously, the following code would wrap a org.http4s.client.Client with a org.http4s.client.middleware.Metrics that records metrics to a given Metric Registry, classifying the metrics by HTTP method.

    import org.http4s.client.metrics.core.Metrics
    import org.http4s.client.metrics.dropwizard.Dropwizard
    
    val classifierFunc = (r: Request[IO]) => Some(r.method.toString.toLowerCase)
    val meteredClient = Metrics(Dropwizard(registry, "client"), classifierFunc)(client)

    Registers the following metrics:

    {prefix}.{classifier}.active.requests - Counter {prefix}.{classifier}.requests.headers - Timer {prefix}.{classifier}.requests.total - Timer {prefix}.{classifier}.get-requests - Timer {prefix}.{classifier}.post-requests - Timer {prefix}.{classifier}.put-requests - Timer {prefix}.{classifier}.head-requests - Timer {prefix}.{classifier}.move-requests - Timer {prefix}.{classifier}.options-requests - Timer {prefix}.{classifier}.trace-requests - Timer {prefix}.{classifier}.connect-requests - Timer {prefix}.{classifier}.delete-requests - Timer {prefix}.{classifier}.other-requests - Timer {prefix}.{classifier}.1xx-responses - Timer {prefix}.{classifier}.2xx-responses - Timer {prefix}.{classifier}.3xx-responses - Timer {prefix}.{classifier}.4xx-responses - Timer {prefix}.{classifier}.5xx-responses - Timer {prefix}.{classifier}.errors - Timer {prefix}.{classifier}.timeouts - Timer {prefix}.{classifier}.abnormal-terminations - Timer

  2. def metricRegistryEncoder[F[_]](mapper: ObjectMapper = defaultMapper)(implicit arg0: Applicative[F]): EntityEncoder[F, MetricRegistry]

    Permalink

    Encodes a metric registry in JSON format

  3. def metricsResponse[F[_]](registry: MetricRegistry, mapper: ObjectMapper = defaultMapper)(implicit arg0: Applicative[F]): F[Response[F]]

    Permalink

    Returns an OK response with a JSON dump of a MetricRegistry

  4. def metricsService[F[_]](registry: MetricRegistry, mapper: ObjectMapper = defaultMapper)(implicit arg0: Sync[F]): HttpRoutes[F]

    Permalink

    Returns an OK response with a JSON dump of a MetricRegistry

Inherited from AnyRef

Inherited from Any

Ungrouped