Dovete ottenere l’elenco dei processi in esecuzione sul vostro server 4D, 4D remote o 4D standalone per creare la vostra finestra di amministrazione? Volete sapere quale utente ha avviato ciascun processo per creare una finestra di monitoraggio della vostra applicazione o registrare queste informazioni in un database per analizzare successivamente il carico del vostro server? Ora è facile recuperare queste informazioni programmando un nuovo comando: Get process activity.
Monitoraggio di processi e utenti
Get process activity è un nuovo comando 4D che consente di recuperare l’elenco dei processi in esecuzione e degli utenti connessi.
Grazie a questo comando, è possibile monitorare l’attività del server dal punto di vista dei processi e degli utenti e creare facilmente questo tipo di visualizzatore di processi, come indicato nel nostro esempio di database:
Si noti inoltre che questa funzione è un primo passo per fornire tutti gli strumenti per creare una finestra di amministrazione del server personalizzata. Processi e utenti è un inizio, naturalmente altre possibilità arriveranno con le future versioni di R.
Esempi di codice
Il comando Get process activity include due selettori (Processes only e Sessions only) per dare la possibilità allo sviluppatore di recuperare solo le informazioni sui processi o solo quelle relative agli utenti (sessioni). Quando non viene passato alcun parametro, restituisce un oggetto contenente due raccolte: processi e sessioni.
C_OBJECT($attività)
$attività:=Get process activity // processes + sessions at once
C_COLLECTION($pCol;$sCol)
$pCol:=$activity.processes
$sCol:=$activity.sessions
Esempio di informazioni restituite nella raccolta dei processi:
{ 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 }, (...)
Esempio di informazioni restituite nella raccolta delle sessioni:
{ type:remote, userName:Designer, machineName:VM10-MAINGUENE, systemUserName:fmainguene, IPAddress:localhost, creationDateTime:2017-04-26T07:59:27Z, state:active, ID:4E3F3701DA6E4C449513D11FB68AA01C }