Memecahkan masalah subscription dengan Single Message Transforms (SMT)

Halaman ini memberikan beberapa tips pemecahan masalah umum untuk langganan dengan SMT.

Memantau SMT

Untuk memahami performa dan dampak SMT pada langganan, gunakan metrik pemantauan berikut:

Metrik subscription/message_transform_latencies mengukur berapa lama waktu yang diperlukan untuk menerapkan SMT ke pesan. Metrik ini hanya mengukur latensi SMT dan tidak menyertakan bagian lain dari waktu pengiriman pesan.

Metrik ini memberikan dua label utama:

  • status: melaporkan apakah transformasi berhasil atau mengalami masalah.

  • filtered: menunjukkan apakah SMT menyebabkan pesan difilter. Saat SMT memfilter pesan pada langganan, Pub/Sub akan mengonfirmasinya, dan pesan tersebut tidak pernah dikirim ke pelanggan. Label filtered ini hanya benar jika SMT melakukan pemfilteran. Pesan yang difilter menggunakan kemampuan pemfilteran bawaan Pub/Sub tidak tercermin dalam metrik khusus ini.

Metrik subscription/byte_cost digunakan untuk mengidentifikasi pesan yang difilter oleh SMT atau saat SMT gagal. Cari nilai spesifik berikut:

  • Saat SMT memfilter pesan, operation_type adalah smt_subscribe_filter_drop.

  • Jika SMT gagal mengubah pesan, Anda akan melihat response_code yang bukan OK.

Backlog menumpuk

Jika Anda melihat antrean pesan yang menumpuk di langganan, periksa error INVALID_ARGUMENT yang dilaporkan di subscription/message_transform_latencies.

Untuk memecahkan masalah error INVALID_ARGUMENT, tambahkan topik surat mati ke langganan minat. Topik dead letter menangkap pesan yang tidak dapat dikirim ke pelanggan, beserta atribut yang disebut CloudPubSubDeadLetterSourceSMTErrorMessage yang menjelaskan alasan kegagalan.

Langkah berikutnya