-
Notifications
You must be signed in to change notification settings - Fork 394
[NO-TICKET] RFC: Bindings for libdatadog ddsketch API #4858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
On a second pass, this does seem like it makes sense to live inside core.
We were introducing a bit too much copy/pasta for each part of core that depends on libdatadog_api, so I've consolidated them. This opens the door to easily adding ddsketch without more repetition.
We'll use this for integration-style testing with the libdatadog ddsketch implementation. This file was imported from https://raw.githubusercontent.com/DataDog/sketches-go/cd8144afd502b4ee58d5f6c2efe49c4bcf56270b/ddsketch/pb/ddsketch.proto without any changes.
This depends on the fixes in DataDog/libdatadog#1185 .
f28a5ca
to
752169a
Compare
Typing analysisIgnored filesThere are 539 ignored files in the Steepfile out of 841. Ignored files
Note: Ignored files are excluded from the next sections.
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage 🔗 Commit SHA: 8ae9432 | Docs | Was this helpful? Give us feedback! |
BenchmarksBenchmark execution time: 2025-10-10 15:52:25 Comparing candidate commit 8ae9432 in PR branch Found 1 performance improvements and 0 performance regressions! Performance is the same for 43 metrics, 2 unstable metrics. scenario:tracing - Propagation - Datadog
|
This is ready for review! Let's get this show on the road :) |
What does this PR do?
This PR introduces a
Datadog::Core::DDSketch
API that is implemented by libdatadog via the recently added ddsketch ffi ( DataDog/libdatadog#1135 ).For more details on ddsketch, see https://www.datadoghq.com/blog/engineering/computing-accurate-percentiles-with-ddsketch/ .
I'm opening this PR as an RFC/draft for two reasons:
Motivation:
Some upcoming APM features are going to require ddsketch support on the library (the agent has been using it for a long time).
Change log entry
None.
Additional Notes:
N/A
How to test the change?
You'll need libdatadog master to run this branch. Other than that, I've included test coverage for this API, including a encode/decode round trip.