이 페이지에서는 SMT가 있는 구독에 대한 일반적인 문제 해결 팁을 제공합니다.
SMT 모니터링
SMT의 성능과 구독에 미치는 영향을 파악하려면 다음 모니터링 측정항목을 사용하세요.
subscription/message_transform_latencies 측정항목은 SMT가 메시지에 적용되는 데 걸리는 시간을 측정합니다. 이 측정항목은 SMT 지연 시간만 측정하며 메시지 전송 시간의 다른 부분은 포함하지 않습니다.
이 측정항목은 두 가지 주요 라벨을 제공합니다.
status
: 변환이 성공했는지 또는 문제가 발생했는지 보고합니다.filtered
: SMT로 인해 메시지가 필터링되었는지 여부를 나타냅니다. SMT가 구독에서 메시지를 필터링하면 Pub/Sub에서 이를 확인하고 메시지가 구독자에게 전송되지 않습니다. 이filtered
라벨은 SMT가 필터링을 실행하는 경우에만 true입니다. Pub/Sub의 기본 제공 필터링 기능을 사용하여 필터링된 메시지는 이 특정 측정항목에 반영되지 않습니다.
subscription/byte_cost 측정항목은 SMT에 의해 필터링되거나 SMT가 실패한 메시지를 식별하는 데 사용됩니다. 다음과 같은 특정 값을 찾습니다.
SMT가 메시지를 필터링하면 operation_type이
smt_subscribe_filter_drop
입니다.SMT가 메시지를 변환하지 못하면
OK
가 아닌response_code
가 표시됩니다.
백로그 증가
구독에 메시지 백로그가 누적되는 경우 subscription/message_transform_latencies
에서 보고된 INVALID_ARGUMENT
오류를 확인합니다.
INVALID_ARGUMENT
오류를 문제 해결하려면 원하는 구독에 데드 레터 주제를 추가합니다. 데드 레터 주제는 구독자에게 전송할 수 없는 메시지와 함께 실패 이유를 설명하는 CloudPubSubDeadLetterSourceSMTErrorMessage
라는 속성을 캡처합니다.
다음 단계
- 구독 SMT에 여전히 문제가 있는 경우 지원 받기를 참고하세요.