libdatadog provides a shared library containing common code used in the implementation of Datadog's libraries,
including Continuous Profilers.
(In a past life, libdatadog was known as libddprof but it was renamed when
we decided to increase its scope).
NOTE: If you're building a new Datadog library/profiler or want to contribute to Datadog's existing tools, you've come to the right place! Otherwise, this is possibly not the droid you were looking for.
See CONTRIBUTING.md.
Build libdatadog as usual with cargo build.
To package a release with the generated ffi header and CMake module, use the build-profiling-ffi.sh / build-telemetry-ffi.sh helper scripts.
Here's an example of using on of these scripts, placing the output inside /opt/libdatadog:
bash build-profiling-ffi.sh /opt/libdatadogRust 1.69 or newer with cargo. Some platforms may need protoc; others have it shipped in prost-build.