chore!: update protobufs to be in sync with datadog-agent#2180
chore!: update protobufs to be in sync with datadog-agent#2180duncanpharvey wants to merge 5 commits into
Conversation
📚 Documentation Check Results📦
|
992baa9 to
40583a8
Compare
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. |
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: fbb6a57 | Docs | Datadog PR Page | Give us feedback! |
🔒 Cargo Deny Results📦
|
40583a8 to
13da553
Compare
13da553 to
bcd399f
Compare
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bcd399f658
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// containerDebug holds debug information about the container tags resolution. | ||
| /// @gotags: json:"container_debug,omitempty" msg:"container_debug,omitempty" | ||
| #[prost(message, optional, tag = "11")] | ||
| pub container_debug: ::core::option::Option<ContainerDebug>, |
There was a problem hiding this comment.
Compare container_debug before merging payloads
When callers pass V07 payloads with this field populated, coalesce_send_data() still invokes TracerPayloadCollection::merge(), which treats payloads as equal via cmp_send_data_payloads() without looking at container_debug and then appends one payload's chunks into the other while dropping its top-level fields. Two payloads with different container tag resolution errors/latencies will therefore be sent as one payload with only the retained payload's debug value, misreporting the new diagnostics for the chunks from the dropped payload; include container_debug in the merge key or avoid merging when it differs.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b386a6fc90
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// containerDebug holds debug information about the container tags resolution. | ||
| /// @gotags: json:"container_debug,omitempty" msg:"container_debug,omitempty" | ||
| #[prost(message, optional, tag = "11")] | ||
| pub container_debug: ::core::option::Option<ContainerDebug>, |
There was a problem hiding this comment.
Omit absent container debug from msgpack payloads
When sending V07 payloads through send_with_msgpack, every locally constructed tracer payload currently sets this field to None; because the generated serde field has no skip_serializing_if, rmp_serde::to_vec_named emits a container_debug: nil entry instead of omitting it, despite the new proto tag being omitempty. That changes the v0.7 wire map for all agentless sends even when no debug data exists, so please generate #[serde(skip_serializing_if = "Option::is_none")] for this field.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f97eaf5059
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// @gotags: json:"container_debug,omitempty" msg:"container_debug,omitempty" | ||
| #[prost(message, optional, tag = "11")] | ||
| #[serde(skip_serializing_if = "Option::is_none")] | ||
| pub container_debug: ::core::option::Option<ContainerDebug>, |
There was a problem hiding this comment.
Default omitted ContainerDebug subfields
When a Serde-encoded v0.7 payload includes container_debug but omits any of its omitempty subfields (for example a successful lookup may send only latency/buffering data and omit error), deserialization will fail because the nested ContainerDebug fields are still required. The Option here only handles the whole container_debug field being absent; please add #[serde(default)] for the ContainerDebug fields/type in the generator so Rust accepts the same partial payloads allowed by the proto/go tags.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Codex Review: Didn't find any major issues. Delightful!
Reviewed commit: fbb6a5753b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
What does this PR do?
containerDebugadditional_metric_tagsDATADOG_AGENT_TAGfor protobufs comparison to DataDog/datadog-agent@fdc29d4Motivation
Out of sync protobufs with datadog-agent.
Additional Notes
How to test the change?