Dans Cloud Trace, les traces et les segments forment le modèle de données utilisé pour suivre le chemin et la latence des requêtes dans vos applications distribuées. Une trace capture l'exécution d'une requête de bout en bout dans vos services. Une trace est composée de segments, qui enregistrent les opérations individuelles opérations, les appels de fonction et les RPC qui se produisent lors de cette requête.
Modèle de données de trace
Une trace se compose des éléments suivants :
ID de trace : identifiant unique de l'opération de bout en bout. L'ID de trace est propagé dans le contexte de la requête au-delà des limites du service.
Collection de segments : ensemble de segments qui partagent le même ID de trace. Ces segments forment un arbre ou un graphe orienté acyclique qui représente la hiérarchie des appels d'une requête.
Cloud Trace utilise l'ID de trace pour identifier les segments de son dépôt associés à la même trace.
Modèle de données de segment
Un segment représente une opération unique qui s'est produite au cours d'une période spécifique. Chaque segment contient des champs qui fournissent des informations sur le segment et l'état de l'opération :
Les identifiants incluent les champs suivants :
- ID de trace : identifiant unique de la requête ou de la trace globale à laquelle appartient le segment.
- ID de segment : identifiant unique du segment. Si une opération est appelée plusieurs fois dans une même trace, chaque appel génère un segment distinct portant le même nom, mais avec un ID de segment unique.
- ID de segment parent : identifie l'opération parente qui a appelé ce segment.
L'ID de segment parent du segment "racine" est défini sur
null. - Nom : nom de l'opération effectuée.
- Type : le type de segment fournit des informations aux outils de traçage, tels que l' explorateur de traces, sur la relation entre les segments. Pour en savoir plus, consultez OpenTelemetry SpanKind.
Les informations d'exécution sont fournies dans les champs suivants :
- État : enregistre l'état d'achèvement de l'opération. La valeur de ce champ est
Unset(par défaut),ErrorouOk. La valeur par défaut n'indique pas d'erreur. - Heure de début : heure de début de l'opération.
- Heure de fin : heure de fin de l'opération.
- État : enregistre l'état d'achèvement de l'opération. La valeur de ce champ est
Les segments peuvent contenir d'autres champs, tels que des événements, des attributs et des liens :
- Les événements enregistrent des messages structurés horodatés dans un segment.
- Les attributs stockent des informations supplémentaires sur une opération à l'aide de paires clé/valeur. Lorsque vous écrivez des attributs, nous vous recommandons de suivre les conventions sémantiques OpenTelemetry dans la mesure du possible.
- Les liens vous permettent de relier un segment à un autre.
Pour en savoir plus, consultez OpenTelemetry : Segments.
Ressources
Ressources OpenTelemetry :
Étape suivante
- En savoir plus sur le contexte et la propagation du contexte.
- En savoir plus sur l'échantillonnage.