/dd-opentracing-cpp

Datadog Opentracing C++ Client

Primary LanguageC++Apache License 2.0Apache-2.0

Datadog OpenTracing C++ Client

CircleCI

Usage

Usage docs are on the main Datadog website:

For some quick-start examples, see the examples folder.

Contributing

Before considering contributions to the project, please take a moment to read our brief contribution guidelines.

Build and Test

Dependencies

Building this project requires the following tools installed:

  • Build tools (e.g. build-essential, xcode)
  • cmake >= 3.1

Additional libraries are installed via a script.

Build Steps

  • Clone the repository
    git clone https://github.com/DataDog/dd-opentracing-cpp
  • Install additional library dependencies (requires sudo)
    cd dd-opentracing-cpp
    sudo scripts/install_dependencies.sh
  • Generate build files using cmake
    mkdir .build
    cd .build
    cmake ..
  • Run the build
    make
  • (Optional) Run the tests
    cmake -DBUILD_TESTING=ON ..
    make
    ctest --output-on-failure
  • (Optional) Install to /usr/local
    make install

If you want sanitizers to be enabled, then add either the -DSANITIZE_THREAD=ON -DSANITIZE_UNDEFINED=ON or -DSANITIZE_ADDRESS=ON flags to cmake, running the tests will now also check with the sanitizers.

Integration tests

Integration tests require additional tools installed:

Installation details can be extracted from the Dockerfile for the container that is usually used when running integration tests.

Run this command to run the integration tests directly.

test/integration/run_integration_tests_local.sh