분산 trace 사용

Cloud Run 서비스에 대한 수신 요청은 Cloud Trace에서 볼 수 있는 trace를 자동으로 생성합니다. Cloud Trace에 계측을 추가할 필요 없이 이러한 trace를 사용하여 구현의 지연 시간 문제의 원인을 파악할 수 있습니다. Cloud Run 요청에 대해 표준 W3C trace 컨텍스트 전파 헤더 traceparent가 자동으로 채워집니다.

그러나 추가 계측을 추가할 경우 Cloud Trace를 사용하여 요청이 구현의 각 레이어에 전파되는 데 걸리는 시간(예: 데이터베이스 쿼리를 완료하거나, API 요청에서 결과를 수신하거나, 복잡한 비즈니스 로직을 실행하는 데 걸리는 시간)을 측정할 수도 있습니다. 이러한 각 레이어별 시간 측정을 '스팬'이라고 합니다. Cloud Trace에서 지연 시간 값을 반영하는 폭포식 그래프로 트레이스를 볼 수 있습니다.

청구액

샘플링 여부와 상관없이 Cloud Run에서 자동으로 생성된 trace에는 요금이 청구되지 않습니다. 하지만 Cloud Trace 라이브러리를 사용하고 이와 Cloud Run 제공 스팬의 상관관계를 찾아 자체 스팬을 추가할 경우 Cloud Trace에 따라 요금이 청구됩니다.

Trace 샘플링 레이트

Cloud Run은 모든 요청의 trace를 샘플링하지 않습니다. Cloud Run에서 사용하면 요청은 인스턴스마다 최대 요청 속도(초당 요청 0.1개 또는 10초마다 요청 1개)로 샘플링됩니다. 또한 특정 요청을 trace하도록 지정할 수 있습니다. 요청을 강제로 추적하면 이 요청은 인스턴스마다 최대 0.1초(또는 초당 요청 10개) 속도로 샘플링됩니다.

Cloud Run은 Cloud Run 샘플링 레이트 구성을 지원하지 않습니다.

계측을 추가해야 하는 경우

서비스에 필요한 계측 없이 트레이스가 자동으로 생성됩니다. 하지만 Cloud Trace 기능을 최대한 활용하려면 서비스에 계측 코드를 추가하는 것이 좋습니다. 예를 들어 다음을 수행하려면 계측을 추가해야 합니다.

  • 예를 들어 Cloud Translation API에서 작업을 다시 가져오는 데 걸리는 시간 데이터를 가져오기 위해 커스텀 trace 스팬을 만듭니다.
  • Cloud Trace가 여러 서비스의 요청 흐름을 단일 요청으로 표시하도록 trace 컨텍스트를 전파합니다.

계측을 추가하려면 애플리케이션의 계측 trace를 참조하세요. 서비스의 계측으로 인한 trace에는 표준 Cloud Trace 청구 요금이 발생합니다.

추적 보기

자세한 내용은 트레이스 보기에 관한 문서를 참고하세요.