Resolução de problemas de uma subscrição com transformações de mensagens únicas (SMTs)

Esta página fornece algumas sugestões de resolução de problemas comuns para subscrições com SMTs.

Monitorize SMTs

Para compreender o desempenho e o impacto dos SMTs numa subscrição, use as seguintes métricas de monitorização:

A métrica subscription/message_transform_latencies mede o tempo que as SMTs demoram a ser aplicadas a uma mensagem. A métrica mede apenas a latência do SMT e não inclui outras partes do tempo de entrega das mensagens.

A métrica fornece duas etiquetas principais:

  • status: indica se a transformação foi bem-sucedida ou se ocorreu um problema.

  • filtered: indica se o SMT fez com que a mensagem fosse filtrada. Quando um SMT filtra uma mensagem numa subscrição, o Pub/Sub confirma-a e a mensagem nunca é enviada para os subscritores. Esta etiqueta filtered é verdadeira apenas quando um SMT realiza a filtragem. As mensagens filtradas através das capacidades de filtragem incorporadas do Pub/Sub não se refletem nesta métrica específica.

A métrica subscription/byte_cost é usada para identificar mensagens filtradas por SMTs ou onde as SMTs falharam. Procure estes valores específicos:

  • Quando um SMT filtra uma mensagem, o operation_type é smt_subscribe_filter_drop.

  • Se um SMT não conseguir transformar uma mensagem, vê um response_code que não é OK.

Está a acumular-se um atraso

Se vir um atraso de mensagens a acumular-se na verificação da subscrição, procure erros INVALID_ARGUMENT comunicados em subscription/message_transform_latencies.

Para resolver problemas de erros INVALID_ARGUMENT, adicione um tópico de mensagens não entregues à subscrição de interesse. O tópico de mensagens não entregues capta as mensagens que não puderam ser entregues aos subscritores, juntamente com um atributo denominado CloudPubSubDeadLetterSourceSMTErrorMessage que explica o motivo da falha.

O que se segue?

  • Se continuar a ter problemas com os SMTs da sua subscrição, consulte a secção Obter apoio técnico.