En esta página se ofrecen algunos consejos habituales para solucionar problemas con las suscripciones con SMTs.
Monitorizar SMTs
Para conocer el rendimiento y el impacto de las SMTs en una suscripción, usa las siguientes métricas de monitorización:
La métrica subscription/message_transform_latencies mide el tiempo que tardan en aplicarse las transformaciones de mensajes de suscripción a un mensaje. La métrica solo mide la latencia de SMT y no incluye otras partes del tiempo de entrega de mensajes.
La métrica proporciona dos etiquetas clave:
status
: indica si la transformación se ha realizado correctamente o si ha habido algún problema.filtered
: indica si el SMT ha provocado que el mensaje se filtre. Cuando un SMT filtra un mensaje en una suscripción, Pub/Sub lo confirma y el mensaje nunca se envía a los suscriptores. La etiquetafiltered
solo es verdadera cuando un SMT realiza el filtrado. Los mensajes filtrados mediante las funciones de filtrado integradas de Pub/Sub no se reflejan en esta métrica específica.
La métrica subscription/byte_cost se usa para identificar los mensajes que se filtran por SMTs o en los que los SMTs han fallado. Busca estos valores específicos:
Cuando un SMT filtra un mensaje, el valor de operation_type es
smt_subscribe_filter_drop
.Si un SMT no puede transformar un mensaje, verás un
response_code
que no esOK
.
Se está acumulando un backlog
Si ves que se acumula un gran número de mensajes en la suscripción, comprueba si hay errores de INVALID_ARGUMENT
en subscription/message_transform_latencies
.
Para solucionar los errores de INVALID_ARGUMENT
, añade un tema de mensajes fallidos a la suscripción que te interese. El tema de mensajes fallidos captura los mensajes que no se han podido entregar a los suscriptores, junto con un atributo llamado CloudPubSubDeadLetterSourceSMTErrorMessage
que explica el motivo del fallo.
Siguientes pasos
- Si sigues teniendo problemas con tus SMTs de suscripción, consulta la sección Obtener asistencia.