Google Cloud용 분산 추적 시스템인 Cloud Trace를 사용하면 애플리케이션이 사용자 또는 다른 애플리케이션으로부터 들어오는 요청을 처리하는 데 걸리는 시간과 요청 처리 시 수행된 RPC 호출과 같은 작업을 완료하는 데 걸리는 시간을 파악할 수 있습니다. Cloud Trace는 서비스를 개발하거나 오류를 해결할 때도 도움이 됩니다. 예를 들어 복잡한 마이크로서비스 아키텍처에서 요청이 처리되는 방식을 이해하고 어떤 로그를 검사할지 식별하는 데 도움이 됩니다.
Cloud Trace는 App Engine과 같은 일부 Google Cloud 서비스와 Cloud Trace API로 계측한 애플리케이션에서 지연 시간 데이터를 수신하므로 다음 질문의 답을 찾을 수 있습니다.
- 애플리케이션이 특정 요청을 처리하는 데 걸리는 시간
- 애플리케이션이 요청을 처리하는 데 오랜 시간이 걸리는 이유
- 일부 요청이 다른 요청보다 오래 걸리는 이유
- 애플리케이션에 대한 요청의 전체 지연 시간
- 시간이 지남에 따라 애플리케이션의 지연 시간 증가 또는 감소
- 애플리케이션 지연 시간을 줄이는 방법
- 애플리케이션의 종속 항목
Cloud Trace를 사용하여 애플리케이션을 관리하는 방법이 궁금하다면 분산 애플리케이션 문제 해결: 근본 원인 분석을 위해 trace와 로그를 함께 사용 블로그를 참조하세요.
애플리케이션 프로파일링에 대한 자세한 내용은 Cloud Profiler를 참조하세요.
환경 지원
Cloud Trace는 다음 환경의 Linux에서 실행됩니다.
- Compute Engine
- Google Kubernetes Engine(GKE)
- App Engine 가변형 환경
- App Engine 표준 환경
- Cloud Run
- Google Cloud 이외의 환경
Cloud Trace는 trace 정보를 캡처하기 위해 애플리케이션 계측용 클라이언트 라이브러리를 제공합니다. 언어별 설정 안내는 Cloud Trace 계측을 참조하세요.
자동 trace를 사용하는 구성
일부 구성에서는 trace 데이터가 자동으로 캡처됩니다.
App Engine 표준 환경
자바 8, Python 2, PHP 5 애플리케이션은 Cloud Trace 클라이언트 라이브러리를 사용할 필요가 없습니다. 이러한 런타임은 애플리케이션 URI에 대한 요청의 지연 시간 데이터를 Cloud Trace에 자동으로 전송합니다. 요청에는 App Engine 서비스에 대한 왕복 RPC 호출의 지연 시간 데이터가 포함됩니다. Cloud Trace는 Cloud SQL을 제외한 모든 App Engine Admin API에서 작동합니다.
Cloud Run 함수 및 Cloud Run
수신 및 발신 HTTP 요청의 경우 지연 시간 데이터가 Cloud Trace로 자동으로 전송됩니다.
언어 지원
다음 표에는 Trace 클라이언트 라이브러리와 Cloud Trace로의 내보내기가 있는 OpenTelemetry 라이브러리의 가용성이 요약되어 있습니다.
언어 | 클라이언트 라이브러리 사용 가능 |
OpenTelemetry 라이브러리/내보내기 도구 사용 가능 |
---|---|---|
C++ | 예 | 예 |
C# ASP.NET Core | 예 | 아니요 |
C# ASP.NET | 예 | 아니요 |
Go | 예 | 예 |
자바 | 예 | 예 |
Node.js | 예 | 예 |
PHP | 예 | 아니요 |
Python | 예 | 예 |
Ruby | 예 | 예 |
OpenTelemetry 라이브러리는 해당 Trace API의 일부 복잡한 내용을 표시하지 않으므로 Cloud Trace 클라이언트 라이브러리보다 쉽게 사용할 수 있습니다. 계측 권장사항은 계측 방법 선택을 참조하세요.
구성요소
Cloud Trace는 trace를 수집하여 Google Cloud 프로젝트로 전송하는 추적 클라이언트로 구성됩니다. 그런 다음 Google Cloud 콘솔을 사용하여 에이전트가 수집한 데이터를 보고 분석할 수 있습니다. 데이터 모델에 대한 자세한 내용은 trace 및 스팬을 참조하세요.
추적 클라이언트
OpenTelemetry 라이브러리를 프로그래밍 언어에서 사용할 수 있는 경우 OpenTelemetry를 사용하여 trace 데이터를 만들고 보내는 프로세스를 간소화할 수 있습니다. OpenTelemetry는 사용이 간편할 뿐만 아니라 일괄 처리를 구현하여 성능을 개선할 수 있습니다.
OpenTelemetry 라이브러리가 없으면 trace SDK 라이브러리를 가져오고 Cloud Trace API를 사용해서 코드를 계측합니다. Cloud Trace API는 trace 데이터를 Google Cloud 프로젝트로 전송합니다.
추적 인터페이스
Cloud Trace 인터페이스에서 거의 실시간으로 trace 데이터를 보고 분석할 수 있습니다.
trace 탐색기 페이지에서는 개별 trace를 자세히 살펴볼 수 있습니다. 기본적으로 이곳에서는 모든 trace의 지연 시간 플롯을 표시하고, 가장 최근의 trace를 표 형식으로 나열합니다. trace를 선택하여 trace의 스팬, 각 스팬과 트레이스의 지연 시간 정보, 로그 및 이벤트 링크와 같은 더 자세한 정보를 볼 수 있습니다. trace 세부정보 필터링 및 확인에 대한 자세한 내용은 trace 찾기 및 탐색을 참조하세요.
분석 보고서 페이지에서 커스텀 보고서를 만들 수 있습니다. 이러한 보고서에는 추적을 모두 포함하거나, 필터를 지정하거나, 추적 하위 집합만 포함할 수 있습니다. 지연 시간 데이터 모음 2개를 비교하는 보고서를 만들 수도 있습니다. 자세한 내용은 보고서 작성 및 조회를 참조하세요.
데이터 보안
Cloud Trace는 VPC 서비스 제어 지원 서비스입니다. 자세한 내용은 VPC 서비스 제어 문서를 참조하세요.
가격 및 사용량
현재 또는 이전 사용량을 보는 방법에 대한 자세한 내용은 결제 계정별 사용량 보기를 참조하세요.
가격 책정 정보는 Google Cloud Observability 가격 책정을 참조하세요.
다음 단계
빠른 시작 이용해 보기
할당량 및 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
DevOps 관련 리소스를 읽고 DevOps 연구 및 평가 연구 프로그램 살펴보기