Resolver problemas de uma assinatura com transformações de mensagem única (SMTs)

Nesta página, você encontra algumas dicas comuns de solução de problemas para assinaturas com SMTs.

Monitorar SMTs

Para entender a performance e o impacto das SMTs em uma assinatura, use as seguintes métricas de monitoramento:

A métrica subscription/message_transform_latencies mede quanto tempo leva para que as SMTs sejam aplicadas a uma mensagem. A métrica mede apenas a latência do SMT e não inclui outras partes do tempo de entrega da mensagem.

A métrica fornece dois rótulos principais:

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

  • filtered: indica se a SMT fez com que a mensagem fosse filtrada. Quando um SMT filtra uma mensagem em uma assinatura, o Pub/Sub a confirma, e ela nunca é enviada aos assinantes. O rótulo filtered é verdadeiro apenas quando um SMT realiza a filtragem. As mensagens filtradas usando os recursos de filtragem integrados do Pub/Sub não são refletidas nessa métrica específica.

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

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

  • Se uma SMT não transformar uma mensagem, você verá um response_code que não é OK.

Um backlog está se acumulando

Se você notar um acúmulo de mensagens na assinatura, verifique se há erros de INVALID_ARGUMENT informados em subscription/message_transform_latencies.

Para resolver problemas de erros de INVALID_ARGUMENT, adicione um tópico de mensagens inativas à assinatura de interesse. O tópico de mensagens inativas captura mensagens que não puderam ser entregues aos assinantes, além de um atributo chamado CloudPubSubDeadLetterSourceSMTErrorMessage que explica o motivo da falha.

A seguir