Créez votre propre processus et surveillance des utilisateurs

Traduit automatiquement de Deepl

Vous avez besoin d’obtenir la liste des processus en cours sur votre serveur 4D, 4D remote ou 4D standalone pour créer votre propre fenêtre d’administration? Vous voulez savoir quel utilisateur a lancé chaque processus pour créer une fenêtre de surveillance de votre application ou enregistrer ces informations dans une base de données pour analyser ultérieurement la charge de votre serveur ? Il est maintenant facile de récupérer ces informations par programmation avec une nouvelle commande : Get process activity.

Surveillance des processus et des utilisateurs

Get process activity est une nouvelle commande 4D qui vous permet de récupérer la liste des processus en cours et des utilisateurs connectés.

Grâce à cette commande, vous pouvez surveiller l’activité du serveur du point de vue des processus et des utilisateurs et créer facilement ce type de visualisateur de processus, comme le montre notre exemple de base de données :

Exemple de base de données

Veuillez également noter que cette fonctionnalité est une première étape pour vous fournir tous les outils nécessaires à la création de votre propre fenêtre d’administration de serveur personnalisée. Les processus et les utilisateurs sont un début, bien sûr plus de possibilités arriveront avec les futures versions de R.

Exemples de code

La commande Get process activity comprend deux sélecteurs (Processes only et Sessions only) pour donner au développeur l’option de récupérer soit les informations sur les processus uniquement, soit les informations relatives aux utilisateurs (sessions) uniquement. Lorsqu’aucun paramètre n’est passé, elle renvoie un objet contenant 2 collections: processus et sessions.

C_OBJECT($activity)
$activity:=Get process activity // processes + sessions at once

C_COLLECTION($pCol;$sCol)
$pCol:=$activity.processes
$sCol:=$activity.sessions

Exemple d’informations retournées dans la collection des processus:

{
	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
},
(...)

Exemple d’informations retournées dans la collection sessions:

{
	type:remote,
	userName:Designer,
	machineName:VM10-MAINGUENE,
	systemUserName:fmainguene,
	IPAddress:localhost,
	creationDateTime:2017-04-26T07:59:27Z,
	state:active,
	ID:4E3F3701DA6E4C449513D11FB68AA01C
}
Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.