Skip to main content

saluki_components/config_registry/datadog/
dogstatsd.rs

1//! Annotations for DogStatsD source configuration keys.
2use crate::config_registry::{
3    generated::schema, structs, Pipeline, PipelineAffinity, SalukiAnnotation, Schema, SchemaEntry, SupportLevel,
4    ValueType,
5};
6
7static DOGSTATSD_ALLOW_CONTEXT_HEAP_ALLOCS_SCHEMA: SchemaEntry = SchemaEntry {
8    schema: Schema::Saluki,
9    yaml_path: "dogstatsd_allow_context_heap_allocs",
10    env_vars: &[],
11    value_type: ValueType::Bool,
12    default: Some("true"),
13};
14
15static DOGSTATSD_AUTOSCALE_UDP_LISTENERS_SCHEMA: SchemaEntry = SchemaEntry {
16    schema: Schema::Saluki,
17    yaml_path: "dogstatsd_autoscale_udp_listeners",
18    env_vars: &[],
19    value_type: ValueType::Bool,
20    default: Some("false"),
21};
22
23static DOGSTATSD_BUFFER_COUNT_SCHEMA: SchemaEntry = SchemaEntry {
24    schema: Schema::Saluki,
25    yaml_path: "dogstatsd_buffer_count",
26    env_vars: &[],
27    value_type: ValueType::Integer,
28    default: None,
29};
30
31static DOGSTATSD_CACHED_CONTEXTS_LIMIT_SCHEMA: SchemaEntry = SchemaEntry {
32    schema: Schema::Saluki,
33    yaml_path: "dogstatsd_cached_contexts_limit",
34    env_vars: &[],
35    value_type: ValueType::Integer,
36    default: None,
37};
38
39static DOGSTATSD_CACHED_TAGSETS_LIMIT_SCHEMA: SchemaEntry = SchemaEntry {
40    schema: Schema::Saluki,
41    yaml_path: "dogstatsd_cached_tagsets_limit",
42    env_vars: &[],
43    value_type: ValueType::Integer,
44    default: None,
45};
46
47static DOGSTATSD_MINIMUM_SAMPLE_RATE_SCHEMA: SchemaEntry = SchemaEntry {
48    schema: Schema::Saluki,
49    yaml_path: "dogstatsd_minimum_sample_rate",
50    env_vars: &[],
51    value_type: ValueType::Float,
52    default: None,
53};
54
55static DOGSTATSD_PERMISSIVE_DECODING_SCHEMA: SchemaEntry = SchemaEntry {
56    schema: Schema::Saluki,
57    yaml_path: "dogstatsd_permissive_decoding",
58    env_vars: &[],
59    value_type: ValueType::Bool,
60    default: Some("true"),
61};
62
63static DOGSTATSD_STRING_INTERNER_SIZE_BYTES_SCHEMA: SchemaEntry = SchemaEntry {
64    schema: Schema::Saluki,
65    yaml_path: "dogstatsd_string_interner_size_bytes",
66    env_vars: &[],
67    value_type: ValueType::Integer,
68    default: None,
69};
70
71static DOGSTATSD_TCP_PORT_SCHEMA: SchemaEntry = SchemaEntry {
72    schema: Schema::Saluki,
73    yaml_path: "dogstatsd_tcp_port",
74    env_vars: &[],
75    value_type: ValueType::Integer,
76    default: None,
77};
78
79crate::declare_annotations! {
80    // ── Schema-based ──────────────────────────────────────────────────────────
81
82    /// `bind_host`—host address to bind UDP/TCP listeners to.
83    BIND_HOST = SalukiAnnotation {
84        schema: &schema::BIND_HOST,
85        support_level: SupportLevel::Full,
86        additional_yaml_paths: &[],
87        env_var_override: None,
88        used_by: &[structs::DOGSTATSD_CONFIGURATION],
89        value_type_override: None,
90        test_json: None,
91        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
92    };
93
94    /// `dogstatsd_buffer_size`—receive buffer size in bytes. Schema says Float; field is usize.
95    DOGSTATSD_BUFFER_SIZE = SalukiAnnotation {
96        schema: &schema::DOGSTATSD_BUFFER_SIZE,
97        support_level: SupportLevel::Full,
98        additional_yaml_paths: &[],
99        env_var_override: None,
100        used_by: &[structs::DOGSTATSD_CONFIGURATION],
101        value_type_override: Some(ValueType::Integer),
102        test_json: None,
103        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
104    };
105
106    /// `dogstatsd_capture_depth` - traffic capture channel depth.
107    DOGSTATSD_CAPTURE_DEPTH = SalukiAnnotation {
108        schema: &schema::DOGSTATSD_CAPTURE_DEPTH,
109        support_level: SupportLevel::Full,
110        additional_yaml_paths: &[],
111        env_var_override: None,
112        used_by: &[structs::DOGSTATSD_CONFIGURATION],
113        value_type_override: Some(ValueType::Integer),
114        test_json: None,
115        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
116    };
117
118    /// `dogstatsd_capture_path` - traffic capture file location.
119    DOGSTATSD_CAPTURE_PATH = SalukiAnnotation {
120        schema: &schema::DOGSTATSD_CAPTURE_PATH,
121        support_level: SupportLevel::Full,
122        additional_yaml_paths: &[],
123        env_var_override: None,
124        used_by: &[structs::DOGSTATSD_CONFIGURATION],
125        value_type_override: None,
126        test_json: None,
127        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
128    };
129
130    /// `dogstatsd_context_expiry_seconds` - context cache TTL.
131    DOGSTATSD_CONTEXT_EXPIRY_SECONDS = SalukiAnnotation {
132        schema: &schema::DOGSTATSD_CONTEXT_EXPIRY_SECONDS,
133        support_level: SupportLevel::Full,
134        additional_yaml_paths: &[],
135        env_var_override: None,
136        used_by: &[structs::DOGSTATSD_CONFIGURATION],
137        value_type_override: Some(ValueType::Integer),
138        test_json: None,
139        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
140    };
141
142    /// `dogstatsd_entity_id_precedence`—client entity ID takes precedence over UDS origin.
143    DOGSTATSD_ENTITY_ID_PRECEDENCE = SalukiAnnotation {
144        schema: &schema::DOGSTATSD_ENTITY_ID_PRECEDENCE,
145        support_level: SupportLevel::Full,
146        additional_yaml_paths: &[],
147        env_var_override: Some(&["DD_DOGSTATSD_ENTITY_ID_PRECEDENCE"]),
148        used_by: &[structs::DOGSTATSD_CONFIGURATION],
149        value_type_override: None,
150        test_json: None,
151        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
152    };
153
154    /// `dogstatsd_eol_required`—require newline-terminated messages for selected listener types.
155    DOGSTATSD_EOL_REQUIRED = SalukiAnnotation {
156        schema: &schema::DOGSTATSD_EOL_REQUIRED,
157        support_level: SupportLevel::Full,
158        additional_yaml_paths: &[],
159        env_var_override: None,
160        used_by: &[structs::DOGSTATSD_CONFIGURATION],
161        value_type_override: None,
162        test_json: Some(r#"["udp"]"#),
163        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
164    };
165
166    /// `dogstatsd_non_local_traffic`—accept packets from non-localhost addresses.
167    DOGSTATSD_NON_LOCAL_TRAFFIC = SalukiAnnotation {
168        schema: &schema::DOGSTATSD_NON_LOCAL_TRAFFIC,
169        support_level: SupportLevel::Full,
170        additional_yaml_paths: &[],
171        env_var_override: None,
172        used_by: &[structs::DOGSTATSD_CONFIGURATION],
173        value_type_override: None,
174        test_json: None,
175        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
176    };
177
178    /// `dogstatsd_origin_detection`—enable UDS-based origin detection.
179    DOGSTATSD_ORIGIN_DETECTION = SalukiAnnotation {
180        schema: &schema::DOGSTATSD_ORIGIN_DETECTION,
181        support_level: SupportLevel::Full,
182        additional_yaml_paths: &[],
183        env_var_override: Some(&["DD_DOGSTATSD_ORIGIN_DETECTION"]),
184        used_by: &[structs::DOGSTATSD_CONFIGURATION],
185        value_type_override: None,
186        test_json: None,
187        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
188    };
189
190    /// `dogstatsd_origin_detection_client`—enable container enrichment fields.
191    DOGSTATSD_ORIGIN_DETECTION_CLIENT = SalukiAnnotation {
192        schema: &schema::DOGSTATSD_ORIGIN_DETECTION_CLIENT,
193        support_level: SupportLevel::Full,
194        additional_yaml_paths: &[],
195        env_var_override: Some(&["DD_DOGSTATSD_ORIGIN_DETECTION_CLIENT"]),
196        used_by: &[structs::DOGSTATSD_CONFIGURATION],
197        value_type_override: None,
198        test_json: None,
199        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
200    };
201
202    /// `dogstatsd_origin_optout_enabled`—skip enrichment when cardinality=none.
203    DOGSTATSD_ORIGIN_OPTOUT_ENABLED = SalukiAnnotation {
204        schema: &schema::DOGSTATSD_ORIGIN_OPTOUT_ENABLED,
205        support_level: SupportLevel::Full,
206        additional_yaml_paths: &[],
207        env_var_override: Some(&["DD_DOGSTATSD_ORIGIN_OPTOUT_ENABLED"]),
208        used_by: &[structs::DOGSTATSD_CONFIGURATION],
209        value_type_override: None,
210        test_json: None,
211        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
212    };
213
214    /// `dogstatsd_port`—UDP port. Schema says Float; field is u16.
215    DOGSTATSD_PORT = SalukiAnnotation {
216        schema: &schema::DOGSTATSD_PORT,
217        support_level: SupportLevel::Full,
218        additional_yaml_paths: &[],
219        env_var_override: None,
220        used_by: &[structs::DOGSTATSD_CONFIGURATION],
221        value_type_override: Some(ValueType::Integer),
222        test_json: None,
223        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
224    };
225
226    /// `dogstatsd_socket`—UDS datagram socket path.
227    DOGSTATSD_SOCKET = SalukiAnnotation {
228        schema: &schema::DOGSTATSD_SOCKET,
229        support_level: SupportLevel::Full,
230        additional_yaml_paths: &[],
231        env_var_override: None,
232        used_by: &[structs::DOGSTATSD_CONFIGURATION],
233        value_type_override: None,
234        test_json: None,
235        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
236    };
237
238    /// `dogstatsd_so_rcvbuf`—DogStatsD UDP/UDS socket receive buffer size. Schema Float; field usize.
239    DOGSTATSD_SO_RCVBUF = SalukiAnnotation {
240        schema: &schema::DOGSTATSD_SO_RCVBUF,
241        support_level: SupportLevel::Full,
242        additional_yaml_paths: &[],
243        env_var_override: None,
244        used_by: &[structs::DOGSTATSD_CONFIGURATION],
245        value_type_override: Some(ValueType::Integer),
246        test_json: None,
247        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
248    };
249
250    /// `dogstatsd_stream_socket`—UDS stream socket path.
251    DOGSTATSD_STREAM_SOCKET = SalukiAnnotation {
252        schema: &schema::DOGSTATSD_STREAM_SOCKET,
253        support_level: SupportLevel::Full,
254        additional_yaml_paths: &[],
255        env_var_override: None,
256        used_by: &[structs::DOGSTATSD_CONFIGURATION],
257        value_type_override: None,
258        test_json: None,
259        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
260    };
261
262    /// `dogstatsd_stream_log_too_big`—log oversized UDS stream frames.
263    DOGSTATSD_STREAM_LOG_TOO_BIG = SalukiAnnotation {
264        schema: &schema::DOGSTATSD_STREAM_LOG_TOO_BIG,
265        support_level: SupportLevel::Full,
266        additional_yaml_paths: &[],
267        env_var_override: None,
268        used_by: &[structs::DOGSTATSD_CONFIGURATION],
269        value_type_override: None,
270        test_json: None,
271        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
272    };
273
274    /// `statsd_forward_host`—host for DogStatsD message forwarding.
275    STATSD_FORWARD_HOST = SalukiAnnotation {
276        schema: &schema::STATSD_FORWARD_HOST,
277        support_level: SupportLevel::Full,
278        additional_yaml_paths: &[],
279        env_var_override: None,
280        used_by: &[structs::DOGSTATSD_CONFIGURATION],
281        value_type_override: None,
282        test_json: Some(r#""127.0.0.1""#),
283        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
284    };
285
286    /// `statsd_forward_port`—port for DogStatsD message forwarding.
287    STATSD_FORWARD_PORT = SalukiAnnotation {
288        schema: &schema::STATSD_FORWARD_PORT,
289        support_level: SupportLevel::Full,
290        additional_yaml_paths: &[],
291        env_var_override: None,
292        used_by: &[structs::DOGSTATSD_CONFIGURATION],
293        value_type_override: Some(ValueType::Integer),
294        test_json: Some("9125"),
295        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
296    };
297
298    /// `dogstatsd_string_interner_size`—context interner entry count. Schema Float; field u64.
299    DOGSTATSD_STRING_INTERNER_SIZE = SalukiAnnotation {
300        schema: &schema::DOGSTATSD_STRING_INTERNER_SIZE,
301        support_level: SupportLevel::Full,
302        additional_yaml_paths: &[],
303        env_var_override: None,
304        used_by: &[structs::DOGSTATSD_CONFIGURATION],
305        value_type_override: Some(ValueType::Integer),
306        test_json: None,
307        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
308    };
309
310    /// `dogstatsd_tag_cardinality`—default tag cardinality for origin enrichment.
311    /// Default is "Low"; inject "high" as test value to differ from default.
312    DOGSTATSD_TAG_CARDINALITY = SalukiAnnotation {
313        schema: &schema::DOGSTATSD_TAG_CARDINALITY,
314        support_level: SupportLevel::Full,
315        additional_yaml_paths: &[],
316        env_var_override: Some(&["DD_DOGSTATSD_TAG_CARDINALITY"]),
317        used_by: &[structs::DOGSTATSD_CONFIGURATION],
318        value_type_override: None,
319        test_json: Some(r#""high""#),
320        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
321    };
322
323    /// `dogstatsd_tags`—additional tags applied to all ingested metrics.
324    DOGSTATSD_TAGS = SalukiAnnotation {
325        schema: &schema::DOGSTATSD_TAGS,
326        support_level: SupportLevel::Full,
327        additional_yaml_paths: &[],
328        env_var_override: None,
329        used_by: &[structs::DOGSTATSD_CONFIGURATION],
330        value_type_override: None,
331        test_json: None,
332        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
333    };
334
335    /// `provider_kind`—appended as a static tag (`provider_kind:<value>`) to all DogStatsD metrics.
336    PROVIDER_KIND = SalukiAnnotation {
337        schema: &schema::PROVIDER_KIND,
338        support_level: SupportLevel::Full,
339        additional_yaml_paths: &[],
340        env_var_override: Some(&["DD_PROVIDER_KIND"]),
341        used_by: &[structs::DOGSTATSD_CONFIGURATION],
342        value_type_override: None,
343        test_json: None,
344        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
345    };
346
347    /// `origin_detection_unified`—use unified entity ID resolution for origin enrichment.
348    ORIGIN_DETECTION_UNIFIED = SalukiAnnotation {
349        schema: &schema::ORIGIN_DETECTION_UNIFIED,
350        support_level: SupportLevel::Full,
351        additional_yaml_paths: &[],
352        env_var_override: Some(&["DD_ORIGIN_DETECTION_UNIFIED"]),
353        used_by: &[structs::DOGSTATSD_CONFIGURATION],
354        value_type_override: None,
355        test_json: None,
356        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
357    };
358
359    /// `dogstatsd_log_file`—path to the DogStatsD metric debug log file.
360    DOGSTATSD_LOG_FILE = SalukiAnnotation {
361        schema: &schema::DOGSTATSD_LOG_FILE,
362        support_level: SupportLevel::Full,
363        additional_yaml_paths: &[],
364        env_var_override: None,
365        used_by: &[structs::DOGSTATSD_DEBUG_LOG_CONFIGURATION],
366        value_type_override: None,
367        test_json: None,
368        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
369    };
370
371    /// `dogstatsd_log_file_max_rolls`—number of rotated debug log files to keep. Schema Float; field usize.
372    DOGSTATSD_LOG_FILE_MAX_ROLLS = SalukiAnnotation {
373        schema: &schema::DOGSTATSD_LOG_FILE_MAX_ROLLS,
374        support_level: SupportLevel::Full,
375        additional_yaml_paths: &[],
376        env_var_override: None,
377        used_by: &[structs::DOGSTATSD_DEBUG_LOG_CONFIGURATION],
378        value_type_override: Some(ValueType::Integer),
379        test_json: None,
380        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
381    };
382
383    /// `dogstatsd_log_file_max_size`—max active debug log file size before rotation.
384    DOGSTATSD_LOG_FILE_MAX_SIZE = SalukiAnnotation {
385        schema: &schema::DOGSTATSD_LOG_FILE_MAX_SIZE,
386        support_level: SupportLevel::Full,
387        additional_yaml_paths: &[],
388        env_var_override: None,
389        used_by: &[structs::DOGSTATSD_DEBUG_LOG_CONFIGURATION],
390        value_type_override: None,
391        test_json: Some(r#""42MB""#),
392        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
393    };
394
395    /// `dogstatsd_logging_enabled`—enable writing DogStatsD metric debug stats to a file.
396    DOGSTATSD_LOGGING_ENABLED = SalukiAnnotation {
397        schema: &schema::DOGSTATSD_LOGGING_ENABLED,
398        support_level: SupportLevel::Full,
399        additional_yaml_paths: &[],
400        env_var_override: None,
401        used_by: &[structs::DOGSTATSD_DEBUG_LOG_CONFIGURATION],
402        value_type_override: None,
403        test_json: None,
404        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
405    };
406
407    /// `dogstatsd_metrics_stats_enable`—enable metric-level DogStatsD debug statistics.
408    DOGSTATSD_METRICS_STATS_ENABLE = SalukiAnnotation {
409        schema: &schema::DOGSTATSD_METRICS_STATS_ENABLE,
410        support_level: SupportLevel::Partial,
411        additional_yaml_paths: &[],
412        env_var_override: None,
413        used_by: &[structs::DOGSTATSD_DEBUG_LOG_CONFIGURATION],
414        value_type_override: None,
415        test_json: None,
416        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
417    };
418
419    // ── ADP-specific ──────────────────────────────────────────────────────────
420
421    /// `dogstatsd_allow_context_heap_allocs`—allow heap allocations when interner is full.
422    DOGSTATSD_ALLOW_CONTEXT_HEAP_ALLOCS = SalukiAnnotation {
423        schema: &DOGSTATSD_ALLOW_CONTEXT_HEAP_ALLOCS_SCHEMA,
424        support_level: SupportLevel::Full,
425        additional_yaml_paths: &[],
426        env_var_override: None,
427        used_by: &[structs::DOGSTATSD_CONFIGURATION],
428        value_type_override: None,
429        test_json: None,
430        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
431    };
432
433    /// `dogstatsd_autoscale_udp_listeners`—bind multiple UDP sockets with SO_REUSEPORT for kernel load balancing.
434    DOGSTATSD_AUTOSCALE_UDP_LISTENERS = SalukiAnnotation {
435        schema: &DOGSTATSD_AUTOSCALE_UDP_LISTENERS_SCHEMA,
436        support_level: SupportLevel::Full,
437        additional_yaml_paths: &[],
438        env_var_override: None,
439        used_by: &[structs::DOGSTATSD_CONFIGURATION],
440        value_type_override: None,
441        test_json: None,
442        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
443    };
444
445    /// `dogstatsd_buffer_count`—number of message buffers to pre-allocate.
446    DOGSTATSD_BUFFER_COUNT = SalukiAnnotation {
447        schema: &DOGSTATSD_BUFFER_COUNT_SCHEMA,
448        support_level: SupportLevel::Full,
449        additional_yaml_paths: &[],
450        env_var_override: None,
451        used_by: &[structs::DOGSTATSD_CONFIGURATION],
452        value_type_override: None,
453        test_json: None,
454        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
455    };
456
457    /// `dogstatsd_cached_contexts_limit`—max cached metric contexts.
458    DOGSTATSD_CACHED_CONTEXTS_LIMIT = SalukiAnnotation {
459        schema: &DOGSTATSD_CACHED_CONTEXTS_LIMIT_SCHEMA,
460        support_level: SupportLevel::Full,
461        additional_yaml_paths: &[],
462        env_var_override: None,
463        used_by: &[structs::DOGSTATSD_CONFIGURATION],
464        value_type_override: None,
465        test_json: None,
466        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
467    };
468
469    /// `dogstatsd_cached_tagsets_limit`—max cached tag sets.
470    DOGSTATSD_CACHED_TAGSETS_LIMIT = SalukiAnnotation {
471        schema: &DOGSTATSD_CACHED_TAGSETS_LIMIT_SCHEMA,
472        support_level: SupportLevel::Full,
473        additional_yaml_paths: &[],
474        env_var_override: None,
475        used_by: &[structs::DOGSTATSD_CONFIGURATION],
476        value_type_override: None,
477        test_json: None,
478        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
479    };
480
481    /// `dogstatsd_minimum_sample_rate`—minimum allowed sample rate.
482    DOGSTATSD_MINIMUM_SAMPLE_RATE = SalukiAnnotation {
483        schema: &DOGSTATSD_MINIMUM_SAMPLE_RATE_SCHEMA,
484        support_level: SupportLevel::Full,
485        additional_yaml_paths: &[],
486        env_var_override: None,
487        used_by: &[structs::DOGSTATSD_CONFIGURATION],
488        value_type_override: None,
489        test_json: None,
490        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
491    };
492
493    /// `dogstatsd_permissive_decoding`—relax decoding strictness for Agent `compat`.
494    DOGSTATSD_PERMISSIVE_DECODING = SalukiAnnotation {
495        schema: &DOGSTATSD_PERMISSIVE_DECODING_SCHEMA,
496        support_level: SupportLevel::Full,
497        additional_yaml_paths: &[],
498        env_var_override: None,
499        used_by: &[structs::DOGSTATSD_CONFIGURATION],
500        value_type_override: None,
501        test_json: None,
502        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
503    };
504
505    /// `dogstatsd_string_interner_size_bytes`—explicit interner byte budget (overrides entry count).
506    DOGSTATSD_STRING_INTERNER_SIZE_BYTES = SalukiAnnotation {
507        schema: &DOGSTATSD_STRING_INTERNER_SIZE_BYTES_SCHEMA,
508        support_level: SupportLevel::Full,
509        additional_yaml_paths: &[],
510        env_var_override: None,
511        used_by: &[structs::DOGSTATSD_CONFIGURATION],
512        value_type_override: None,
513        test_json: None,
514        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
515    };
516
517    /// `dogstatsd_tcp_port`—TCP port (0 = disabled).
518    DOGSTATSD_TCP_PORT = SalukiAnnotation {
519        schema: &DOGSTATSD_TCP_PORT_SCHEMA,
520        support_level: SupportLevel::Full,
521        additional_yaml_paths: &[],
522        env_var_override: None,
523        used_by: &[structs::DOGSTATSD_CONFIGURATION],
524        value_type_override: None,
525        test_json: None,
526        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
527    };
528
529    /// `enable_payloads.events`—forward event payloads.
530    ENABLE_PAYLOADS_EVENTS = SalukiAnnotation {
531        schema: &schema::ENABLE_PAYLOADS_EVENTS,
532        support_level: SupportLevel::Full,
533        additional_yaml_paths: &[],
534        env_var_override: None,
535        used_by: &[structs::DOGSTATSD_CONFIGURATION],
536        value_type_override: None,
537        test_json: None,
538        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
539    };
540
541    /// `enable_payloads.series`—forward series (counter/gauge/rate) payloads.
542    ENABLE_PAYLOADS_SERIES = SalukiAnnotation {
543        schema: &schema::ENABLE_PAYLOADS_SERIES,
544        support_level: SupportLevel::Full,
545        additional_yaml_paths: &[],
546        env_var_override: None,
547        used_by: &[structs::DOGSTATSD_CONFIGURATION],
548        value_type_override: None,
549        test_json: None,
550        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
551    };
552
553    /// `enable_payloads.service_checks`—forward service check payloads.
554    ENABLE_PAYLOADS_SERVICE_CHECKS = SalukiAnnotation {
555        schema: &schema::ENABLE_PAYLOADS_SERVICE_CHECKS,
556        support_level: SupportLevel::Full,
557        additional_yaml_paths: &[],
558        env_var_override: None,
559        used_by: &[structs::DOGSTATSD_CONFIGURATION],
560        value_type_override: None,
561        test_json: None,
562        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
563    };
564
565    /// `enable_payloads.sketches`—forward sketch (distribution) payloads.
566    ENABLE_PAYLOADS_SKETCHES = SalukiAnnotation {
567        schema: &schema::ENABLE_PAYLOADS_SKETCHES,
568        support_level: SupportLevel::Full,
569        additional_yaml_paths: &[],
570        env_var_override: None,
571        used_by: &[structs::DOGSTATSD_CONFIGURATION],
572        value_type_override: None,
573        test_json: None,
574        pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
575    };
576}