Precisa de ter a lista de processos a correr no seu servidor 4D, 4D remoto ou 4D autónomo para criar a sua própria Janela de Administração? Quer saber que utilizador iniciou cada processo para criar uma janela de monitorização da sua aplicação ou registar esta informação numa base de dados para analisar mais tarde a carga do seu servidor? É agora fácil recuperar esta informação através da programação com um novo comando: Get process activity.
Monitorização de processos e utilizadores
Get process activity é um novo comando 4D que lhe permite recuperar a lista de processos em execução e utilizadores ligados.
Graças a este comando, é possível monitorizar a actividade do servidor do ponto de vista dos processos e do utilizador e criar facilmente este tipo de visualizador de processos, como previsto no nosso exemplo de base de dados:
Note também que esta funcionalidade é um primeiro passo para lhe fornecer todas as ferramentas para criar a sua própria janela de administração personalizada do servidor. Os processos e utilizadores são um começo, claro que mais possibilidades chegarão com futuros lançamentos R.
Exemplos de códigos
O é o novo comando Get process activity inclui dois selectores (Processes only e Sessions only) para dar a opção ao programador de recuperar apenas as informações sobre os processos ou apenas as informações relacionadas com os utilizadores (sessões). Quando nenhum parâmetro é passado, devolve um objecto contendo 2 colecções: processos e sessões.
C_OBJECT($actividade)
$actividade:=Get process activity // processes + sessions at once
C_COLLECTION($pCol;$sCol)
$pCol:=$actividade.processos
$sCol:=$actividade.sessões
Exemplo de informação devolvida na recolha de processos:
{ name:Application process, sessionID:4E3F3701DA6E4C449513D11FB68AA01C, number:4, ID:4, visible:true, type:-18, state:2, cpuUsage:0.022585061256626, cpuTime:8.1486859585647, preemptive:false }, { name:DB4D Flush, state:0, cpuUsage:0, cpuTime:0, preemptive:true }, (...)
Exemplo de informação devolvida na recolha de sessões:
{ type:remote, userName:Designer, machineName:VM10-MAINGUENE, systemUserName:fmainguene, IPAddress:localhost, creationDateTime:2017-04-26T07:59:27Z, state:active, ID:4E3F3701DA6E4C449513D11FB68AA01C }