Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:End-to-end tracing analysis

Dernière mise à jour :Aug 09, 2026

Dans un système distribué, une seule requête peut traverser des dizaines de services avant d'être traitée. Lorsqu'un message reste bloqué, qu'un consommateur expire ou que la latence augmente brusquement, il est essentiel de disposer d'une visibilité sur le flux des messages pour identifier la cause racine au sein de la chaîne producteur-broker-consommateur.

ApsaraMQ for RocketMQ génère des données de traçage conformes aux conventions sémantiques OpenTelemetry pour la messagerie. Exportez ces données vers Simple Log Service ou Application Real-Time Monitoring Service (ARMS) afin de suivre la livraison des messages, de mesurer la latence de bout en bout et de diagnostiquer les défaillances.

Limites

Avant de configurer le traçage, prenez connaissance des contraintes suivantes :

  • SDK Java uniquement : Seuls les clients utilisant le SDK pour Java peuvent rapporter des données de traçage. Pour plus de détails sur les versions, consultez les notes de version.

  • Messages transactionnels : Seules les données relatives à la production sont tracées pour les messages transactionnels.

  • Consommateurs push uniquement : Seuls les messages consommés par des consommateurs push génèrent des données de traçage. Consultez les types de consommateurs.

Exportation des données de traçage

ApsaraMQ for RocketMQ exporte des données de traçage conformes à OpenTelemetry vers un serveur d'analyse de traçage. Vous pouvez utiliser un service géré par Alibaba Cloud ou construire votre propre backend.

Simple Log Service

Simple Log Service propose des tableaux de bord permettant de surveiller le délai d'envoi des messages, le taux de réussite des envois, le taux de réussite de la consommation et la latence de bout en bout. Il est possible d'analyser les requêtes individuelles en filtrant par ID de message ou ID de trace.

Pour en savoir plus sur Simple Log Service, consultez les notes d'utilisation.

ARMS

Application Real-Time Monitoring Service (ARMS) offre un traçage distribué via son composant Tracing Analysis.

Pour plus d'informations sur ARMS Tracing Analysis, consultez la rubrique Présentation de Tracing Analysis.

Fonctionnement du traçage

ApsaraMQ for RocketMQ enregistre chaque étape du cycle de vie d'un message sous forme de span. Chaque span capture des données temporelles, les métadonnées du message et le type d'opération.

Types de spans

Trois types de spans permettent de couvrir le cycle de vie des messages :

Type de span

Données capturées

Cycle de vie

send

Un message quittant le producteur.

Commence lorsque le producteur débute l'envoi et se termine lorsque l'envoi réussit, échoue ou lève une exception. En cas de nouvelles tentatives, chaque essai génère un span distinct.

receive

Requête de sondage long (long polling) d'un consommateur.

Correspond au cycle de vie de l'opération de sondage long. Désactivé par défaut.

process

Traitement d'un message par un consommateur push.

Débute au lancement du rappel MessageListener et se termine à son retour.

Activation des spans receive

Les spans receive sont désactivés par défaut. Pour les activer, ajoutez le paramètre JVM suivant :

-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true

Relations entre les spans

La relation entre les spans dépend de l'activation ou non des spans receive :

  • Spans receive désactivés (par défaut) : Le span process est un enfant direct du span send.

  • Spans receive activés : Le span process est un enfant du span receive et est lié au span send.

Span relationships

Attributs de messagerie

Chaque span inclut des attributs définis par les conventions sémantiques OpenTelemetry pour les spans de messagerie.

Attributs standard

  • messaging.message.id : Identifiant unique du message.

  • messaging.destination : Sujet (topic) ou file d'attente vers lequel le message est livré.

  • messaging.operation : Type d'opération : send, receive ou acknowledge.

Attributs spécifiques à RocketMQ

ApsaraMQ for RocketMQ ajoute les attributs suivants. Pour la liste complète, consultez les attributs Apache RocketMQ.

Attribut

Type

Description

messaging.rocketmq.client_group

string

Groupe de consommateurs utilisé pour l'équilibrage de charge.

messaging.rocketmq.client_id

string

Identifiant unique de l'instance cliente.

messaging.rocketmq.message.delivery_timestamp

int

Heure de livraison planifiée pour les messages programmés et différés.

messaging.rocketmq.message.group

string

Groupe de messages pour les messages ordonnés.

messaging.rocketmq.message.type

string

Type de message : normal, fifo, delay ou transaction. Consultez les messages normaux, les messages ordonnés, les messages programmés et différés et les messages transactionnels.

messaging.rocketmq.message.tag

string

Tag utilisé pour filtrer les messages côté consommateur.

messaging.rocketmq.message.keys

string[]

Clés métier permettant de rechercher des messages spécifiques.