exploring-apm-traces

Par posthog · skills

Analyse les performances des applications distribuées à l'aide des données APM de PostHog (spans OpenTelemetry) via MCP. À utiliser lorsque l'utilisateur pose des questions sur les traces de services, les spans HTTP/base de données lents, les spans d'erreur, les trace IDs ou les attributs de spans — et non sur les traces d'analytique LLM ou les logs produit. Utilise `posthog:query-apm-spans`, `posthog:apm-trace-get`, `posthog:apm-services-list`, `posthog:apm-attributes-list` et `posthog:apm-attribute-values-list`.

npx skills add https://github.com/posthog/skills --skill exploring-apm-traces

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_code
  • span_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

  1. Découvrir les services : appeler posthog:apm-services-list avec {} (ou filtres applicables selon le schéma de l'outil).
  2. Trouver les spans lents : posthog:query-apm-spans avec une query filtrant par service et duration (pensez aux nanosecondes : 1s = 1 000 000 000).
  3. Approfondir : posthog:apm-trace-get avec { "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

  1. posthog:apm-attributes-list — affiner les clés (ex. rechercher "http").
  2. posthog:apm-attribute-values-list — inspecter les valeurs pour une clé choisie.
  3. Construire les filtres dans posthog:query-apm-spans en 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-spans attend un objet wrapper query ; les valeurs par défaut supposent souvent une fenêtre de temps récente — resserrer query.dateRange quand la question l'implique.

Skills similaires