Skip to content

Datadog shared rust-based library. For now only used in other products (e.g. Ruby or PHP libraries).

License

Notifications You must be signed in to change notification settings

p-datadog/libdatadog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libdatadog

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.

Development

Contributing

See CONTRIBUTING.md.

Building

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/libdatadog

Build Dependencies

  • Rust 1.71 or newer with cargo
  • cmake and protoc

Running tests

This project uses cargo-nextest to run tests.

cargo nextest run

Installing cargo-nextest

The simplest way to install cargo-nextest is to use cargo install like this.

cargo install --locked '[email protected]'

Please note that the locked version is to make sure that it can be built using rust 1.71.1, and if you are using a newer rust version, then it's enough to limit the version to 0.9.*.

About

Datadog shared rust-based library. For now only used in other products (e.g. Ruby or PHP libraries).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 95.7%
  • C 1.6%
  • Shell 1.1%
  • Ruby 1.0%
  • PowerShell 0.3%
  • CMake 0.2%
  • Other 0.1%