Conversation
BenchmarksBenchmark execution time: 2026-03-12 20:33:34 Comparing candidate commit 1f83a79 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 1 metrics, 0 unstable metrics. |
67ba335 to
479452d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #286 +/- ##
==========================================
- Coverage 87.76% 87.70% -0.07%
==========================================
Files 84 84
Lines 5658 5668 +10
==========================================
+ Hits 4966 4971 +5
- Misses 692 697 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
🎯 Code Coverage (details) 🔗 Commit SHA: 1f83a79 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
479452d to
a82b085
Compare
|
All format changes/decisions are done wit the clang-format script |
xlamorlette-datadog
left a comment
There was a problem hiding this comment.
Great work!
(Please address very latest comments, and we're good to go!)
|
|
||
| // Options for creating a span. Unset fields default to NULL. | ||
| typedef struct { | ||
| const char* name; |
There was a problem hiding this comment.
The order of the fields matters for ABI stability. So, what should be the order of these fields:
- Same order as in
SpanConfig? - Logical order? (But what is it? The one in
SpanConfigdoes not fit since, in this C API,nameis the only one mandatory and so should come first.) - Alphabetical order? (When in doubt, this is what I would do. But if we ever add a field, it will no more be sorted.)
| DD_ERROR_ALLOCATION_FAILURE = 3 | ||
| } dd_error_code; | ||
|
|
||
| // Error details populated on failure. The caller must allocate this struct |
There was a problem hiding this comment.
nit: The comment about the caller and the callee (”The caller must allocate this struct […] Pass NULL to ignore errors.”) should not be here. I think the comment for dd_tracer_new() is sufficient.
Description
Add C language binding (ddog_trace_*) wrapping the C++ tracing library for integration from C-based projects.
Follows Datadog's ddog_ naming convention from libdatadog. Gated behind BUILD_C_BINDING=OFF.
Motivation
Enable C-based projects to use dd-trace-cpp without a C++ dependency at the call site.
Building and Testing