Flush Tracy ve Worker situaci

- DefenestrationPraha
- Člen | 134
Toto téma souvisí úzce s tématem
https://forum.nette.org/…ompatibilita
Dělám experimenty s chováním Nette ve FrankenPHP a nemohu z Nette „dostat“ Tracy Bar. Maximálně se mi ji podařilo vypsat do outputu (když jsem spustil ručně
if (Debugger::isEnabled() && Debugger::$showBar) {
Debugger::getStrategy()->renderBar();
}
ale nikdy ne do HTTP response. Což je trochu nemilé, protože jinak ten systém pod FrankenPHP chodí dobře, svižně, a rád bych na něm debugoval a optimalizoval, k čemuž je Tracy skvělá.
Problém je patrně v tom, že Tracy se vypisuje prostřednictvím svého shutdownHandleru, a ten se nezavolá patrně proto, že worker skript neskončil.
Rád bych se tedy zeptal: je možné nějak Tracy přimět k tomu, aby vydala svá tajemství, i nějak ručně? Prostě ji přimět k tomu, aby zapsala ten svůj doušek na závěr (<script…>) tehdy, když chci? Třeba v přetížení Presenter::shutdown nebo něčem podobném?
Protože pokud by to šlo, tak bych si ji takto rád vyvolal, třeba jen v situaci, že běží ve worker threadu. To bych dokázal zjistit pomocí systémové proměnné.

- raneomik
- Člen | 1
Dobrý večer,
Rád bych věděl jak na tom toto téma po víc jak roce je ? Nedávno jsem totiž začínal s Nette a taky ho zkoušel pod frankenPHP, a v debug modu jsem padl přesně na vaše problémy
- žádná Tracy bar
- žádná bluescreen
Pak po dlouhých diskuzích s chatGPT, koumání a nakonec náhody po úvaze
¨jak vyvolat shutdownHandler¨ mně napadlo tam dát
exit, a jak Tracy bar tak bluescreen (tady bylo třeba
Debugger::exceptionHandler($e)) tu náhle byly. Bohužel to taky
ale znamená že frankenPHP vyjde z worker modu, a nejspíš ze všech
threadů… V lokálním Dev prostředí kdy na projektu pracuje jen jeden
člověk mi to ale přijde jako dobrý kompromis když je to pod podmínkou kdy
Tracy bar a bluescreen jsou třeba. I tak se mi to ve frankenPHP zdálo
o něco výkonější, ve zkoušce s hey, tam kde mi to v tradičním
single-threadu v php built-in serveru ukazovalo 40–50req/s (1200–1300 bez
xdebug + no-debug. nginx-fpm či apache jsem nezkoušel), franken dává
90–100 req/s (bez xdebug a v prod modu bez exitu to šplhalo až na
3400 req/s).
Zde jsou k dispozici výsledky ¨našich¨ koumání s chatgpt : v nette a v contributte
Editoval raneomik (12. 1. 21:44)