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
}
