Exploration des traces APM (spans OpenTelemetry)
PostHog capture les traces distribuées depuis OpenTelemetry. Chaque trace est un arbre de spans représentant le chemin d'une requête à travers les services.
Disambiguation : Cette skill concerne les traces APM / OpenTelemetry. Ne pas confondre avec les traces d'analytics LLM (événements agent/modèle $ai_* et outils d'observabilité LLM) ou les logs (posthog:query-logs, posthog:logs-*).
Outils MCP
| Outil | Objectif |
|---|---|
posthog:query-apm-spans |
Rechercher et filtrer les spans (requête de style analytics ; paramètres sous query) |
posthog:apm-trace-get |
Récupérer tous les spans pour un trace_id hexadécimal |
posthog:apm-services-list |
Lister les noms de service distincts |
posthog:apm-attributes-list |
Lister les clés d'attributs de span ou de ressource |
posthog:apm-attribute-values-list |
Lister les valeurs pour une clé d'attribut spécifique |
Pour les agrégats ou jointures non couverts par ces outils, posthog:execute-sql peut être approprié une fois le schéma de span confirmé pour le projet.
Modèle de données des spans
| Champ | Description |
|---|---|
trace_id |
ID hexadécimal liant les spans d'une trace |
span_id |
ID hexadécimal de ce span |
parent_span_id |
ID hexadécimal du span parent (null pour la racine) |
name |
Nom de l'opération (ex. HTTP GET /api/users) |
kind |
0=Non spécifié, 1=Interne, 2=Serveur, 3=Client, 4=Producteur, 5=Consommateur |
service_name |
Service émetteur |
status_code |
0=Non défini, 1=OK, 2=Erreur |
timestamp |
Heure de démarrage (ISO 8601) |
end_time |
Heure de fin (ISO 8601) |
duration_nano |
Durée en nanosecondes |
is_root_span |
Si c'est le point d'entrée de la trace |
Types de filtre de propriété (query.filterGroup)
span— champs intégrés :trace_id,span_id,duration,name,kind,status_codespan_attribute— attributs au niveau du span (ex.http.method)span_resource_attribute— attributs de ressource (ex. labels Kubernetes)
Workflow : enquêter sur les requêtes lentes
- Découvrir les services : appeler
posthog:apm-services-listavec{}(ou filtres applicables selon le schéma de l'outil). - Trouver les spans lents :
posthog:query-apm-spansavec unequeryfiltrant par service etduration(pensez aux nanosecondes : 1s = 1 000 000 000). - Approfondir :
posthog:apm-trace-getavec{ "trace_id": "<hex de l'étape 2>" }.
Workflow : trouver les traces d'erreur
Utiliser posthog:query-apm-spans avec query.filterGroup sur status_code avec des opérateurs exact / numériques selon les besoins — le statut OpenTelemetry 2 signifie erreur.
Workflow : explorer les attributs inconnus
posthog:apm-attributes-list— affiner les clés (ex. rechercher"http").posthog:apm-attribute-values-list— inspecter les valeurs pour une clé choisie.- Construire les filtres dans
posthog:query-apm-spansen utilisant les clés découvertes.
Rappels
- Préférer la découverte des clés d'attribut et des services avant de deviner les filtres.
- Les durées dans les filtres sont en nanosecondes.
query-apm-spansattend un objet wrapperquery; les valeurs par défaut supposent souvent une fenêtre de temps récente — resserrerquery.dateRangequand la question l'implique.