(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — Obtém dados do profiler
Para uma instância profiler iniciada anteriormente por LuaSandbox::enableProfiler(), obtém um relatório do custo de cada função.
A unidade de medida usada para o custo é determinada pelo parâmetro $units:
LuaSandbox::SAMPLES
Medidas em número de amostras.
LuaSandbox::SECONDS
Medidas em segundos de tempo de CPU.
LuaSandbox::PERCENT
Medidas em porcentagem de tempo da CPU.
units
Constante da unidade de medida.
Retorna medições do profiler, classificadas em ordem decrescente, como um array associativo. Chaves são os nomes das funções Lua (com arquivo de origem e linha definidos entre colchetes angulares), valores são as medições como int ou float.
Nota:
No Windows, esta função sempre retorna um array vazio. Em sistemas operacionais que não suportam
CLOCK_THREAD_CPUTIME_ID
, como FreeBSD e Mac OS X, esta função relatará o tempo decorrido do relógio de parede, não o tempo da CPU.
Exemplo #1 Profiling Lua code
<?php
// Cria um novo LuaSandbox
$sandbox = new LuaSandbox();
// Inicia o profiler
$sandbox->enableProfiler( 0.01 );
// Executa aqui algum código Lua
// Obtém os dados do profiler
$data = $sandbox->getProfilerFunctionReport();
?>