new Profiler()
Classe que realiza a instrumentação do código fonte para fins de análise de desempenho.
O sistema automaticamente grava no arquivo de log "profiler.log" as estatísticas com tempo de execução superior à configuração "Min RunTime to Log Profiler" existente nas configurações gerais do Manage.
Members
-
enabled :boolean
-
Indica que o profiler do Engine está ativo e que estão sendo coletadas estatísticas de desempenho das operações registradas pelos métodos #startOperation e #endOperation.
O profiler do Engine pode ser ativo no Manage, pela variável de ambiente
NGIN_PROFILER
ou por meio dos parâmetros de linha de comando--enableProfiler
e--enableAutoProfiler
. Mais detalhes no manual Configuração do Engine.Type:
- boolean
-
forcedLog :boolean
-
Determina que as estatísticas geradas pelo profiler serão gravadas no arquivo de log "profiler.log", mesmo que o tempo de execução seja inferior à configuração "Min RunTime to Log Profiler" existente nas configurações gerais do Manage.
Type:
- boolean
Methods
-
<static> getInstance()
-
Obtém uma instância compartilhada desta classe.
Returns:
- Type
- Profiler
-
endOperation( [details])
-
Delimita o fim de um trecho do código fonte que será instrumentado pelo profiler.
Parameters:
Name Type Argument Description details
string <optional>
Detalhes sobre o trecho analisado, como os parâmetros de recebidos pela função, resultado ou outras informações relevantes.
- See:
-
excludeFunction(func)
-
Configura uma função para ser ignorada pelo profiler do Engine.
Parameters:
Name Type Description func
function Função a ser ignorada pelo profiler.
-
getHtmlStatistics()
-
Gera um relatório HTML com as estatísticas geradas pelo Profiler.
- See:
Returns:
Relatório no formato HTML.
- Type
- string
-
getTxtStatistics()
-
Gera um relatório TXT com as estatísticas geradas pelo Profiler. Este relatório pode ser analisado pelo processo "/Desenvolvimento/Análise do Log do Profiler".
- See:
Returns:
Relatório no formato TXT.
- Type
- string
-
startOperation(name [, details] [, sumInteractions])
-
Delimita o início de um trecho do código fonte que será instrumentado pelo profiler. O trecho analisado será o código contido entre o startOperation() e o endOperation() correspondente. A execução do endOperation() deve ser garantida através de um bloco try..finally. O método startOperation() pode ser chamado dentro de um trecho já instrumentado, criando um aninhamento de operações. Este aninhamento será representando por uma indentação no resultado dos métodos getTxtStatistics() e getHtmlStatistics().
Parameters:
Name Type Argument Description name
string Identificação do trecho analisado. Se o trecho analisado for o código de um método ou função é uma boa prática adotar a convenção "Class.methodName()" ou "functionName()".
details
string <optional>
Detalhes sobre o trecho analisado, como os parâmetros recebidos pela função, resultado ou outras informações relevantes.
sumInteractions
boolean <optional>
Indica se as execuções do código instrumentado devem ser totalizadas nas estatísticas geradas pelo profiler, sendo exibido apenas um registro com a quantidade total de execuções. Quando o sumInteractions está ativo o parâmetro details torna-se irrelevante, pois ao totalizar as execuções o details não é preservado.
- See:
Example
MyClass.prototype.do = function (){ profiler.startOperation("MyClass.do()", null, true); try { myCode; } finally { profiler.endOperation(); } }