本页面提供了一些常见的使用 SMT 进行订阅的问题排查提示。
监控 SMT
如需了解 SMT 的性能以及对订阅的影响,请使用以下监控指标:
subscription/message_transform_latencies 指标用于衡量将 SMT 应用于消息所需的时间。该指标仅衡量 SMT 延迟时间,不包括消息传送时间的其他部分。
该指标提供了两个关键标签:
status
:报告转换是否成功或是否遇到问题。filtered
:指示 SMT 是否导致消息被滤除。当 SMT 过滤订阅中的消息时,Pub/Sub 会确认,并且绝不会将消息发送给订阅者。只有当 SMT 执行过滤时,此filtered
标签才为 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 方面的问题,请参阅获取支持。