Liking cljdoc? Tell your friends :D

wagoe.observability.metrics.shell.adapters.datadog

Datadog metrics adapter implementation using DogStatsD protocol.

This adapter integrates with Datadog (https://datadoghq.com) for production metrics collection via the DogStatsD UDP protocol. It implements all metrics protocols to provide comprehensive metrics capabilities that integrate with Datadog's platform.

Features:

  • DogStatsD UDP protocol implementation
  • Counter, gauge, histogram, and timing metrics
  • Tag merging (global, metric default, call-specific)
  • Sampling support for performance optimization
  • Runtime metric enable/disable for performance tuning
  • In-memory metric registry and value tracking
  • Injectable send function for testability

Configuration: The adapter requires a host and service name, optionally accepting:

  • Port (default 8125)
  • Global tags applied to all metrics
  • Sample rate for counters and histograms
  • Maximum packet size (UDP MTU considerations)
  • Origin detection for container environments

Example: (def datadog-metrics (create-datadog-metrics-components {:provider :datadog-statsd :host "localhost" :port 8125 :service "my-service" :environment "production" :global-tags {:team "backend" :version "1.0.0"} :sample-rate 0.1 :max-packet-size 1432}))

Datadog metrics adapter implementation using DogStatsD protocol.

This adapter integrates with Datadog (https://datadoghq.com) for production metrics
collection via the DogStatsD UDP protocol. It implements all metrics protocols to
provide comprehensive metrics capabilities that integrate with Datadog's platform.

Features:
- DogStatsD UDP protocol implementation
- Counter, gauge, histogram, and timing metrics
- Tag merging (global, metric default, call-specific)
- Sampling support for performance optimization
- Runtime metric enable/disable for performance tuning
- In-memory metric registry and value tracking
- Injectable send function for testability

Configuration:
The adapter requires a host and service name, optionally accepting:
- Port (default 8125)
- Global tags applied to all metrics
- Sample rate for counters and histograms
- Maximum packet size (UDP MTU considerations)
- Origin detection for container environments

Example:
(def datadog-metrics
  (create-datadog-metrics-components
    {:provider :datadog-statsd
     :host "localhost"
     :port 8125
     :service "my-service"
     :environment "production"
     :global-tags {:team "backend" :version "1.0.0"}
     :sample-rate 0.1
     :max-packet-size 1432}))
raw docstring

create-datadog-metrics-componentclj

(create-datadog-metrics-component config)

Create a complete Datadog metrics component that implements all protocols.

This is the recommended way to create Datadog metrics for use with Integrant.

Create a complete Datadog metrics component that implements all protocols.

This is the recommended way to create Datadog metrics for use with Integrant.
sourceraw docstring

create-datadog-metrics-componentsclj

(create-datadog-metrics-components config)

Create a map of Datadog metrics components for Integrant system configuration.

Returns a map with keys:

  • :metrics-registry - IMetricsRegistry implementation
  • :metrics-emitter - IMetricsEmitter implementation
  • :metrics-exporter - IMetricsExporter implementation
  • :metrics-config - IMetricsConfig implementation
Create a map of Datadog metrics components for Integrant system configuration.

Returns a map with keys:
- :metrics-registry - IMetricsRegistry implementation
- :metrics-emitter - IMetricsEmitter implementation
- :metrics-exporter - IMetricsExporter implementation
- :metrics-config - IMetricsConfig implementation
sourceraw docstring

create-datadog-metrics-configclj

(create-datadog-metrics-config config registry)

Create a Datadog metrics config instance.

Create a Datadog metrics config instance.
sourceraw docstring

create-datadog-metrics-emitterclj

(create-datadog-metrics-emitter registry config send-fn)

Create a Datadog metrics emitter instance.

Create a Datadog metrics emitter instance.
sourceraw docstring

create-datadog-metrics-exporterclj

(create-datadog-metrics-exporter registry config)

Create a Datadog metrics exporter instance.

Create a Datadog metrics exporter instance.
sourceraw docstring

create-datadog-metrics-registryclj

(create-datadog-metrics-registry config)

Create a Datadog metrics registry instance.

Create a Datadog metrics registry instance.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close