J'ai examiné la documentation de PubSub de Google et j'ai également essayé de rechercher dans Google Cloud Monitoring, mais je n'ai trouvé aucun moyen de déterminer la taille de la file d'attente dans mes sujets.
Étant donné que je prévois d'utiliser PubSub pour l'analyse, il est important pour moi de surveiller le nombre de files d'attente, afin de pouvoir augmenter/réduire le nombre d'abonnés.
Qu'est-ce que je rate?
La métrique que vous souhaitez consulter est "messages non livrés". Vous devriez pouvoir configurer des alertes ou des graphiques qui surveillent cette statistique dans Google Cloud Monitoring sous le type de ressource "Pub/Sub Subscription". Le nombre de messages qui n'ont pas encore été reconnus par les abonnés, c'est-à-dire la taille de la file d'attente, est une métrique par abonnement par opposition à une métrique par sujet. Pour plus d'informations sur la métrique, voir pubsub.googleapis.com/subscription/num_undelivered_messages
dans GCP Metrics List (et autres pour toutes les métriques Pub/Sub disponibles).
La réponse à votre question est "non", il n'y a pas de fonctionnalité pour PubSub qui affiche ces chiffres. La façon dont vous devez le faire est via la surveillance des événements de journal à l'aide de Stackdriver (il m'a fallu un certain temps pour le découvrir également).
La réponse familière à cela est la suivante, étape par étape:
Monitoring
Dashboards
> Create Dashboard
Add Chart
bouton en haut à droite de l'écran du tableau de bordnum_undelivered_messages
puis SAVE
Cela pourrait être utile si vous cherchez un moyen programmatique pour y parvenir:
from google.cloud import monitoring_v3
from google.cloud.monitoring_v3 import query
project = "my-project"
client = monitoring_v3.MetricServiceClient()
result = query.Query(
client,
project,
'pubsub.googleapis.com/subscription/num_undelivered_messages',
minutes=60).as_dataframe()
print(result['pubsub_subscription'][project]['subscription_name'][0])