Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
TCSqlReplay( <nOpc>< nOption >, < @cMessage <@cParmRet>> ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
nOpcnOption | numérico Número da opção de controle. | Opção desejada detalhada nas observações. | X |
|
cMessage | caractere | String com parâmetro adicional, depende da opção identificada no primeiro parâmetro.Parametro de entrada e/ou Mensagem de retorno | X | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
lOklRet | lógico | Retorna verdadeiro (.T.), se a operação solicitada foi realizada com sucesso. Caso stored procedure existir, caso contrário, retorna .F., e a string em cParmRet é preenchida com algum detalhe ou informação adicional sobre o motivo ou falha encontrados. |
Observações
- 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.
Opções
- 1 - Retorna se a versão utilizada do DBAccess está com a implementação do TCSqlReplay
- 2 - Inicia o TCSqlReplay e caso necessário atribuir no segundo parametro o nome do arquivo
- 3 - Finaliza o TCSqlReplay
- 4 - Verifica se o TCSqlReplay foi iniciado
- 5 - Retorna o Buffer com o log do usuário atual.
- 6 - Altera / Retorna o valor do Log de rotinas internas
- 7 - Altera / Retorna o valor de Call Stack retornados.
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
User Function exemplo() // VErifica seLocal ocMessage recurso esta disponivel:= "" cParmRet := ''TcLink() lOk :=if TCSqlReplay(1,@cParmRet) @cMessage) == .F. conout("Não existe a implementação") Return Ifendif !lOk // inicia o TCSqlReplay MsgStop(cParmRet) Return EndifcMessage := "/sqlreplay.log" TCSqlReplay(2, @cMessage) // liga o log de rotinas internas cMessage := "1" TCSqlReplay(6, @cMessage) // Habilitaaltera ao coletavalor de dados em arquivo call stack para 5 cMessage := "5" TCSqlReplay(7, @cMessage) cParmRetcMessage := '\sqlreplay\meulog.txt' "" if TCSqlReplay(24,@cParmRet) @cMessage) == .T. DoSomeStuff()conout("TCSqlReplay foi iniciado") endif // TODO: your desabilitacode ahere coleta // cParmRetFinaliza :=o ''TCSqlReplay TCSqlReplay(3,@cParmRet) @cMessage) TcUnlink() Return |
Abrangência
...
Esta função está disponível no Application Server - build 7.00.131227A, com data de geração superior a 09/08/2016 e depende de um DBAccess com build superior a 20161016.
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas