Internal telemetry library for reporting Datadog library metrics and events.
libdd-telemetry provides telemetry collection and reporting for Datadog libraries, allowing them to report their own operational metrics, configuration, and errors back to Datadog.
- Metrics Collection: Collect library performance metrics
- Configuration Reporting: Report library configuration
- Error Tracking: Track and report library errors
- Host Information: Automatic host and container metadata
- HTTP Transport: Send telemetry data to Datadog intake
- Worker Pattern: Async background telemetry worker
- Dependency Tracking: Report library dependencies
- Application Metadata: Track application information
config: Telemetry configurationdata: Telemetry data types and structuresinfo: System and host information gatheringmetrics: Metrics collection and aggregationworker: Background telemetry worker
The library collects and reports:
- Metrics: Count, gauge, rate, and distribution metrics
- Logs: Library log events
- Configurations: Library configuration changes
- Dependencies: Loaded library versions
- Integrations: Active integrations
- App Started: Application lifecycle events
use libdd_telemetry::{build_host, data};
// Build host information
let host = build_host();
// Create telemetry data
let app = data::Application {
service_name: "my-service".to_string(),
env: Some("production".to_string()),
// ...
};Automatically gathers:
- Hostname
- Container ID
- OS name and version
- Kernel information
- Entity ID