Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Uma outra forma de usar esse recurso é junto com a função ShowInfMem, fazendo com que cada chamada especifica no seu programa possa ser logado no arquivo, podendo realizar facilmente o diagnostico dos pontos a serem logados.

Modo de utilização e exemplos de utilização

É necessário que as seguintes chaves de ini sejam ativadas no arquivo appserver.ini:

Bloco de código
languagetext
themeConfluence
firstline1
titlesmartclientappserver.ini
linenumberstrue
collapsetrue
[GENERAL]
...
DebugThreadUsedMemory=1
EnableMemInfoCSV=1
;A chave abaixo é para indicar um local especifico para geração do relatoriorelatório, opcional
MemInfoCSVFile=c:\templogcsv\testeserver01.csv
;O valor da chave abaixo, por padraopadrão, é 1, porem se desativada o recurso do relatório em CSV não terá o efeito desejado
MemPoolShrink=1
; ------------------------

 

No caso acima, será criado o arquivo AAAAMMDDserver01.csv, com o intuito de manter registrado o dia em que o server foi iniciado e seu registro desde então (para cada reinicialização, em dias diferentes, um novo arquivo será criado). Em caso de não indicar um nome, o arquivo será registrado na pasta do Appserver com o nome AAAAMMDDdefault.csv. O arquivo, ao ser aberto por uma planilha eletrônica, poderá ser visualizado como abaixo:

Image Added

 

As colunas em A indicam momentos específicos de coletas de dados dos pools de memórias, as colunas em seguida indicam o tipo de memória, e o número de objetos alocados na memória. A partir desse dados, é possível extrair um gráfico do consumo de memória como o exemplo a seguir:

Image Added

Na execução desse exemplo, foi utilizado as chamadas da função ShowinfMem em um programa teste, indicando momentos específicos de inicio e fim, a caráter de debug. Pode-se observar a realização de diversas execuções que se mostraram estáveis no consumo de memória. Para esses casos de debug, a fim de evitar falsos positivos, segue as mesmas recomendações da função ShowInfMem: deve-se realizar o uso apenas de uma thread entre as comparações dos valores retornados pela função evitando processos concorrentes.

Além disso, o mecanismo de monitoramento, graças a chave do MemPoolShrink ativa, registrará nos momentos de compactação da memória do pool, um novo registro no arquivo csv a fim de que o recurso de log não seja utilizado somente em debug de sua aplicação, mas ser logado também na utilização do Appserver como um serviço ou na execução do ERP.