Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ members = [
"bin/correctness/millstone",
"bin/correctness/panoramic",
"bin/correctness/stele",
"lib/agent-data-plane-config",
"lib/agent-data-plane-config-system",
"lib/datadog-agent/commons",
"lib/datadog-agent/config",
"lib/datadog-agent/config-overlay-model",
Expand Down Expand Up @@ -49,11 +51,13 @@ license = "Apache-2.0"
repository = "https://github.com/DataDog/saluki"

[workspace.dependencies]
datadog-agent-metrics-v3 = { path = "lib/datadog-agent/metrics-v3" }
agent-data-plane-config = { path = "lib/agent-data-plane-config" }
agent-data-plane-config-system = { path = "lib/agent-data-plane-config-system" }
datadog-agent-commons = { path = "lib/datadog-agent/commons" }
datadog-agent-config = { path = "lib/datadog-agent/config" }
datadog-agent-config-overlay-model = { path = "lib/datadog-agent/config-overlay-model" }
datadog-agent-config-testing = { path = "lib/datadog-agent/config-testing" }
datadog-agent-metrics-v3 = { path = "lib/datadog-agent/metrics-v3" }
datadog-protos = { path = "lib/protos/datadog" }
containerd-protos = { path = "lib/protos/containerd" }
ddsketch = { path = "lib/ddsketch" }
Expand Down
24 changes: 24 additions & 0 deletions docs/agent-data-plane/configuration/dogstatsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,10 @@ compressed wire payload bytes.
| `agent_ipc.grpc_max_message_size` | Max inbound gRPC message size for IPC client |
| `allow_arbitrary_tags` | Relax backend tag validation via HTTP header |
| `api_key` | API key for endpoint auth |
| `apm_config.compute_stats_by_span_kind` | Compute APM stats per span kind |
| `apm_config.enable_rare_sampler` | Enable the APM rare-span sampler |
| `apm_config.error_tracking_standalone.enabled` | Enable Error Tracking standalone |
| `apm_config.errors_per_second` | APM error-span sampling rate (per sec) |
| `apm_config.obfuscation.credit_cards.enabled` | apm_config.obfuscation.credit_cards.enabled |
| `apm_config.obfuscation.credit_cards.keep_values` | apm_config.obfuscation.credit_cards.keep_values |
| `apm_config.obfuscation.credit_cards.luhn` | apm_config.obfuscation.credit_cards.luhn |
Expand All @@ -576,6 +580,11 @@ compressed wire payload bytes.
| `apm_config.obfuscation.redis.remove_all_args` | apm_config.obfuscation.redis.remove_all_args |
| `apm_config.obfuscation.valkey.enabled` | apm_config.obfuscation.valkey.enabled |
| `apm_config.obfuscation.valkey.remove_all_args` | apm_config.obfuscation.valkey.remove_all_args |
| `apm_config.peer_tags` | Extra peer tags for stats aggregation |
| `apm_config.peer_tags_aggregation` | Aggregate APM stats by peer tags |
| `apm_config.probabilistic_sampler.enabled` | Enable APM probabilistic sampler |
| `apm_config.probabilistic_sampler.sampling_percentage` | Probabilistic sampler percentage |
| `apm_config.target_traces_per_second` | Target sampled traces per second |
| `autoscaling.failover.enabled` | Enable autoscaling failover metric routing |
| `autoscaling.failover.metrics` | Metric names forwarded to DCA for failover |
| `bind_host` | Global listen host fallback |
Expand All @@ -588,21 +597,28 @@ compressed wire payload bytes.
| `cri_query_timeout` | CRI container runtime query timeout (s) |
| `data_plane.api_listen_address` | Unprivileged API listen address |
| `data_plane.dogstatsd.aggregator_tag_filter_cache_capacity` | Tag-filter deduplication cache size |
| `data_plane.dogstatsd.enabled` | Enable the DogStatsD pipeline |
| `data_plane.enabled` | Enable the data plane |
| `data_plane.log_file` | ADP log file path |
| `data_plane.otlp.enabled` | Enable the OTLP pipeline |
| `data_plane.otlp.proxy.enabled` | Enable OTLP proxy to Core Agent |
| `data_plane.otlp.proxy.logs.enabled` | Proxy OTLP logs to Core Agent |
| `data_plane.otlp.proxy.metrics.enabled` | Proxy OTLP metrics to Core Agent |
| `data_plane.otlp.proxy.receiver.protocols.grpc.endpoint` | OTLP proxy gRPC receiver endpoint |
| `data_plane.otlp.proxy.traces.enabled` | Proxy OTLP traces to Core Agent |
| `data_plane.remote_agent_enabled` | Enable remote agent mode |
| `data_plane.secure_api_listen_address` | Privileged API listen address |
| `data_plane.use_new_config_stream_endpoint` | Use new config stream endpoint |
| `dd_url` | Override intake endpoint URL |
| `disable_file_logging` | Disable writing logs to a file |
| `dogstatsd_buffer_size` | Receive buffer size (bytes) |
| `dogstatsd_capture_depth` | Traffic capture channel depth |
| `dogstatsd_capture_path` | Traffic capture file location |
| `dogstatsd_context_expiry_seconds` | Context cache TTL (seconds) |
| `dogstatsd_disable_verbose_logs` | Suppress noisy parse error logs |
| `dogstatsd_entity_id_precedence` | Entity ID over auto-detection |
| `dogstatsd_eol_required` | Require newline-terminated messages |
| `dogstatsd_expiry_seconds` | Counter value expiry (seconds) |
| `dogstatsd_flush_incomplete_buckets` | Flush open buckets on shutdown |
| `dogstatsd_log_file` | DSD dedicated log file path |
| `dogstatsd_log_file_max_rolls` | DSD log file max roll count |
Expand All @@ -629,6 +645,7 @@ compressed wire payload bytes.
| `enable_payloads.service_checks` | Allow sending service check payloads |
| `enable_payloads.sketches` | Allow sending sketch payloads |
| `env` | Agent environment name |
| `expected_tags_duration` | How long startup host tags are attached |
| `forwarder_backoff_base` | Retry backoff base (secs) |
| `forwarder_backoff_factor` | Retry backoff jitter factor |
| `forwarder_backoff_max` | Retry backoff ceiling (secs) |
Expand All @@ -649,10 +666,17 @@ compressed wire payload bytes.
| `histogram_aggregates` | Histogram aggregate statistics |
| `histogram_copy_to_distribution` | Copy histograms to distributions |
| `histogram_copy_to_distribution_prefix` | Prefix for hist-to-dist copies |
| `histogram_percentiles` | Histogram percentile aggregates |
| `log_file_max_rolls` | Max rolled log files to retain |
| `log_file_max_size` | Max log file size before rolling |
| `log_format_json` | Emit logs as JSON |
| `log_format_rfc3339` | Use RFC 3339 timestamps in log output |
| `log_payloads` | Debug-log decoded payload contents before encoding |
| `log_to_console` | Write logs to the console |
| `log_to_syslog` | Write logs to syslog |
| `metric_filterlist` | Metric name blocklist |
| `metric_filterlist_match_prefix` | Blocklist uses prefix matching |
| `metric_tag_filterlist` | Per-metric tag allow/deny filter list |
| `multi_region_failover.api_key` | API key for the failover-region endpoint |
| `multi_region_failover.dd_url` | Failover intake URL |
| `multi_region_failover.failover_metrics` | Enable metrics forwarding to failover region |
Expand Down
16 changes: 16 additions & 0 deletions lib/agent-data-plane-config-system/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[package]
name = "agent-data-plane-config-system"
version = "0.1.0"
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }

[dependencies]
agent-data-plane-config = { workspace = true }
bytesize = { workspace = true }
datadog-agent-config = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }

[lints]
workspace = true
16 changes: 16 additions & 0 deletions lib/agent-data-plane-config-system/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//! The Configuration system: translation and subscription of external configuration sources into an
//! ADP-typed model.
//!
//! This crate turns configuration sources into `SalukiConfiguration`:
//!
//! - the typed Datadog source (`DatadogConfiguration`), whose supported keys the generated `drive`
//! feeds to `DatadogTranslator` (a `DatadogConfigWitness`) one key at a time, and
//! - the Saluki-schema-only source (`SalukiOnly`), whose values seed the fields the Datadog schema
//! does not cover.
//!
//! `DatadogTranslator::translate` and `SalukiOnly::seed` are the two writers; a caller runs both to
//! assemble the model. This is the only ADP production crate that bridges the source configuration
//! to the model; it constructs no components and does not depend on `saluki-components`.

mod saluki_only;
mod translators;
Loading