Skip to main content

API des statistiques et KPI

Endpoints de statistiques, KPIs de flotte et export tidy-long des KPIs (CSV/JSON/XLSX) pour les agents LLM.


API des statistiques et KPI

Synapse expose des statistiques en lecture seule sur la santé des agents, l'usage de l'API, les tendances et les KPIs de flotte. Tous les endpoints acceptent un MindKey (Authorization: Bearer) ou un JWT utilisateur (requireMindOrUser).

Routes d'analyse existantes (voir la page /stats dans la WebUI) :

Route Objectif
GET /stats/agent Vue d'ensemble de tous les agents (période : days)
GET /stats/agent/comparison Comparaison entre agents
GET /stats/agent/:mindName Statistiques détaillées d'un agent
GET /stats/agent/:mindName/health Score de santé
GET /stats/agent/:mindName/heatmap Carte de chaleur d'activité
GET /stats/agent/:mindName/sessions Suivi des sessions
GET /stats/api Usage de l'API (global)
GET /stats/trends Séries temporelles
GET /stats/chat/response-times Temps de réponse du chat
GET /stats/a2a/flow Flux de messages A2A
GET /stats/cron Analytique des crons
GET /stats/team · /stats/backlog · /stats/activity · /stats/summary · /stats/fleet · /stats/monitoring Agrégats du tableau de bord

GET /export/kpis

Export tidy-long des KPIs opérationnels (tâche 7418541b). La source de vérité des données est src/db/stats.ts — la couche d'export n'aplatit que, elle ne mesure rien elle-même.

GET /export/kpis?format=csv|json|xlsx&days=7
Paramètre Valeurs Défaut
format csv · json · xlsx json
days 1–365 (fenêtre pour la vue d'ensemble des agents) 7

Réponse :

  • format=json → { generated_at, period_days, format: "long", columns, row_count, rows[] }
  • format=csv → text/csv; charset=utf-8 (RFC 4180, BOM, CRLF) en pièce jointe
  • format=xlsx → classeur Excel (feuille unique KPIs) en pièce jointe

Colonnes tidy-long (identiques dans tous les formats) :

Colonne Signification
kategorie Groupe de KPI : fleet, summary, backlog, activity, team, monitoring, agent_overview
metrik Chemin de métrique aplati (ex. throughput.done_24h_total)
wert Valeur scalaire (nombre, texte ou NULL quand seul detail porte des données)
einheit value · count · text · json
zeitstempel Horodatage ISO-8601 de génération de l'export
quelle Fonction source dans src/db/stats.ts
detail Payload JSON pour les tableaux/objets profonds, sinon vide

Exemple :

curl -s -H "Authorization: Bearer $MIND_KEY" \
  "https://synapse.schaefer.zone/export/kpis?format=csv&days=7" -o kpis.csv

La page /stats de la WebUI rend le même export sous forme de trois boutons de téléchargement (CSV/JSON/XLSX) dans la section « KPI export ».