Função: TCSqlReplay
Permite habilitar e desabilitar a coleta de logs de trace de execuções do DBaccess via TOTVS | Application Server das conexões ativas do processo atual.
lRet := TCSqlReplay ( nOpc , <@cParmRet> )
Nome | Tipo | Descrição | Obrigatório | Referência |
nOpc | Numérico | Número da opção de controle
| X | |
cParmRet | Catactere | String com parâmetro adicional, depende da opção identificada no primeiro parâmetro. | X | X |
- (logico)
- Retorna verdadeiro (.T.), se a operação solicitada foi realizada com sucesso. Caso contrário, retorna .F., e a string em cParmRet é preenchida com algum detalhe ou informação adicional sobre o motivo ou falha envontrados.
Caso estejam em uso as configurações SQLReplay no Environment do APPServer.ini, as chamadas da TCSqlReplay vão atuar sobre a coleta de dados do processo atual, podendo interferir com a coleta já em andamento. O objetivo desta função é permitir ao FrameWork AdvPL criar uma forma instrumentada de, dicamicamente de dentro de uma aplicação AdvPl, permitir instrumentar um trecho de código para gerar informações pertinentes a um processamento, para fins de deputação ou mesmo profiler, sem que uma coleta global esteja habilitada no ambiente.
Existe praticamente um aumento de duas vezes a quantidade de I/O quando utilizamos a coleta de dados de trace do DBAccess no TOTVS | Application Server. Este overhead será mais percebido em ambientes onde o TOTVS Application Server e o DBAccess estão em equipamentos separados por uma rede física. Por estas questões, recomendamos o uso deste recurso apenas em processos onde uma rastreabilidade em maior profundidade seja realmente necessária.
// VErifica se o recurso esta disponivel
cParmRet := ''
lOk := TCSqlReplay(1,@cParmRet)
If !lOk
MsgStop(cParmRet)
Return
Endif
// Habilita a coleta de dados em arquivo
cParmRet := '\sqlreplay\meulog.txt'
TCSqlReplay(2,@cParmRet)
DoSomeStuff()
// desabilita a coleta
cParmRet := ''
TCSqlReplay(3,@cParmRet)