Skip to content

Commit b02c083

Browse files
authored
chore(config): track new use_v3_api options from datadog-agent#52059 (#1861)
## Summary DataDog/datadog-agent#52059 (commit [68ede29f](DataDog/datadog-agent@68ede29)) enabled series V3 intake by default and introduced four new config keys to control it. This PR adds those keys to the ADP config inventory so the schema stays in sync. ADP does not yet implement the V3 series API, so all four keys are classified as `support: none` / `severity: low` / `planned: true` and tracked under #1468. New keys added: | Key | Description | | --- | --- | | `use_v3_api.series.enabled` | Global default for series intake API version | | `use_v3_api.series.endpoints` | Per-URL override map for series intake version | | `observability_pipelines_worker.metrics.use_v3_api.series` | OPW metrics v3 series API opt-in | | `vector.metrics.use_v3_api.series` | OPW metrics v3 series API opt-in (legacy alias) | ## Test plan - Existing config smoke tests cover overlay consistency; no new test coverage needed for unsupported keys. Co-authored-by: jesse.szwedko <jesse.szwedko@datadoghq.com>
1 parent a3bfcd7 commit b02c083

5 files changed

Lines changed: 144 additions & 0 deletions

File tree

docs/agent-data-plane/configuration/dogstatsd.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ tracking.
3030
| `dogstatsd_experimental_http.listen_address` | Bind address for experimental HTTP DSD listener | [#1682] |
3131
| `dogstatsd_pipe_name` | Windows named pipe path | [#1466] |
3232
| `dogstatsd_windows_pipe_security_descriptor` | Windows named pipe ACL descriptor | [#1466] |
33+
| `observability_pipelines_worker.metrics.use_v3_api.series` | OPW metrics v3 series API opt-in | [#1468] |
3334
| `serializer_experimental_use_v3_api.compression_level` | V3 API zstd compression level | [#1468] |
3435
| `serializer_experimental_use_v3_api.series.endpoints` | Endpoints enabled for V3 series API | [#1468] |
3536
| `serializer_experimental_use_v3_api.series.shadow_sample_rate` | V3 series shadow mode sample rate | [#1468] |
@@ -38,6 +39,9 @@ tracking.
3839
| `serializer_experimental_use_v3_api.sketches.endpoints` | Endpoints enabling v3 sketches API | [#1468] |
3940
| `serializer_experimental_use_v3_api.sketches.validate` | Dual-send v2+v3 sketches for validation | [#1468] |
4041
| `tls_handshake_timeout` | HTTP TLS handshake timeout | [#178] |
42+
| `use_v3_api.series.enabled` | Global default for series intake API version | [#1468] |
43+
| `use_v3_api.series.endpoints` | Per-URL override map for series intake version | [#1468] |
44+
| `vector.metrics.use_v3_api.series` | OPW metrics v3 series API opt-in (legacy alias) | [#1468] |
4145

4246
<!-- section:unsupported-not-planned -->
4347
### Not Planned

lib/datadog-agent/config-testing/src/config_registry/unsupported.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,17 @@ crate::declare_annotations! {
643643
test_json: None,
644644
pipeline_affinity: PipelineAffinity::CrossCutting,
645645
};
646+
/// `observability_pipelines_worker.metrics.use_v3_api.series`-OPW metrics v3 series API opt-in
647+
OBSERVABILITY_PIPELINES_WORKER_METRICS_USE_V3_API_SERIES = SalukiAnnotation {
648+
schema: &schema::OBSERVABILITY_PIPELINES_WORKER_METRICS_USE_V3_API_SERIES,
649+
support_level: SupportLevel::Incompatible(Severity::Low),
650+
additional_yaml_paths: &[],
651+
env_var_override: None,
652+
used_by: &[],
653+
value_type_override: None,
654+
test_json: None,
655+
pipeline_affinity: PipelineAffinity::CrossCutting,
656+
};
646657
/// `serializer_experimental_use_v3_api.series.shadow_sample_rate`-V3 series shadow mode sample rate
647658
SERIALIZER_EXPERIMENTAL_USE_V3_API_SERIES_SHADOW_SAMPLE_RATE = SalukiAnnotation {
648659
schema: &schema::SERIALIZER_EXPERIMENTAL_USE_V3_API_SERIES_SHADOW_SAMPLE_RATE,
@@ -676,4 +687,37 @@ crate::declare_annotations! {
676687
test_json: None,
677688
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
678689
};
690+
/// `use_v3_api.series.enabled`-Global default for series intake API version
691+
USE_V3_API_SERIES_ENABLED = SalukiAnnotation {
692+
schema: &schema::USE_V3_API_SERIES_ENABLED,
693+
support_level: SupportLevel::Incompatible(Severity::Low),
694+
additional_yaml_paths: &[],
695+
env_var_override: None,
696+
used_by: &[],
697+
value_type_override: None,
698+
test_json: None,
699+
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD, Pipeline::Checks, Pipeline::Traces]),
700+
};
701+
/// `use_v3_api.series.endpoints`-Per-URL override map for series intake version
702+
USE_V3_API_SERIES_ENDPOINTS = SalukiAnnotation {
703+
schema: &schema::USE_V3_API_SERIES_ENDPOINTS,
704+
support_level: SupportLevel::Incompatible(Severity::Low),
705+
additional_yaml_paths: &[],
706+
env_var_override: None,
707+
used_by: &[],
708+
value_type_override: None,
709+
test_json: None,
710+
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD, Pipeline::Checks, Pipeline::Traces]),
711+
};
712+
/// `vector.metrics.use_v3_api.series`-OPW metrics v3 series API opt-in (legacy alias)
713+
VECTOR_METRICS_USE_V3_API_SERIES = SalukiAnnotation {
714+
schema: &schema::VECTOR_METRICS_USE_V3_API_SERIES,
715+
support_level: SupportLevel::Incompatible(Severity::Low),
716+
additional_yaml_paths: &[],
717+
env_var_override: None,
718+
used_by: &[],
719+
value_type_override: None,
720+
test_json: None,
721+
pipeline_affinity: PipelineAffinity::CrossCutting,
722+
};
679723
}

lib/datadog-agent/config/schema/core/core_schema.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,14 @@ properties:
10771077
example: '"http://127.0.0.1:8080"'
10781078
tags:
10791079
- template_section:Common
1080+
use_v3_api:
1081+
node_type: section
1082+
type: object
1083+
properties:
1084+
series:
1085+
node_type: setting
1086+
type: boolean
1087+
default: false
10801088
logs:
10811089
node_type: section
10821090
type: object
@@ -9966,6 +9974,22 @@ properties:
99669974
node_type: setting
99679975
type: boolean
99689976
default: true
9977+
use_v3_api:
9978+
node_type: section
9979+
type: object
9980+
properties:
9981+
series:
9982+
node_type: section
9983+
type: object
9984+
properties:
9985+
enabled:
9986+
node_type: setting
9987+
type: string
9988+
default: 'true'
9989+
endpoints:
9990+
node_type: setting
9991+
type: object
9992+
default: {}
99699993
vector:
99709994
node_type: section
99719995
type: object
@@ -10005,6 +10029,14 @@ properties:
1000510029
node_type: setting
1000610030
type: string
1000710031
default: ''
10032+
use_v3_api:
10033+
node_type: section
10034+
type: object
10035+
properties:
10036+
series:
10037+
node_type: setting
10038+
type: boolean
10039+
default: false
1000810040
traces:
1000910041
node_type: section
1001010042
type: object

lib/datadog-agent/config/schema/schema_overlay.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1648,6 +1648,15 @@ inventory:
16481648
additional_attributes:
16491649
config_registry_filename: forwarder.rs
16501650

1651+
observability_pipelines_worker.metrics.use_v3_api.series:
1652+
support: none
1653+
severity: low
1654+
planned: true
1655+
issue: "#1468"
1656+
pipelines: [cross_cutting]
1657+
description: "OPW metrics v3 series API opt-in"
1658+
documentation: "V2 to V3 migration PR in progress. Feature is missing but actively being addressed."
1659+
16511660
origin_detection_unified:
16521661
support: full
16531662
pipelines: [dogstatsd]
@@ -2117,6 +2126,24 @@ inventory:
21172126
additional_attributes:
21182127
config_registry_filename: encoders.rs
21192128

2129+
use_v3_api.series.enabled:
2130+
support: none
2131+
severity: low
2132+
planned: true
2133+
issue: "#1468"
2134+
pipelines: [dogstatsd, checks, traces]
2135+
description: "Global default for series intake API version"
2136+
documentation: "V2 to V3 migration PR in progress. Feature is missing but actively being addressed."
2137+
2138+
use_v3_api.series.endpoints:
2139+
support: none
2140+
severity: low
2141+
planned: true
2142+
issue: "#1468"
2143+
pipelines: [dogstatsd, checks, traces]
2144+
description: "Per-URL override map for series intake version"
2145+
documentation: "V2 to V3 migration PR in progress. Feature is missing but actively being addressed."
2146+
21202147
vector.metrics.enabled:
21212148
support: full
21222149
pipelines: [cross_cutting]
@@ -2137,6 +2164,15 @@ inventory:
21372164
additional_attributes:
21382165
config_registry_filename: forwarder.rs
21392166

2167+
vector.metrics.use_v3_api.series:
2168+
support: none
2169+
severity: low
2170+
planned: true
2171+
issue: "#1468"
2172+
pipelines: [cross_cutting]
2173+
description: "OPW metrics v3 series API opt-in (legacy alias)"
2174+
documentation: "V2 to V3 migration PR in progress. Feature is missing but actively being addressed."
2175+
21402176
vsock_addr:
21412177
support: full
21422178
pipelines: [cross_cutting]

lib/datadog-agent/config/src/classifier/classifier_data.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,13 @@ pub(crate) static CLASSIFIER_ENTRIES: &[ClassifierEntry] = &[
305305
pipeline_affinity: PipelineAffinity::CrossCutting,
306306
default: Some("500"),
307307
},
308+
ClassifierEntry {
309+
yaml_path: "observability_pipelines_worker.metrics.use_v3_api.series",
310+
aliases: &[],
311+
support_level: SupportLevel::Incompatible(Severity::Low),
312+
pipeline_affinity: PipelineAffinity::CrossCutting,
313+
default: Some("false"),
314+
},
308315
ClassifierEntry {
309316
yaml_path: "serializer_experimental_use_v3_api.compression_level",
310317
aliases: &[],
@@ -368,6 +375,27 @@ pub(crate) static CLASSIFIER_ENTRIES: &[ClassifierEntry] = &[
368375
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD]),
369376
default: Some("true"),
370377
},
378+
ClassifierEntry {
379+
yaml_path: "use_v3_api.series.enabled",
380+
aliases: &[],
381+
support_level: SupportLevel::Incompatible(Severity::Low),
382+
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD, Pipeline::Checks, Pipeline::Traces]),
383+
default: Some("\"true\""),
384+
},
385+
ClassifierEntry {
386+
yaml_path: "use_v3_api.series.endpoints",
387+
aliases: &[],
388+
support_level: SupportLevel::Incompatible(Severity::Low),
389+
pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::DogStatsD, Pipeline::Checks, Pipeline::Traces]),
390+
default: Some("{}"),
391+
},
392+
ClassifierEntry {
393+
yaml_path: "vector.metrics.use_v3_api.series",
394+
aliases: &[],
395+
support_level: SupportLevel::Incompatible(Severity::Low),
396+
pipeline_affinity: PipelineAffinity::CrossCutting,
397+
default: Some("false"),
398+
},
371399
ClassifierEntry {
372400
yaml_path: "autoscaling.failover.enabled",
373401
aliases: &[],

0 commit comments

Comments
 (0)