Manual:Profiling/ru

Профилирование отслеживает выполнение кода во время действия на странице и сообщает процент общего выполнения кода, затраченного на какую-либо конкретную функцию. Профилирование - это сложная задача, предназначенная для разработчиков и системных администраторов для отслеживания источников медлительности в MediaWiki, которые должны быть оптимизированы.

PHP профилирование
Вы можете использовать XHProf, который доступен как для HHVM, так и для Zend PHP 5 и обеспечивает трассировку и профилирование. Вот как это делает остальной мир на PHP.

Tideways также рекламирует, казалось бы, собственный пользовательский интерфейс для визуализации результатов, но если вы будете следовать [$url инструкциям для работы без интерфейса], все будет хорошо.

Установка пакета Debian/Ubuntu  также включает в себя расширение PHP.

MediaWiki пользовательский профилировщик
In MediaWiki 1.25 profiling was completely rewritten and many settings previous relating to profiling were removed in favor of consolidating them as parameters to $wgProfiler. Notably, output has been separated from class types. For documentation about profiling prior to 1.25, see an older version of this page.

Example $wgProfiler configuration:

Each of these parameters (and more) are described in detail:
 * class
 * 'ProfilerXhprof'. ProfilerXhprof is new in MediaWiki 1.25 and provides an Xhprof-backed profiler that captures profiling data for all functions as well as sub-functional units. Old values such as ProfilerStandard, ProfilerUDP, ProfilerDB, etc do not work. Even if you are using Tideways, still specify the ProfilerXhprof class.


 * output
 * One or more of 'ProfilerOutputText', 'ProfilerOutputDump', 'ProfilerOutputStats' . Text outputs the information in either HTML comments or after the skin. UDP is a format send to a udpprofile daemon. Dump produces a dump of the profiling info for use with xhprof GUI (xhprofgui role on Vagrant setup).


 * outputDir
 * Only applies to 'ProfilerOutputDump' format. Required to specify where the dump files will be stored.


 * visible
 * Only applies to 'ProfilerOutputText' format. Whether text is shown after the skin or in an HTML comment.

Troubleshooting
If you get "Fatal error: Uncaught Exception: Neither xhprof nor tideways are installed" then you need to do:

If the package can't be found then take a look at https://tideways.com/profiler/xhprof-for-php7

Output
Text output looks like: The first column is the time percent; the second column is the time (in ms); the third column is the count; and the fourth column is the name of the method.