Je suis intéressé par la création d'une routine qui interroge les processus de cache en cours d'exécution, puis écrit ces informations dans un fichier. Comment cela pourrait-il être fait dans Cache 2008.2?Intersystems Routine de cache pour écrire des informations de processus dans un fichier sur un système local?
Répondre
PERFMON est peut-être ce que vous cherchez. C'est une application avec sa propre interface utilisateur, mais vous pouvez aussi appeler ses fonctions directement, en tant qu'API.
Vérifiez les documents Cache pour "Cache Monitoring Guide". Cela vous donnera des liens vers des documents PERFMON, ainsi que des documents pour d'autres outils de surveillance du système.
Vous trouverez peut-être quelque chose d'utile dans la Référence de la classe, sous les packages% SYSTEM,% SYS et% Monitor.
Pour certaines informations de processus, vous devrez peut-être déboguer le système d'exploitation. Dans ce cas, vérifiez dans la fonction $ ZF. Cela vous permettra d'invoquer des commandes au niveau os à partir du cache.
Oh, et vous voudrez peut-être envisager d'enregistrer les données de processus dans la base de données de cache, plutôt que de les déverser dans un fichier. C'est-à-dire, créez une classe persistante avec des propriétés correspondant à chaque attribut de processus que vous voulez capturer, puis écrivez du code pour créer, remplir et enregistrer des instances de cette classe, en prenant les données de PERFMON ou toute autre source choisie.
Si vous faites cela, vous pouvez utiliser Cache SQL pour générer le type de rapport dont vous avez besoin. (Le cache génère automatiquement une table SQL correspondant à votre classe persistante.) Le cache prend en charge ODBC, vous pouvez donc utiliser un outil externe tel que Crystal Reports ou Access pour cette partie.
Il va de soi que cela vaudra plus que simplement renvoyer des données à un fichier, mais une sorte de structure sera nécessaire si vous voulez faire quelque chose d'intéressant avec l'information.