Tempo Estimado de uma Procedure em SQR

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Descobrindo quanto tempo uma determinada procedure ou programa está levando no seu processamento.

 
Hoje quando estamos desenvolvendo, testando ou homologando um processo Peoplesoft seja ela um SQR, um App. Engine ou um COBOL somos questionados sobre a performance e o “tempo de processamento”. Quanto tempo este processo está onerando?
 
Você pode controlar o tempo de processamento de uma determinada procedure ou um passo dentro do SQR. A solução proposta também pode ser aplicada a uma determinada função em PeopleCode, um determinado Step dentro de um App. Engine ou um processo inteiro.
 

Abaixo segue um exemplo deste controle de tempo em SQR.

 
 

Begin-Program

 

let $tempo_inicial = edit(datenow(), ‘DD/MM/YYYY-HH:MI:SS:NNNN’)

 

   do Procedure_1

 

let $tempo_final = edit(datenow(), ‘DD/MM/YYYY-HH:MI:SS:NNNN’)

 

let #tempo_total = datediff(strtodate($tempo_final,’DD/MM/YYYY-HH:MI:SS:NNNN’), strtodate($tempo_inicial,’DD/MM/YYYY-HH:MI:SS:NNNN’),’minute’)

 

show ‘Tempo Total de Processamento =  ‘ #tempo_total  ‘ minutes’

End-Program

Figura 1. No exemplo acima estamos realizando a medição de todo o programa SQR.
 

Na primeira linha do nosso programa a variável $tempo_inicial guarda o momento exato em que o processamento foi startado. Utilizamos o comando edit para formatar o retorno da função DATENOW() que traz a data/hora do sistema.

 

Na segunda linha utilizamos a sentença de controle ( do ) que faz a chamada a uma procedure (Procedure_1). Neste nosso exemplo dentro da rotina principal “Begin-Program” possuímos a chamada a uma única procedure.

 

Caso esta procedure não esteja chamando outras procedures, o tempo total de processamento será o tempo gasto pela Procedure_1.

 

Caso contrário, se a Procedure_1 estiver chamando outras Procedures o tempo total de processamento será o tempo gasto por todas as procedures envolvidas no processo.

 

Na terceira linha a variável $tempo_final guarda o momento exato em que o processamento foi finalizado. Como foi feito na primeira linha com a variável $tempo_inicial utilizamos o comando edit para formatar o retorno da função DATENOW() que traz a data/hora do sistema.

 

Nota: Vale observar que não há nenhuma lógica detalhada após o momento em que a variável $tempo_final é preenchida. Isto significa que o tempo de processamento para qualquer instrução que venha após a atribuição da variável $tempo_final não será calculado.

 

Na quarta linha a variável #tempo_total é atribuída com a diferença entre as variáveis $tempo_final e $tempo_inicial. O resultado do tempo gasto no processamento do programa SQR é exibido em minutos.

 

Na quinta e última linha uma mensagem é exibida com o texto “Tempo Total de Processamento = ” concatenada com o valor da variável #tempo_final.
 
 
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?