Module config

Module config 

Source
Expand description

Configuration model and rendering for Datadog Agent configuration.

Primary focus is currently DogStatsD but this is, hopefully, easy to expand in the future.

One datadog.yaml is sampled per timeline. Only keys ADP and the Datadog Agent both fully support are emitted, and their values vary per timeline, so a divergence between the two targets is a finding rather than a config artifact.

Structs§

ContextSourceConfig
The per-kind caps a timeline’s shared context pool fills to before it recurs existing contexts. first_sample_config samples this beside datadog.yaml so cardinality varies per timeline. Each cap is drawn against the budget the earlier draws left, so a kind’s cardinality still varies at random while the three together stay under MAX_CONTEXTS_TOTAL.
DatadogConfig
Agent-facing config. hostname, api_key, dd_url, and the socket are supplied by the environment; log_level, the series intake API, and the DogStatsD options are sampled per branch. The static flags are appended by Self::to_yaml, not fields here.
DriverConfig
Config a load generator reads to shape its output to this timeline’s SUT. first_sample_config samples it beside datadog.yaml from one draw, so the generator and the SUT are driven together.

Constants§

MIN_CONTEXTS_PER_KIND
The fewest contexts a kind may be capped at. The pool seeds every kind with one context carrying an invalid UTF-8 byte and one without, and both count against the cap.