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

Concise view

Type members

Classlikes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

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]