- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
C++ 추적 라이브러리는 빌드에 C++17 툴체인을 필요로 합니다. Datadog의 추적 라이브러리 호환성 요건과 프로세서 아키텍처 지원 전체 목록을 보려면 호환성 요건 페이지를 방문하세요.
시작하기 전 이미 에이전트를 설치하고 설정했는지 확인하세요.
dd-trace-cpp
테스트에 사용할 수 있는 예시 애플리케이션입니다.
이 애플리케이션은 기본 설정을 사용해 트레이서 인스턴스를 생성하고 두 개의 스팬에서 트레이스를 생성합니다. 이는 서비스 이름 my-service
에서 보고됩니다.
// tracer_example.cpp
#include <datadog/span_config.h>
#include <datadog/tracer.h>
#include <datadog/tracer_config.h>
#include <iostream>
#include <string>
namespace dd = datadog::tracing;
int main() {
dd::TracerConfig config;
config.service = "my-service";
const auto validated_config = dd::finalize_config(config);
if (!validated_config) {
std::cerr << validated_config.error() << '\n';
return 1;
}
dd::Tracer tracer{*validated_config};
// Create some spans.
{
auto span_a = tracer.create_span();
span_a.set_name("A");
span_a.set_tag("tag", "123");
auto span_b = span_a.create_child();
span_b.set_name("B");
span_b.set_tag("tag", "value");
}
return 0;
}
CPM.cmake는 교차 플랫폼 CMake 스크립트로 CMake에 종속성 관리 기능을 추가합니다.
# CMakeLists.txt
CPMAddPackage("gh:DataDog/dd-trace-cpp#0.2.1")
# `tracer_example` 대상 추가
add_executable(tracer_example tracer_example.cpp)
# `dd-trace-cpp`에 대한 고정 연결
# `dd-trace-cpp`에 대한 동적 연결을 하려면 `dd_trace::shared` 대상을 사용합니다.
target_link_libraries(tracer_example dd_trace::static)
다음 명령을 사용해 예시 빌드:
cmake -B build .
cmake --build build --target tracer_example -j
./build/tracer_example
DATADOG TRACER CONFIGURATION - {"collector":{"config":{"event_scheduler":{"type":"datadog::tracing::ThreadedEventScheduler" ... }}}
CMake를 사용해 dd-trace-cpp
라이브러리를 C++ 프로젝트에 통합하려면, 이 단계를 따르세요.
include(FetchContent)
FetchContent_Declare(
dd-trace-cpp
GIT_REPOSITORY https://github.com/DataDog/dd-trace-cpp
GIT_TAG v0.2.0
GIT_SHALLOW ON
GIT_PROGRESS ON
)
FetchContent_MakeAvailable(dd-trace-cpp)
# `tracer_example` 대상 추가
add_executable(tracer_example tracer_example.cpp)
# `dd-trace-cpp`에 대한 고정 연결
# 참고: `dd-trace-cpp`에 대해 동적 연결을 하려면 `dd_trace_cpp_shared` 대상을 사용합니다.
target_link_libraries(tracer_example dd_trace::static)
다음 명령을 사용해 예시 빌드:
cmake -B build .
cmake --build build --target tracer_example -j
./build/tracer_example
DATADOG TRACER CONFIGURATION - {"collector":{"config":{"event_scheduler":{"type":"datadog::tracing::ThreadedEventScheduler" ... }}}
dd-trace-cpp
라이브러리를 수동으로 다운로드하고 설치하려면 다음 Bash 스크립트를 실행하세요.
# "jq" 명령이 필요하며 다음을 통해 설치할 수 있습니다.
# 패키지 관리자:
# - APT: `apt install jq`
# - APK: `apk add jq`
# - YUM: `yum install jq`
if ! command -v jq >/dev/null 2>&1; then
>&2 echo "jq command not found. Install using the local package manager."
exit 1
fi
# GitHub에서 최신 릴리스 버전 번호를 얻습니다.
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | jq --raw-output .tag_name
}
DD_TRACE_CPP_VERSION="$(get_latest_release DataDog/dd-trace-cpp)"
# dd-trace-cpp 라이브러리를 다운로드하고 설치합니다.
wget https://github.com/DataDog/dd-trace-cpp/archive/${DD_TRACE_CPP_VERSION}.tar.gz -O dd-trace-cpp.tar.gz
mkdir dd-trace-cpp && tar zxvf dd-trace-cpp.tar.gz -C ./dd-trace-cpp/ --strip-components=1
cd dd-trace-cpp
# 올바른 dd-trace-cpp 버전을 다운로드하고 설치합니다.
# 프로젝트를 설정하고, 빌드하고, 설치합니다.
cmake -B build .
cmake --build build -j
cmake --install build
기본적으로, cmake --install
은 공유 라이브러리와 공개 헤더를 적절한 시스템 디렉터리에 둡니다(예: /usr/local/[...]
).
특정 위치에 설치하려면 대신 cmake --install build --prefix <INSTALL_DIR>
을 사용합니다.
libdd_trace_cpp.so
에 대한 연결, 공유 라이브러리가 LD_LIBRARY_PATH
에 있는지 확인합니다.
clang -std=c++17 -o tracer_example tracer_example.cpp -ldd_trace_cpp
./tracer_example
DATADOG TRACER CONFIGURATION - {"collector":{"config":{"event_scheduler":{"type":"datadog::tracing::ThreadedEventScheduler" ... }}}
필요한 경우 추적 라이브러리를 설정하여 필요한 대로 애플리케이션 성능 텔레메트리 데이터를 전송합니다. 여기에는 통합 서비스 태깅 설정이 포함됩니다. 자세한 정보는 라이브러리 설정을 읽어보세요.
추가 유용한 문서, 링크 및 기사: