diff --git a/test/antithesis/harness/src/config.rs b/test/antithesis/harness/src/config.rs index 0c49cd5597..5876c4a741 100644 --- a/test/antithesis/harness/src/config.rs +++ b/test/antithesis/harness/src/config.rs @@ -162,6 +162,9 @@ pub(crate) struct V3SeriesConfig { enabled: &'static str, } +/// Cloud provider kinds sampled into `provider_kind`. The empty string emits no tag. +const PROVIDER_KINDS: &[&str] = &["", "gke-autopilot", "gke-gdc"]; + /// 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 @@ -184,6 +187,9 @@ pub struct DatadogConfig { /// ADP's safety gate for authoritative v3 series, which the Agent has no counterpart for. /// Sampled with [`Self::use_v3_api`] so ADP and the Agent never split encodings in a timeline. data_plane_metrics_v3_series_enabled: bool, + /// Cloud provider kind, sampled per timeline. + #[serde(skip_serializing_if = "String::is_empty")] + provider_kind: String, /// `DogStatsD` options, flattened to top-level `dogstatsd_*` keys. #[serde(flatten)] dogstatsd: DogStatsdConfig, @@ -210,6 +216,7 @@ impl DatadogConfig { }, serializer_compressor_kind: rng.random(), data_plane_metrics_v3_series_enabled: series_v3, + provider_kind: PROVIDER_KINDS[rng.random_range(0..PROVIDER_KINDS.len())].to_owned(), dogstatsd: DogStatsdConfig::sample(rng, dogstatsd_socket), } }