PrometheusMetrics

Companion:
class
trait Product
trait Mirror
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def default[F[_]](namespace: String, registry: CollectorRegistry, labels: MetricLabels): PrometheusMetrics[F]

Using the default namespace and labels, registers the following metrics:

Using the default namespace and labels, registers the following metrics:

  • $namespace_request_active{path, method} (gauge)
  • $namespace_request_total{path, method, status} (counter)
  • $namespace_request_duration_seconds{path, method, status, phase} (histogram)

Status is by default the status code class (1xx, 2xx, etc.), and phase can be either headers or body - request duration is measured separately up to the point where the headers are determined, and then once again when the whole response body is complete.

def requestActive[F[_]](registry: CollectorRegistry, namespace: String, labels: MetricLabels): Metric[F, Gauge]
def requestDuration[F[_]](registry: CollectorRegistry, namespace: String, labels: MetricLabels, clock: Clock): Metric[F, Histogram]
def requestTotal[F[_]](registry: CollectorRegistry, namespace: String, labels: MetricLabels): Metric[F, Counter]

Implicits

Implicits

implicit val collectorRegistryCodec: Codec[String, CollectorRegistry, TextPlain]
implicit val schemaForCollectorRegistry: Schema[CollectorRegistry]