単一メッセージ変換(SMT)を使用したサブスクリプションのトラブルシューティング

このページでは、SMT を使用するサブスクリプションに関する一般的なトラブルシューティングのヒントを示します。

SMT をモニタリングする

サブスクリプションに対する SMT のパフォーマンスと影響を把握するには、次のモニタリング指標を使用します。

subscription/message_transform_latencies 指標は、SMT がメッセージに適用されるまでの時間を測定します。この指標は SMT のレイテンシのみを測定し、メッセージ配信時間の他の部分は含まれません。

この指標には、次の 2 つの主要なラベルがあります。

  • status: 変換が成功したか、問題が発生したかを報告します。

  • filtered: SMT によってメッセージがフィルタされたかどうかを示します。 SMT がサブスクリプションでメッセージをフィルタすると、Pub/Sub はそのメッセージを確認応答し、メッセージはサブスクライバーに送信されません。この filtered ラベルは、SMT がフィルタリングを実行した場合にのみ true になります。Pub/Sub の 組み込みフィルタリング機能を使用してフィルタされたメッセージは、この特定の指標には反映されません。

subscription/byte_cost 指標 は、SMT によってフィルタされたメッセージや、SMT が 失敗したメッセージを特定するために使用されます。次の特定の値を調べます。

  • SMT がメッセージをフィルタすると、operation_type は smt_subscribe_filter_drop になります。

  • SMT がメッセージの変換に失敗すると、response_codeOK 以外になります。

バックログが蓄積されている

サブスクリプションでメッセージのバックログが蓄積されている場合は、 subscription/message_transform_latencies で報告された INVALID_ARGUMENT エラーを確認します。

INVALID_ARGUMENT エラーをトラブルシューティングするには、対象のサブスクリプションに デッドレター トピックを追加します。デッドレター トピックは、サブスクライバーに配信できなかったメッセージと、失敗の理由を説明する CloudPubSubDeadLetterSourceSMTErrorMessage という属性をキャプチャします。

次のステップ

  • サブスクリプション SMT に問題が解決しない場合は、 サポートの利用をご覧ください。