Monitorizar a actividade do servidor 4D com esta nova ferramenta

Tradução automática de Deepl
Muitas funcionalidades foram lançadas para o ajudar a gerir a sua actividade no Servidor 4D. 4D v18 R3 fornece aos administradores 4D outra ferramenta de monitorização para a actividade do Servidor 4D. Uma ferramenta para fazer executar todas as operações para além de um tempo especificado, bem como detalhes relevantes sobre as tabelas, campos, e clientes envolvidos.
Esta característica não só torna possível tudo o acima mencionado, como também facilita a optimização do seu código, a identificação de problemas e a libertação dos seus recursos do Servidor 4D.

HDI: Monitorize a sua actividade de aplicação 4D

4D introduz um novo conjunto de comandos para monitorizar a sua aplicação 4D. Eles permitem-lhe registar actividade (em memória) com duração superior a um determinado limite de tempo.

Pode especificar o tipo de actividade que deseja monitorizar:

  • Actividade de dados 4D: operações que envolvem os próprios dados 4D,
  • Actividade de rede: obterá a mesma informação que no ficheiro 4DRequestsLog (*),
  • Execução linguística: obterá a mesma informação que no ficheiro 4DDebugLog (*).

(*) Não há necessidade de activar os ficheiros de registo correspondentes, pelo que não é utilizado espaço no disco.

comando START MONITORING ACTIVITY (Iniciar actividade de monitorização)

O START MONITORING ACTIVITY toma como parâmetros o limiar de duração e o tipo de operações a monitorizar . Para isso, as seguintes novas constantes podem ser usadas para monitorizar:

  • Activity operations: operações nos dados 4D
  • Activity network: operações da actividade da rede
  • Activity language: operações da execução linguística

Obter o comando Monitored Activity

Quando quiser obter toda a actividade registada, basta chamar o novo comando Get Monitored Activity() comando!

Retorna uma colecção de objectos com a informação relevante que pode utilizar como desejar (gerar um ficheiro, exibir uma interface para o administrador, etc.).

Comando STOP MONITORING ACTIVITY (PARAR A CONTROLO DA ACTIVIDADE)

Quando quiser parar de gravar a sua actividade de aplicação 4D ou para esvaziar a memória, basta chamar o comando STOP MONITORING ACTIVITY comando.

EXEMPLO DE CONSTRUÇÃO

Na maioria dos casos, a sua necessidade será:

A cada 10 minutos, quero verificar se algumas operações duraram mais de 10 segundos no meu Servidor 4D. Se sim, quero enviar um e-mail ao administrador (ou tomar outra acção).

O seguinte é um código para fazer exactamente isso.

ON método de arranque do servidor

C_LONGINT($monitorProcessId)

STOP MONITORING ACTIVITY
// Detect 4D data operations which lasted more than 10s
START MONITORING ACTIVITY (10;Activity operations)
//Run a monitoring process
$monitorProcessId
:=New process("monitorOperations";0; "Monitor Operations")

processo de monitorização (para ser executado no servidor)

C_COLLECTION
($activities)

While (Not(Process aborted))

// Inspect 4D data activity every 10 minutes
DELAY PROCESS (Current process;36000)
// Get the long operations and exclude backup operations

$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
// Empty the memory and restart the monitoring STOP MONITORING ACTIVITY
START MONITORING ACTIVITY (10;Activity operations)
End if

End while

no método de encerramento do servidor


C_COLLECTION
($activities)

$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
End if

Verifique o IDH para saber mais!
Avatar
• Proprietário do produto - Marie-Sophie Landrieu -Yvert entrou ao time 4D Product como Proprietária do Produto em 2017. Como tal, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Marie-sophie se formou na Escola de Engenharia de ESIGELEC e começou sua carreira como engenheira da IBM em 1995. Participou em vários projetos (de manutenção e criação) e trabalhou como desenvolvedora de Cobol. Depois trabalhou como designer de UML e desenvolvedora de Java. Suas principais funções foram analisar e redigir requisitos funcionais, coordenar os times de negócio e de desenvolvimento.