Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Pagetitle |
---|
...
|
...
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> )
|
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.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
TCSQLReplay( < nOption >, < @cMessage > )
|
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
...
nOption |
...
Número da opção de controle
- Verificar existência do recurso
- Habilitar Trace
- Desabilitar trace
- Verificar se a coleta está ligada
- Coletar informações do processo atual
...
numérico | Opção desejada detalhada nas observações. | X | ||
cMessage | caractere | Parametro de entrada e/ou Mensagem de retorno | X | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Retorna .T. se a stored procedure existir, caso contrário, retorna .F. |
Observações
lOk
- (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.
...
Opções
- 1 - Retorna .T. se a versão utilizada do DBAccess contempla a implementação do TCSqlReplay
- 2 - Inicia o TCSqlReplay e se necessário é possível definir o nome do arquivo a partir do RootPath
- 3 - Finaliza o TCSqlReplay
- 4 - Verifica se o TCSqlReplay está ativo
- 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 tamanho do stack AdvPL.
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
User Function exemplo()
Local cMessage := ""
TcLink()
if TCSqlReplay(1, @cMessage) == .F.
conout("Não existe a implementação")
Return
endif
// inicia o TCSqlReplay
cMessage := "/sqlreplay.log"
TCSqlReplay(2, @cMessage)
// liga o log de rotinas internas
cMessage := "1"
TCSqlReplay(6, @cMessage)
// altera o valor de call stack para 5
cMessage := "5"
TCSqlReplay(7, @cMessage)
cMessage := ""
if TCSqlReplay(4, @cMessage) == .T.
conout("TCSqlReplay foi iniciado")
endif
// TODO: your code here
// Finaliza o TCSqlReplay
TCSqlReplay(3, @cMessage)
TcUnlink()
Return
|
Abrangência
Esta função está disponível no Application Server - build
// 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)
...
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