Obtenir des compteurs de messages
Cet article vous montre différentes façons d’obtenir le nombre de messages pour une file d’attente ou un abonnement. Le fait de connaître le nombre de messages actifs permet de déterminer si une file d’attente génère un backlog dont le traitement nécessite davantage de ressources que celles déployées actuellement.
Compteur | Description |
---|---|
ActiveMessageCount | Nombre de messages dans la file d’attente ou l’abonnement qui sont à l’état actif et prêts à être remis. Cela inclut les messages différés. |
ScheduledMessageCount | Nombre de messages à l’état planifié. |
DeadLetterMessageCount | Nombre de messages dans la file d’attente de lettres mortes. |
TransferMessageCount | Nombre de messages en attente de transfert vers une autre file d’attente ou rubrique. |
TransferDeadLetterMessageCount | Nombre de messages dont le transfert vers une autre file d’attente ou rubrique a échoué et qui ont été déplacés vers la file d’attente de lettres mortes de transfert. |
Si une application a besoin de mettre à l’échelle les ressources en fonction de la longueur de la file d’attente, elle doit le faire progressivement. L’acquisition des compteurs de messages est une opération onéreuse dans le répartiteur de messages, dont l’exécution fréquente compromet directement les performances des entités.
Une autre mesure utile à prendre en compte pour la mise à l’échelle est l’heure entre le moment où le dernier message a été envoyé et le moment où il a été traité, également appelé « heure critique ». Cela est utile pour les scénarios où une file d’attente peut contenir des milliers de messages, mais que le traitement est assez rapide pour continuer, ce qui donne une « heure critique » de quelques secondes seulement, ce qui peut être plus que suffisant pour quelque chose comme un point de terminaison d’envoi d’e-mail. Des bibliothèques tierces telles que NServiceBus émettre cette fonctionnalité et d’autres mesures utiles par le biais d’OpenTelemetry.
Remarque
Les messages envoyés à une rubrique Service Bus sont transférés aux abonnements pour cette rubrique. Par conséquent, le nombre de messages actifs sur la rubrique elle-même est 0, car ces messages ont été transférés à l’abonnement. Récupérez le nombre de messages au niveau de l’abonnement et vérifiez qu’il est supérieur à 0. Même si vous voyez des messages au niveau de l’abonnement, ils se trouvent en réalité dans un stockage appartenant à la rubrique. Si vous regardez les abonnements, ils auront un nombre de messages non nul, ce qui contribuera au stockage utilisé par le sujet.
En passant par le portail Azure
Accédez à votre espace de noms, puis sélectionnez la file d’attente. Les compteurs de messages s’affichent sur la page Vue d’ensemble de la file d’attente.
Accédez à votre espace de noms, sélectionnez la rubrique, puis sélectionnez l’abonnement pour la rubrique. Les compteurs de messages s’affichent sur la page Vue d’ensemble de la file d’attente.
Utilisation de l’interface de ligne de commande Azure
Utilisez la commande az servicebus queue show
pour obtenir les détails du nombre de messages pour une file d’attente, comme indiqué dans l’exemple suivant.
az servicebus queue show --resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--query countDetails
Voici un exemple de sortie :
ActiveMessageCount DeadLetterMessageCount ScheduledMessageCount TransferMessageCount TransferDeadLetterMessageCount
-------------------- ------------------------ ----------------------- ---------------------- --------------------------------
0 0 0 0 0
Utilisez la commande az servicebus topic subscription show
pour obtenir les détails du nombre de messages pour un abonnement, comme indiqué dans l’exemple suivant.
az servicebus topic subscription show --resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysub \
--query countDetails
Utilisation de Microsoft Azure PowerShell
Avec PowerShell, vous pouvez obtenir les détails du nombre de messages pour une file d’attente comme suit :
$queueObj=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queueObj.CountDetails
Voici l'exemple de sortie :
ActiveMessageCount : 7
DeadLetterMessageCount : 1
ScheduledMessageCount : 3
TransferMessageCount : 0
TransferDeadLetterMessageCount : 0
Vous pouvez obtenir les détails du nombre de messages pour un abonnement comme suit :
$topicObj= Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysub
$topicObj.CountDetails
L’objet MessageCountDetails
renvoyé comporte les propriétés suivantes : ActiveMessageCount
, DeadLetterMessageCount
, ScheduledMessageCount
, TransferDeadLetterMessageCount
, TransferMessageCount
.
Étapes suivantes
Essayez les exemples dans le langage de votre choix pour explorer les fonctionnalités d’Azure Service Bus.
- Exemples de bibliothèque de client Azure Service Bus pour .NET (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Java (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Python
- Exemples de bibliothèque de client Azure Service Bus pour JavaScript
- Exemples de bibliothèque de client Azure Service Bus pour TypeScript
Recherchez des exemples pour les anciennes bibliothèques clientes .NET et Java ci-dessous :
- Exemples de bibliothèque de client Azure Service Bus pour .NET (version héritée)
- Exemples de bibliothèque de client Azure Service Bus pour Java (version héritée)
Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.
Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.