Trace 2 - Profiler de la chaîne d'export Cockpit
Mise en place d'un profiler pour suivre recherche, upload, génération et sauvegarde.
Optimisation des performances backend
Organisation et pilotage d'un chantier technique
Trace 2
Profiler pour rendre les lenteurs visibles
Trace 2 - Capture du profiler d'export : le moteur utilisé et le temps total sont entourés en bleu.
La Trace 2 ci-contre est une capture réelle du fichier profiler.log. Elle
montre deux exports du même rapport Cockpit : un export avec
OpenTBS, puis un export avec OpenSpout. Les zones entourées en bleu mettent en évidence les deux informations les plus importantes pour comparer les exécutions : le moteur utilisé et le temps total du run.
- Chaque bloc possède un identifiant
export-..., ce qui permet de suivre une exécution complète. - Le contexte précise le nom du fichier et le moteur d'export, donc la comparaison reste lisible.
- Les étapes détaillent la planification, l'envoi des lots, la génération et le résultat final.
Extrait représentatif du log utilisé dans la Trace 2 :
Contexte: nomFichier: uap_report_FR2...xlsm, moteur: opentbs
[api-local] export.défaut: 490.78 s
Total: 494.67 s
Statut: terminé
Contexte: nomFichier: uap_report_FR2...xlsx, moteur: openspout
[api-local] export.défaut: 5.83 s
Total: 10.21 s
Statut: terminéAvant la Trace 2, le problème était formulé de façon trop vague : l'export était long, parfois fragile, et il était difficile de savoir quelle partie de la chaîne provoquait le ralentissement. Le profiler visible dans la Trace 2 a transformé ce constat en mesures exploitables. Le savoir-faire instrumenter une chaîne complète avant d'optimiser se retrouve dans le découpage des étapes : création du job, planification des lots, upload, génération du fichier et statut final.
Grâce à l'identifiant du run et aux durées associées dans la Trace 2, je pouvais aussi
organiser une investigation technique sans mélanger les résultats de plusieurs essais. Cela m'a permis d'avancer par hypothèses : vérifier le moteur Excel, tester l'envoi par lots, observer le temps côté API PHP, puis valider que la nouvelle génération OpenSpout réduisait réellement le temps total.