LifePlay-Revival/Docs/Migration/etat/OPT/DOC/DOC-Tracy.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

6.6 KiB

DOC-Tracy : Tracy Profiler 0.14.1 (capture et export CSV)

Rédigé le 2026-10-15 par un sous-agent. Niveaux : établi (vu, URL ou fichier:ligne), estimé, incertain. Rien n'a été téléchargé.

Identité

  • Version : 0.14.1, tag v0.14.1, publiée le 2026-08-22 (published_at 18:22 UTC, API GitHub). Pas une préversion. Établi.
  • Page du tag : https://github.com/wolfpld/tracy/releases/tag/v0.14.1 ; API : https://api.github.com/repos/wolfpld/tracy/releases/tags/v0.14.1
  • Manuel de cette version : asset tracy.pdf (1089752 octets) de la release, et source https://raw.githubusercontent.com/wolfpld/tracy/v0.14.1/manual/tracy.md (382703 caractères, consulté par tranches via un résumeur, les chapitres capture et csvexport ont été trouvés ; le PDF n'a pas été lu).
  • Assets exacts : linux-0.14.1.zip (13445515), macos-0.14.1.zip (11395753), tracy.pdf (1089752), windows-0.14.1.zip (15968996). Contenu du zip Windows : non vérifié (voir Non établi).
  • Notes de la release (résumé) : correctifs, nouvelles macros TRACY_NO_WAIT_STACKS et TRACY_ASSERT, documentation, fin de support du chargement des traces antérieures à 0.11.
  • Licence : BSD à 3 clauses (R11-12) ; le moteur 5.8 en conserve deux copies de licence (voir plus bas).
  • Chemin local dans le moteur : aucune doc ni source Tracy (voir section moteur).

Capture hors ligne : outil capture (établi)

Nom dans le manuel : tracy-capture (dossier capture du dépôt). Syntaxe lue dans capture/src/capture.cpp du tag (usage affiché : capture -o sortie.tracy [-a adresse] [-p port] [-f] [-s secondes] [-m limite]) et dans le manuel :

  • -o fichier : sortie, obligatoire (sans lui : usage et code de sortie 1).
  • -a adresse : adresse du programme profilé ; défaut 127.0.0.1 dans le code, localhost dans le manuel.
  • -p port : défaut 8086 dans le code.
  • -f : écrase une sortie existante (sinon code de sortie 4 ; sortie non inscriptible : 5).
  • -s secondes : déconnexion automatique après la durée (défaut -1 = illimité).
  • -m limite : plafond mémoire en pourcentage de la RAM (code : borné à 1-999 ; le manuel dit que plus de 100 % utilise le swap).
  • Ctrl+C ou fin du minuteur : déconnecte puis enregistre ; sauvegarde compressée Zstd niveau 3 ; code de sortie 0 en succès, mais 0 aussi si l'enregistrement échoue (code) : ne pas se fier au code de sortie seul, vérifier le fichier.
  • Le manuel décrit aussi tracy-capture-daemon (plusieurs clients ; options -o, -p défaut 8086, -m, --filter-name, --filter-port), non lu dans le code.
  • Le programme profilé doit être compilé avec le client Tracy et écouter sur le port ; l'outil s'y connecte (estimé : le code appelle « serveur » l'hôte joint, le manuel dit « client » ; les deux désignent le programme profilé).

Export CSV : outil csvexport (établi)

Nom dans le manuel : tracy-csvexport (dossier csvexport). Syntaxe : un seul fichier .tracy en argument, résultat sur la sortie standard (à rediriger). Options (manuel et csvexport.cpp, accord) : -h/--help, -V/--version (code seul), -f/--filter nom, -c/--case, -s/--sep séparateur, -e/--self (temps propre), -u/--unwrap (une ligne par événement), -g/--gpu, -m/--messages, -p/--plot (avec -u seulement), -t/--truncated_mean [centile] (défaut 90, borné 1-99 ; la forme courte -t exige un argument dans le code).

Colonnes (code) : mode par défaut name, src_file, src_line, total_ns, total_perc, counts, mean_ns, min_ns, max_ns, std_ns (+ percentile_ns et truncated_mean_ns avec -t) ; mode -u : name, src_file, src_line, ns_since_start, exec_time_ns, thread, value ; mode -g : name, src_file, temps depuis le début, durée GPU ; mode -m : MessageName, total_ns.

Dans le moteur 5.8 local

  • Code Tracy : introuvable. Aucun fichier au nom contenant tracy dans Engine\Source\ThirdParty hors licences ; aucune occurrence dans Engine\Source\Runtime\Core ni dans Engine\Source\Programs\UnrealBuildTool (Grep) ; Engine\Plugins\Performance sans fichier tracy. La recherche texte de l'ensemble de Plugins et ThirdParty a dépassé le délai : couverture partielle.
  • Le moteur livre seulement deux textes de licence : Engine\Source\ThirdParty\Licenses\tracy_753956.license (URL .../blob/0753956/LICENSE, BSD 3 clauses, copyright 2017-2024) et tracy_v5479a42.license (.../blob/5479a42/LICENSE). Établi. Leur usage dans un module n'a pas été retrouvé (estimé : dépendance d'un outil ou plugin tiers, sans preuve).
  • Interface FExternalProfiler : Engine\Source\Runtime\Core\Public\ProfilingDebugging\ExternalProfiler.h:15-31 (classe, fonction modulaire IModularFeature). Sélection du profileur actif (:76-97) par, dans l'ordre : argument -NomDuProfileur, variable d'environnement UE_EXTERNAL_PROFILER, [Core.ProfilingDebugging]:ExternalProfiler dans DefaultEngine.ini ; le nom doit égaler GetProfilerName(). Accès : GetActiveProfiler (:74), SetActiveProfilerRecording (:103) ; classes FExternalProfilerIncluder et Excluder (:183 et suivantes). Établi.
  • Autre profileur externe présent : dossier Engine\Source\ThirdParty\SuperLuminal (établi par listage).

Écarts doc / code local

Point Doc ou BC Constat Niveau
Noms d'outils manuel : tracy-capture, tracy-csvexport code du tag : usage affiché capture ; csvexport.cpp affiche « extract » ; noms de binaires du zip Windows non vérifiés établi (texte)
Adresse par défaut manuel : localhost code : 127.0.0.1 établi
Port manuel : -p « optionnel » code : défaut 8086 établi
Options de csvexport manuel : liste de 10 options code : en plus -V/--version établi
Syntaxe non confirmée R11-13 Levée pour capture et csvexport (tag v0.14.1) établi
Plugin Tracy du moteur R11-15 : aucun plugin officiel trouvé Confirmé côté moteur local : seulement deux licences, pas de code trouvé établi (couverture partielle)
FExternalProfiler R11-15 non vérifié Existe : ExternalProfiler.h:19 ; sélection par nom, environnement ou config établi
Code de sortie de capture non documenté dans BC code : 0 même si la sauvegarde échoue établi

Non établi

  • Contenu du windows-0.14.1.zip (présence de tracy-capture.exe et tracy-csvexport.exe) : non listé.
  • Lecture du tracy.pdf (équivalence avec tracy.md non vérifiée) ; chapitre capture-daemon relu en résumé seulement.
  • Compatibilité de Tracy 0.14.1 avec UE 5.8 et coût d'intégration (aucun module ni build essayé).
  • Où le moteur utilise les licences Tracy (code non retrouvé, recherche tronquée sur Plugins et ThirdParty).
  • Fonctionnement de capture avec un jeu empaqueté en Test ou Shipping.
  • Fonction MCP du manuel (save_trace) : mentionnée dans le manuel, non étudiée.