- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
애플리케이션이 프로덕션에서 성능 문제를 보이는 경우 프로파일링에서 코드 스택 트레이스 벤치마크를 사용해 분산된 트레이싱을 통합하는 것은 성능 병목 현상을 파악하기 위한 좋은 방법입니다. 활성화된 APM 분산 트레이싱 및 지속적인 프로파일러 모두를 포함하는 애플리케이션 프로세스는 자동으로 연결됩니다.
스팬(span) 정보에서 코드 핫스팟 탭의 프로파일링 데이터로 바로 이동하고 성능 문제와 관련된 구체적인 코드 라인을 찾을 수 있습니다. 마찬가지로 또한 프로파일링 UI에서 리소스를 소비하는 느린 엔드포인트를 디버깅할 수 있습니다.
자바(Java) 서비스 프로파일링을 켜면 코드 핫스팟 식별은 기본적으로 활성화되어 있습니다. 수동적으로 측정된 코드의 경우 지속적인 프로파일러가 스팬(span) 범위 활성화를 필요로 합니다.
final Span span = tracer.buildSpan("ServicehandlerSpan").start();
try (final Scope scope = tracer.activateSpan(span)) { // mandatory for Datadog continuous profiler to link with span
// worker thread impl
} finally {
// Step 3: Finish Span when work is complete
span.finish();
}
각 트레이스의 보기에서 코드 핫스팟 탭은 선택한 스팬 범위에 대한 프로파일링 데이터를 강조 표시합니다.
왼쪽에 있는 값은 선택한 스팬 동안 메서드 호출에서 소비된 시간을 보여줍니다. 런타임과 언어에 따라 범주는 다양할 수 있습니다.
플러스 아이콘 +
을 클릭하여 스택 트레이스를 해당 메서드 역방향순으로 확장합니다. 값 위를 마우스로 가리켜 범주별로 설명된 시간 비율을 확인합니다.
타임라인 보기는 시간 기반 패턴과 스팬 기간 동안의 작업 분포를 보여줍니다.
스팬 타임라인 보기에서 다음을 할 수 있습니다.
런타임과 언어에 따라 레인은 다양할 수 있습니다.
각 레인은 스레드를 나타냅니다. 일반적인 풀의 스레드는 함께 그룹화됩니다. 풀을 확대하여 각 스레드의 상세 정보를 볼 수 있습니다.
상위 레인은 추가 지연을 더할 수 있는 런타임 활동입니다. 이러한 활동은 요청과는 무관할 수 있습니다.
상세 내역의 각 유형의 경우 전체 페이지에서 보기를 클릭해 새 페이지에서 동일한 데이터를 열 수 있습니다. 해당 페이지에서 시각화를 불꽃 그래프로 바꿀 수 있습니다. “집중** 선택기를 클릭해 데이터 범위를 정의하세요.
자바(Java) 서비스 프로파일링을 켜면 엔드포인트 프로파일링이 기본적으로 활성화되어 있습니다.
Datadog 프로파일러 사용이 필요합니다. JFR은 지원되지 않습니다.
엔드포인트 프로파일링을 사용하면 웹 서비스 엔드포인트별로 불꽃 그래프를 범위화하고 느리고 지연을 야기하며 낮은 최종 사용자 경험을 가져오는 엔드포인트를 찾을 수 있습니다. 이러한 엔드포인트는 디버깅하거나 느린 이유를 알기 어렵습니다. 지연은 엔드포인트가 많은 CPU 주기를 소비하는 등 예기치 못한 많은 리소스 소비에 의한 것일 수 있습니다.
엔드포인트 프로파일링을 통해 다음을 할 수 있습니다.
CPU 및 실제 시간(wall time) 등 가치 있는 리소스를 소비하는 상위 엔드포인트를 추적하는 것은 중요합니다. 이 목록은 엔드포인트가 퇴행하고 있거나 너무 많은 리소스를 소비하는 새로운 엔드포인트를 도입하여 전반적인 서비스 속도가 둔화되는 경우 이를 파악하는 데 도움을 줍니다.
다음 이미지는 GET /store_history
가 CPU의 20%를 소비하여 이 서비스에 정기적으로 영향을 주는 것을 보여줍니다.
시간에 따라 트래픽이 전환되더라도 동작의 변화를 확인하려면 Per endpoint call
를 선택합니다. 점진적인 롤아웃 상태 확인이나 일일 트래픽 패턴 분석에 유용합니다.
다음 동영상은 /GET train
에 대해 요청당 CPU가 2배 상승한 것을 보여줍니다.
추가 유용한 문서, 링크 및 기사: