Вовед во PHP и DTrace
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Вовед во PHP и DTrace
Референца за `features.dtrace.introduction.php` со подобрена типографија и навигација.
Вовед во PHP и DTrace
DTrace е секогаш достапна рамка за следење со низок надземни трошоци, достапна на голем број платформи вклучувајќи Solaris, macOS, Oracle Linux и BSD. DTrace може да го следи однесувањето на оперативниот систем и извршувањето на корисничките програми. Може да прикажува вредности на аргументи и да се користи за заклучување статистики за перформансите. Сондите се следат од кориснички креирани скрипти напишани на DTrace D скриптен јазик. Ова овозможува ефикасна анализа на точките на податоци.
PHP сондите што не се активно следени од DTrace D скрипта на корисникот не содржат инструментиран код, така што нема деградација на перформансите за време на нормалното извршување на апликацијата. Сондите што се следат предизвикуваат надземни трошоци доволно ниски за генерално да дозволат DTrace следење на системи во живо производство.
PHP вклучува „User-level Statically Defined Tracing“ (USDT) сонди што се активираат при извршување. На пример, кога D скрипта го следи PHP-овиот function-entry сонда, тогаш, секогаш кога се повикува функција на PHP скрипта, оваа сонда се активира и се извршува поврзаниот D скриптен код на дејство. Овој код на дејство може, на пример, да ги печати аргументите на сондата како што е локацијата на изворната датотека на PHP функцијата. Или дејството може да агрегира податоци како што е бројот на пати кога е повикана секоја функција.
Тука се опишани само PHP USDT сондите. Погледнете ја надворешната општа и специфична за оперативниот систем DTrace литература за да видите како DTrace може да се користи за следење на произволни функции и како може да се користи за следење на однесувањето на оперативниот систем. Имајте предвид дека не сите DTrace функции се достапни во сите DTrace имплементации.
Статичните DTrace сонди во PHP може алтернативно да се користат со објектот SystemTap на некои Linux дистрибуции.