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. Removed the helper function to set the timeout since that's already available on the endpoint
  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 paramater 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.

#[no_mangle]
#[named]
#[must_use]
pub unsafe extern "C" fn ddog_prof_Exporter_set_timeout(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is used in dd-trace-py here. If we choose to remove this, we should clearly document the breaking changes

.collect()
}

/// If successful, builds a `ddog_prof_Exporter_Request` object based on the
Copy link
Contributor

@gyuheon0h gyuheon0h Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above; used in tracers currently, so clear documentation for breaking changes would be nice

@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) 👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants