feat(metrics-v3): add Datadog V3 payload encoder#2223
Conversation
📚 Documentation Check Results📦
|
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 8f065a5 | Docs | Datadog PR Page | Give us feedback! |
🔒 Cargo Deny Results✅ No issues found! 📦
|
db0bdea to
f0b893c
Compare
BenchmarksComparisonBenchmark execution time: 2026-07-16 08:38:39 Comparing candidate commit 8f065a5 in PR branch Found 20 performance improvements and 17 performance regressions! Performance is the same for 105 metrics, 0 unstable metrics.
|
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
|
f6a9fc0 to
a743570
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a743570c4b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Allows to encode metric payloads using V3 columnar format. This library enables users to encode their metric payloads using an efficient column-based protocol. For performance and compatibility reasons (we also want to keep this crate `no_std` so we could use it in very resource-constrained environments) this crate does manual protobuf serialization. Signed-off-by: Mark Kirichenko <mark.kirichenko@datadoghq.com>
a743570 to
8f065a5
Compare
What does this PR do?
Add a new library which allows to encode metric payloads using V3 columnar format.
Motivation
This library enables users to encode their metric payloads using an efficient column-based protocol. For performance and compatibility reasons (we also want to keep this crate
no_stdso we could use it in very resource-constrained environments) this crate does manual protobuf serialization.Additional Notes
How to test the change?
We do correctness test by comparing the resulting encoded payload with the one produced from protobuf-generated code.