DatadogMetrics

sttp.tapir.server.metrics.datadog.DatadogMetrics
See theDatadogMetrics companion class

Attributes

Companion
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case class Counter(name: String)(client: StatsDClient)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Distribution(name: String)(client: StatsDClient)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Gauge(name: String)(client: StatsDClient)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Histogram(name: String)(client: StatsDClient)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Timer(name: String)(client: StatsDClient)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def default[F[_]](client: StatsDClient, namespace: String, labels: MetricLabels): DatadogMetrics[F]

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

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

  • $namespace.request_active.count|c|#path, method (counter)
  • $namespace.request_total.count|c|#path, method, status} (counter)
  • $namespace.request_duration_seconds.xxx|h|#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.

Attributes

def mergeTags(names: List[String], values: List[String]): List[String]
def requestActive[F[_]](client: StatsDClient, namespace: String, labels: MetricLabels): Metric[F, Counter]
def requestDuration[F[_]](client: StatsDClient, namespace: String, labels: MetricLabels, clock: Clock): Metric[F, Histogram]
def requestTotal[F[_]](client: StatsDClient, namespace: String, labels: MetricLabels): Metric[F, Counter]