Skip to content

Conversation

@danielsn
Copy link
Contributor

@danielsn danielsn commented Dec 19, 2025

What does this PR do?

Simplifies the FFI API for profiling exporter

  1. Moved the functionality to set the timeout from the exporter to the endpoint, matching the way it is done in ddcommon, pure rust, and the C++ API.
  2. Removed the intermediate step of building then sending the request, reducing the set of objects that need to be managed outside the FFI boundary
  3. Removed the uncompressed_files parameter nobody was using

Motivation

The API included unnecessary steps, removed them.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Existing tests

@danielsn danielsn requested review from a team as code owners December 19, 2025 21:41
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 96.22642% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.27%. Comparing base (5027515) to head (b9b6bf9).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1423      +/-   ##
==========================================
- Coverage   71.41%   71.27%   -0.15%     
==========================================
  Files         411      411              
  Lines       66028    65695     -333     
==========================================
- Hits        47156    46824     -332     
+ Misses      18872    18871       -1     
Components Coverage Δ
libdd-crashtracker 58.68% <ø> (ø)
libdd-crashtracker-ffi 14.72% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 85.66% <ø> (ø)
libdd-data-pipeline-ffi 75.75% <ø> (ø)
libdd-common 81.06% <ø> (-0.28%) ⬇️
libdd-common-ffi 74.19% <ø> (-0.77%) ⬇️
libdd-telemetry 59.95% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 81.16% <96.22%> (-0.56%) ⬇️
libdd-profiling-ffi 62.44% <96.22%> (-5.40%) ⬇️
datadog-sidecar 36.17% <ø> (ø)
datdog-sidecar-ffi 12.37% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 90.07% <ø> (ø)
datadog-tracer-flare 61.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Dec 19, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.06 MB 87.02 MB --.04% (-40.80 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.50 MB 7.50 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.87 MB 58.84 MB --.05% (-31.17 KB) 💪
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.49 MB 8.49 MB -0% (-432 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.62 MB 9.61 MB -0% (-712 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.73 MB 100.68 MB --.05% (-53.11 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.06 MB 20.05 MB --.06% (-12.50 KB) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 74.31 KB 73.49 KB --1.10% (-838 B) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.05 MB 141.95 MB --.07% (-104.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 748.21 MB 746.53 MB --.22% (-1.68 MB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.41 MB 6.40 MB --.05% (-3.50 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 74.31 KB 73.49 KB --1.10% (-838 B) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.90 MB 19.89 MB --.03% (-8.00 KB) 💪
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.99 MB 38.97 MB --.04% (-16.21 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.12 MB 17.11 MB --.06% (-11.00 KB) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 75.46 KB 74.62 KB --1.10% (-854 B) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 144.69 MB 144.63 MB --.04% (-64.00 KB) 💪
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 736.85 MB 735.17 MB --.22% (-1.67 MB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.92 MB 4.92 MB --.05% (-3.00 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 75.46 KB 74.62 KB --1.10% (-854 B) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.17 MB 21.16 MB --.07% (-16.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.77 MB 36.75 MB --.04% (-16.15 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.34 MB 75.30 MB --.05% (-39.53 KB) 💪
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.93 MB 8.93 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.20 MB 60.17 MB --.04% (-28.81 KB) 💪
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.54 MB 9.54 MB -0% (-440 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.90 MB 94.85 MB --.05% (-50.11 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.35 MB 10.35 MB -0% (-424 B) 👌

@danielsn danielsn changed the title feat(profiling): Simpler API for profile exporter feat!(profiling): Simpler API for profile exporter Jan 6, 2026
@danielsn danielsn force-pushed the dsn/simpler-exporter-ffi branch from b9b6bf9 to c4268d4 Compare January 6, 2026 21:14
@github-actions github-actions bot added the common label Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants