¿Necesita obtener la lista de procesos que se ejecutan en su servidor 4D, 4D remote o 4D standalone para crear su propia ventana de administración? ¿Quiere saber qué usuario inició cada proceso para crear una ventana de monitorización de su aplicación o registrar esta información en una base de datos para analizar más tarde la carga de su servidor? Ahora es fácil recuperar esta información programando con un nuevo comando: Get process activity.
Monitorización de procesos y usuarios
Get process activity es un nuevo comando de 4D que le permite recuperar la lista de procesos en ejecución y usuarios conectados.
Gracias a este comando, se puede monitorizar la actividad del servidor desde el punto de vista de los procesos y de los usuarios y crear fácilmente este tipo de visor de procesos, tal y como se proporciona en nuestro ejemplo de base de datos:
Tenga en cuenta también que esta función es un primer paso para proporcionarle todas las herramientas para crear su propia ventana de administración del servidor personalizada. Procesos y usuarios es un comienzo, por supuesto, más posibilidades llegarán con futuras versiones de R.
Ejemplos de código
El comando Get process activity incluye dos selectores (Processes only y Sessions only) para dar la opción al desarrollador de recuperar la información sobre los procesos solamente o la información relacionada con los usuarios (sesiones) solamente. Cuando no se pasa ningún parámetro, devuelve un objeto que contiene 2 colecciones: procesos y sesiones.
C_OBJECT($actividad)
$actividad:=Get process activity // processes + sessions at once
C_COLLECTION($pCol;$sCol)
$pCol:=$actividad.procesos
$sCol:=$actividad.sesiones
Ejemplo de información devuelta en la colección de procesos:
{ 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 }, (...)
Ejemplo de información devuelta en la colección de sesiones:
{ type:remote, userName:Designer, machineName:VM10-MAINGUENE, systemUserName:fmainguene, IPAddress:localhost, creationDateTime:2017-04-26T07:59:27Z, state:active, ID:4E3F3701DA6E4C449513D11FB68AA01C }