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:
Configuration: The adapter requires a host and service name, optionally accepting:
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}))(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.
(create-datadog-metrics-components config)Create a map of Datadog metrics components for Integrant system configuration.
Returns a map with keys:
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-datadog-metrics-config config registry)Create a Datadog metrics config instance.
Create a Datadog metrics config instance.
(create-datadog-metrics-emitter registry config send-fn)Create a Datadog metrics emitter instance.
Create a Datadog metrics emitter instance.
(create-datadog-metrics-exporter registry config)Create a Datadog metrics exporter instance.
Create a Datadog metrics exporter instance.
(create-datadog-metrics-registry config)Create a Datadog metrics registry instance.
Create a Datadog metrics registry instance.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |