Cloud Trace 개요

Google Cloud의 분산 추적 시스템인 Cloud Trace를 사용하면 애플리케이션이 사용자 또는 다른 애플리케이션으로부터 들어오는 요청을 처리하는 데 걸리는 시간과 요청 처리 시 수행된 RPC 호출과 같은 작업을 완료하는 데 걸리는 시간을 파악할 수 있습니다. Trace는 서비스를 개발하거나, 에이전트형 애플리케이션을 개발하거나, 오류를 해결할 때도 도움이 됩니다. 예를 들어 복잡한 마이크로서비스 아키텍처에서 요청이 처리되는 방식을 이해하고 어떤 로그를 검사할지 식별하는 데 도움이 됩니다.

Trace는 Google Cloud 서비스 App Engine과 같은 서비스와 계측하는 애플리케이션에서 지연 시간 데이터를 수신하므로 다음 질문의 답을 찾을 수 있습니다.

  • 애플리케이션이 특정 요청을 처리하는 데 걸리는 시간
  • 애플리케이션이 요청을 처리하는 데 오랜 시간이 걸리는 이유
  • 일부 요청이 다른 요청보다 오래 걸리는 이유
  • 애플리케이션에 대한 요청의 전체 지연 시간
  • 시간이 지남에 따라 애플리케이션의 지연 시간 증가 또는 감소
  • 애플리케이션 지연 시간을 줄이는 방법
  • 애플리케이션의 종속 항목

Trace를 사용하여 애플리케이션을 관리하는 방법이 궁금하다면 분산 애플리케이션 문제 해결: 근본 원인 분석을 위해 trace와 로그를 함께 사용 블로그를 참조하세요.

애플리케이션 프로파일링에 대한 자세한 내용은 Cloud Profiler를 참조하세요.

환경 지원

Trace는 다음 환경에서 Linux를 실행합니다.

Trace는 trace 정보를 캡처하기 위해 애플리케이션 계측용 클라이언트 라이브러리를 제공합니다. 언어별 설정 안내는 Trace 계측을 참조하세요.

자동 trace를 사용하는 구성

일부 구성에서는 trace 데이터가 자동으로 캡처됩니다.

  • App Engine 표준 환경

    Java 8, Python 2, PHP 5 애플리케이션은 Trace 클라이언트 라이브러리를 사용할 필요가 없습니다. 이러한 런타임은 애플리케이션 URI에 대한 요청의 지연 시간 데이터를 Trace에 자동으로 전송합니다. 요청에는 App Engine 서비스에 대한 왕복 RPC 호출의 지연 시간 데이터가 포함됩니다. Trace는 Cloud SQL을 제외한 모든 App Engine Admin API에서 작동합니다.

  • Cloud Run Functions 및 Cloud Run

    수신 및 발신 HTTP 요청의 경우 지연 시간 데이터가 Trace로 자동으로 전송됩니다.

trace 데이터를 수집하는 API

Telemetry API 또는 Cloud Trace API를 사용하여 trace 데이터를 프로젝트로 전송할 수 있습니다. Telemetry API를 사용하는 것이 좋습니다. 이유는 다음과 같습니다.

  • 이 API는 오픈소스 OpenTelemetry 생태계와 호환되며 한도는 독점 Google Cloud API인 Cloud Trace API의 한도보다 더 관대한 경우가 많습니다.

  • trace 데이터는 일반적으로 OpenTelemetry OTLP 프로토콜에서 정의한 proto 파일과 일치하는 형식으로 저장됩니다. 일부 필드는 저장 전에 OpenTelemetry 전용 데이터 유형에서 JSON 데이터 유형으로 변환될 수 있습니다. 저장 형식에 대한 자세한 내용은 trace 데이터의 스키마를 참조하세요.

  • 수집기 기반 trace 데이터 내보내기의 경우 계측은 별 내보내기 도구를 사용하지 않습니다 Google Cloud.

  • 애플리케이션 모니터링과 같은 일부 기능은 trace 데이터를 Telemetry API로 전송하는 경우에만 사용할 수 있는 정보를 사용합니다.

프로젝트에서 trace 데이터를 저장하지 못하도록 하려면 Cloud Trace API를 사용 중지하세요. Google Cloud Cloud Trace API를 사용 중지하면 다음과 같은 결과가 발생합니다.

  • Google Cloud 서비스가 trace 데이터를 프로젝트로 전송하지 않습니다.
  • Google Cloud Cloud Trace API 엔드포인트로 전송된 요청에 오류 코드로 응답합니다.
  • Google Cloud Observability는 trace 관련 Telemetry API 엔드포인트로 전송된 trace 데이터를 삭제합니다. Telemetry API는 로그, 측정항목, trace 데이터를 수신할 수 있으므로 사용 중지하지 마세요.

조직을 관리하고 Cloud Trace 사용을 방지하려면 다음과 같은 조직 정책 제약조건을 만드세요.

Cloud Trace 및 에이전트형 애플리케이션

에이전트형 애플리케이션의 동작을 이해하려면 원격 Google Cloud MCP 서버를 호출할 때 프롬프트와 응답을 수집하거나 스팬을 생성하도록 구성하세요. 프롬프트와 응답을 사용하면 에이전트형 애플리케이션이 사용하는 추론을 이해할 수 있습니다. 도구 호출을 기록하는 스팬을 사용하면 도구 호출, 호출 상태, 요청 지연 시간을 확인할 수 있습니다.

여러 계측 샘플은 프롬프트와 응답을 수집하도록 애플리케이션을 구성하는 방법을 보여줍니다. 이러한 샘플은 OpenTelemetry를 사용합니다. 자세한 내용은 생성형 AI 애플리케이션을 계측하는 방법을 참조하세요.

trace 생성을 지원하는 원격 Google Cloud MCP 서버와 이러한 서버에 스팬을 만들도록 애플리케이션을 구성하는 방법을 알아보려면 Trace를 사용하여 MCP 호출 조사를 참조하세요.

애플리케이션을 계측하는 방법

애플리케이션을 계측하여 성능을 이해하고 오류를 해결하는 데 도움이 되는 특정 정보를 수집합니다. 여러 오픈소스 계측 프레임워크는 로그, 측정항목, trace 데이터를 수집하고 를 포함한 모든 공급업체에 해당 데이터를 전송할 수 있습니다 Google Cloud. 에이전트형 애플리케이션의 경우 일부 프레임워크는 프롬프트와 응답을 수집하거나 일부 원격 Google Cloud MCP 서버 호출을 추적할 수 있는 컨텍스트를 전달할 수 있습니다.

애플리케이션을 계측하려면 공급업체 및 제품별 API 또는 클라이언트 라이브러리 대신 OpenTelemetry와 같은 오픈소스인 공급업체 중립적인 계측 프레임워크를 사용하는 것이 좋습니다. 이러한 프레임워크에 대한 자세한 내용은 계측 및 모니터링 가능성계측 방법 선택을 참조하세요.

제공하는 계측 샘플은 OpenTelemetry를 사용합니다.

  • trace 생성을 지원하는 원격 Google Cloud MCP 서버와 이러한 서버에 스팬을 만들도록 애플리케이션을 구성하는 방법을 알아보려면 Trace를 사용하여 MCP 호출 조사를 참조하세요.

Cloud Trace 클라이언트 라이브러리를 사용하여 애플리케이션을 계측할 수도 있습니다. 하지만 OpenTelemetry를 사용하는 것이 좋습니다. OpenTelemetry 라이브러리는 OpenTelemetry에서 정의하는 OTLP 형식으로 trace 데이터를 내보내고 더 간단하기 때문에 Trace 클라이언트 라이브러리보다 선호됩니다. 자세한 내용은 Cloud Trace용 클라이언트 라이브러리를 참조하세요.

구성요소

Trace는 trace를 수집하여 프로젝트로 전송하는 추적 클라이언트로 구성됩니다. Google Cloud 그런 다음 Google Cloud 콘솔을 사용하여 에이전트가 수집한 데이터를 보고 분석할 수 있습니다. 데이터 모델에 대한 자세한 내용은 trace 및 스팬을 참조하세요.

추적 클라이언트

프로그래밍 언어에 OpenTelemetry 라이브러리를 사용할 수 있는 경우 OpenTelemetry를 사용하여 trace 데이터를 만들고 전송하는 프로세스를 간소화할 수 있습니다. OpenTelemetry는 사용이 간편할 뿐만 아니라 일괄 처리를 구현하여 성능을 개선할 수 있습니다.

OpenTelemetry 라이브러리가 없으면 trace SDK 라이브러리를 가져오고 Cloud Trace API를 사용해서 코드를 계측합니다. Cloud Trace API는 trace 데이터를 Google Cloud 프로젝트로 전송합니다.

추적 인터페이스

Trace 인터페이스에서 trace 데이터를 거의 실시간으로 보고 분석할 수 있습니다.

스팬 데이터를 보고 분석하려면 Trace 탐색기모니터링 가능성 분석 페이지를 Google Cloud 사용하면 됩니다.

  • Trace 탐색기: trace 데이터에 대한 집계 정보를 표시하고 개별 trace를 자세히 살펴볼 수 있습니다. 집계된 지연 시간 데이터는 포인터로 탐색할 수 있는 히트맵에 표시됩니다. 표시되는 데이터를 제한하려면 필터를 추가하면 됩니다. 이 페이지에서는 개별 스팬과 trace를 보고 탐색할 수도 있습니다.

  • 모니터링 가능성 분석: 이 페이지에서는 SQL을 사용하여 스팬의 집계 분석을 실행하는 쿼리를 실행할 수 있습니다. SQL 쿼리는 trace 및 로그 데이터를 조인할 수도 있습니다. 쿼리 결과를 표 형식 또는 차트로 볼 수 있습니다. 연결된 데이터 세트를 만드는 경우 BigQuery 를 사용하여 스팬을 분석할 수 있습니다. 자세한 내용은 trace 쿼리 및 분석을 참조하세요.

VPC 서비스 제어 지원

Trace는 VPC 서비스 제어 지원 서비스입니다. Trace 서비스 이름은 cloudtrace.googleapis.com입니다. Trace 서비스에 대해 생성한 VPC 서비스 제어 제한사항은 해당 서비스에만 적용됩니다. 이러한 제한사항은 trace 데이터를 수집할 수 있는 telemetry.googleapis.com 서비스와 같은 다른 서비스에는 적용되지 않습니다.

자세한 내용은 다음을 참조하세요.

Cloud Trace 및 데이터 상주

데이터 상주 또는 영향 수준 4 (IL4) 요구사항이 있기 때문에 Assured Workloads를 사용하는 경우 Cloud Trace API를 사용하여 trace 스팬을 전송하지 마세요.

프로젝트에서 trace 데이터를 저장하지 못하도록 하려면 Cloud Trace API를 사용 중지하세요. Google Cloud Cloud Trace API를 사용 중지하면 다음과 같은 결과가 발생합니다.

  • Google Cloud 서비스가 trace 데이터를 프로젝트로 전송하지 않습니다.
  • Google Cloud Cloud Trace API 엔드포인트로 전송된 요청에 오류 코드로 응답합니다.
  • Google Cloud Observability는 trace 관련 Telemetry API 엔드포인트로 전송된 trace 데이터를 삭제합니다. Telemetry API는 로그, 측정항목, trace 데이터를 수신할 수 있으므로 사용 중지하지 마세요.

조직을 관리하고 Cloud Trace 사용을 방지하려면 다음과 같은 조직 정책 제약조건을 만드세요.

가격 책정

Cloud Trace 가격 책정에 대한 자세한 내용은 Google Cloud Observability 가격 책정 페이지를 참조하세요.

다음 단계