HPEL (High Performance Extensible Logging)
HPEL (High Performance Extensible Logging) est une fonction de journalisation et de trace fournie dans le cadre de WebSphere Application Server.
Présentation

HPEL
fournit une méthode pratique de stockage et d'accès aux informations de journal, de trace, System.err et System.out générées par le serveur d'applications ou vos applications.
Il s'agit d'une alternative à la fonction de journal et de trace de base qui fournissait les journaux JVM, la trace de diagnostic et les fichiers journaux des services communs appelés SystemOut.log/SystemErr.log,
trace.log et activity.log.
HPEL
fournit une méthode pratique de stockage et d'accès aux informations de journal, de trace, System.err et System.out générées par le serveur d'applications ou vos applications. Cette méthode constitue une alternative aux fonctions de journalisation et de trace existantes fournies sur la plateforme z/OS qui s'appuient sur les fonctions JES, de flux de consignation, de trace de composant, de système hiérarchique de fichiers et d'autres fonctions.
Stockage de journal et de trace de HPEL
HPEL fournit un référentiel de données de journalisation, un référentiel de données de trace et un fichier journal de texte. Reportez-vous à la figure suivante pour comprendre la manière dont les applications et le serveur d'applications stockent les informations de journalisation et de trace.

- Référentiel de données de journalisation HPEL
Le référentiel de données de journalisation est une fonction de stockage pour les enregistrements de journal. Les données de journalisation sont généralement destinées à être vérifiées par des administrateurs. Elles comprennent toutes les informations que des applications ou le serveur écrivent dans System.out, System.err, ou java.util.logging au niveau Détails ou plus élevé (y compris Détails, Config, Info, Audit, Avertissement, Grave et Critique, ainsi que tous les niveaux personnalisés de niveau Détails ou plus élevé).
- Référentiel de données de trace HPEL
Le référentiel de données de trace est une fonction de stockage pour les enregistrements de trace. Les données de trace sont généralement destinées à être utilisées par les programmeurs d'application ou l'équipe de support WebSphere Application Server. Elles comprennent toutes les informations que des applications ou le serveur écrivent dans java.util.logging aux niveaux inférieurs au niveau Détails (y compris, les niveaux Fin, Plus fin et Le plus fin, ainsi que tous les niveaux personnalisés inférieurs au niveau Détails).
Configurations prises en charge: Le contenu de journalisation et de trace écrit dans l'API de journalisation JRAS obsolète est également inclus dans les référentiels de données de journalisation et de trace. Certaines API de journalisation, comme Jakarta Commons Logging, peuvent également être configurées pour acheminer leurs données de journalisation et de trace vers java.util.logging et stockent aussi leur sortie dans les référentiels de données de journalisation et de trace.sptcfg
- Journal de texte HPEL
-
Le fichier journal de texte est un fichier en texte clair pour les enregistrements de journalisation et de trace. Il est fourni à des fins pratiques, surtout pour permettre de lire le contenu de journalisation sans devoir exécuter l'outil de ligne de commande LogViewer afin de convertir le référentiel de données de journalisation en texte en clair.
Le fichier journal de texte n'inclut pas de contenu ne figurant pas également dans le référentiel de données de journalisation ou le référentiel de données de trace. Vous pouvez désactiver le fichier journal de texte pour améliorer les performances du serveur. Le fichier journal de texte peut être configuré pour enregistrer le contenu de trace à des fins de débogage.
Le fichier journal texte contient uniquement les entrées de journal générées par le processus de contrôleur et non celles des processus auxiliaires ou servants. Par conséquent, les enregistrements de journal d'application ne sont pas placés dans le journal de texte sous z/OS. Pour afficher les données de trace ou journal pour tous les processus de serveur d'applications, utilisez l'outil de ligne de commande LogViewer ou l'outil d'affichage de journal HPEL dans la console d'administration.
Eviter les incidents: L'écriture d'une trace dans le journal de texte est un processus coûteux en termes de performances.gotcha
Performances de journalisation et de trace
HPEL a été conçu et testé afin d'être plus efficace que la fonction de journal et de trace de base existante. Il en découle, entre autres, que le serveur d'applications peut fonctionner avec la trace activée en affectant moins les performances que le traçage des mêmes composants en utilisant la consignation de base. En outre, des
applications qui écrivent souvent dans les journaux peuvent s'exécuter plus rapidement avec
HPEL. Plusieurs facteurs contribuent aux performances globales de journalisation et de trace de
HPEL.
- Les événements de journalisation et de trace sont stockés dans un seul emplacement
Les événements de journalisation, System.out et System.err sont stockés dans le référentiel de données de journalisation. Les événements de trace sont stockés dans le référentiel de données de trace. Si le fichier journal de texte est désactivé, HPEL peut écrire uniquement le contenu de journalisation et de trace dans ces référentiels. Le stockage de chaque type d'événement dans un seul endroit garantit que les performances ne sont pas dégradées par un stockage de données redondant.
Les événements de journalisation, et éventuellement les événements de trace, sont écrits dans le fichier journal de texte lorsque celui-ci est activé. Comme ces données sont toujours également stockées dans les référentiels de données de journalisation et de trace, le contenu du fichier journal de texte est redondant. Le fichier journal de texte s'avère utile pour les utilisateurs qui ne souhaitent pas exécuter l'outil de ligne de commande LogViewer pour afficher leurs journaux et leurs traces mais peut être désactivé le cas échéant.
- Les référentiels de journalisation et de trace ne sont pas partagés entre les processus
La synchronisation des activités entre les processus entraîne une dégradation des performances pour tous les processus impliqués. Avec HPEL, chaque processus serveur dispose de ses propres référentiel de données de journalisation, référentiel de données de trace et fichier journal de texte. Comme ces fichiers ne sont pas partagés dans les processus, l'environnement d'exécution du serveur n'a pas besoin de se synchroniser avec d'autres processus lors de l'écriture dans ce destinations.
- Les données ne sont pas formatées sauf si c'est nécessaire
Le formatage des données pour permettre à un utilisateur de les lire monopolise du temps UC. Au lieu de formater les données d'événement de journalisation et de trace en phase d'exécution, HPEL stocke les données de journalisation et de trace plus rapidement dans une représentation binaire propriétaire. Les performances de la fonction de journalisation et de trace sont ainsi améliorées. En différant le formatage de journal et de trace jusqu'à l'exécution de LogViewer, les sections du journal ou de la trace qui ne sont jamais affichées ne sont jamais formatées.
Vous pouvez activer le fichier journal de texte qui stocke les données de journalisation et de trace dans un format de texte déjà lisible.
Pratiques recommandées: Désactivez le journal de texte lorsque les performances de votre serveur constituent un problème important ou si celui-ci n'est pas nécessaire.bprac
- Les données de journalisation et de trace sont placées en mémoire tampon avant d'être écrites sur le disque
L'écriture de grands blocs de données sur un disque est plus efficace que l'écriture de la même quantité de données en blocs plus petits. HPEL fournit des données de journal et de trace de mémoire tampon avant d'écrire sur le disque. Par défaut ces données sont stockées dans une mémoire tampon de 8 Ko avant d'être écrites sur le disque. Si la mémoire tampon est remplie dans un intervalle de 10 secondes, la mémoire tampon est écrite sur disque. Si la mémoire tampon n'est pas remplie dans cet intervalle, son contenu est automatiquement écrit sur disque pour garantir que les journaux contiennent les informations les plus à jour.
Configurations prises en charge: La taille de la mémoire tampon peut être contrôlée en définissant la propriété système HPEL.BUFFER.SIZE. La fréquence à laquelle la mémoire tampon écrit sur disque peut être contrôlée en définissant la propriété système HPEL.FLUSH.PERIOD.SECS.sptcfg
Administration de la journalisation et la trace
HPEL a été conçu pour être facile à configurer et à comprendre. Ainsi, des administrateurs peuvent facilement configurer la quantité d'espace disque à dédier aux journaux ou à la trace, ou la durée de conservation des enregistrements de journal et de trace, et laisser la gestion du contenu de journalisation et de trace au serveur. Dans un autre exemple, tout le contenu de journalisation, de trace, de System.out et de System.err peut être rendu accessible à l'aide d'une commande facile à utiliser (LogViewer), ce qui évite toute confusion quant au fichier devant accéder à un certain contenu.
- Lecture dans les référentiels de données de journalisation et de données de trace
Les référentiels de données de journalisation et de données de trace sont stockés dans un format propriétaire de WebSphere Application Server et ne peuvent pas être lus à l'aide d'éditeurs de fichier texte comme Notepad ou VI. Vous pouvez copier les référentiels des données de journal et de trace dans un format texte ordinaire en utilisant la commande LogViewer.
- Commande LogViewer de HPEL
La commande LogViewer de HPEL est un outil de ligne de commande simple d'utilisation fourni pour aider les utilisateurs de HPEL à gérer les référentiels de données de journalisation et de données de trace. LogViewer fournit des options de filtrage et de formatage qui simplifient la recherche de contenu important dans les référentiels de données de journalisation et de données de trace. Par exemple, un utilisateur peut filtrer les erreurs et les avertissements, puis filtrer toutes les entrées de journalisation et de trace générées à moins de 10 secondes d'un message d'erreur clé de la même unité d'exécution.
- Filtrage à l'aide du contenu des extensions d'enregistrement de journal et de trace
Vous pouvez utiliser l'outil de commande LogViewer pour filtrer les enregistrements en fonction du contenu des extensions d'enregistrement de journal et de trace. Le serveur d'applications crée automatiquement une extension appName pour chaque enregistrement de journal et de trace associé à une application Java™ Platform, Enterprise Edition (Java EE), indiquant le nom de cette application. Le serveur d'applications crée automatiquement une extension requestID pour chaque enregistrement de journal et de trace créé pendant le traitement de certains types de requête (par exemple, requêtes HTTP ou JMS), indiquant l'ID unique de cette requête.
L'extension requestID est ajoutée uniquement dans les enregistrements de journal et de trace lorsque la trace intercomposant est activée. HPEL permet également aux développeurs d'ajouter des extensions personnalisées aux enregistrements de journal et de trace à l'aide d'une API de contexte d'enregistrement de journal (com.ibm.websphere.logging.hpel.LogRecordContext).
- HPEL dans la console d'administration
La console d'administration contient des pages qui permettent aux administrateurs de HPEL d'effectuer les opérations suivantes :
- Configurer le référentiel de données de journalisation HPEL.
- Configurer le référentiel de données de trace HPEL.
- Configurer le fichier journal de texte HPEL.
- Afficher le contenu des référentiels de données de journalisation et de trace.
- Afficher et définir les niveaux de détail de journalisation pour la journalisation et la trace.
Pour utiliser ces fonctions, dans la console d'administration, cliquez sur le lien
.
Ressources de développement
HPEL a été créé pour rendre l'utilisation du contenu de journalisation et de trace plus souple et plus utile que celui de la fonction de consignation de base. Le contenu de journalisation et de trace peut être facilement filtré pour n'afficher que les enregistrements qui vous intéressent. Vous pouvez utiliser la ligne de commande (voir la description de la commande LogViewer de HPEL), ou les développeurs peuvent créer de puissants programmes de traitement de journal à l'aide de l'API HPEL.
- Les scripts et les programmes Java lisent les référentiels de données de journalisation et de trace
- Les développeurs et les créateurs de scripts disposent de plusieurs options pour lire les référentiels de données de journalisation et de trace :
- Localement ou à distance depuis un script wsadmin en utilisant le MBean JMX HPELControlService
- En local ou à distance à partir d'un programme Java, à l'aide du MBean JMX HPELControlService
- En local à partir d'un programme Java, à l'aide de l'API com.ibm.websphere.logging.hpel
- MBeans JMX HPEL
Une interface MBean est fournie pour faciliter l'accès à distance au contenu du référentiel HPEL. Par exemple, un développeur peut écrire un programme client JMX pour lire le contenu de journalisation à partir de sa cellule WebSphere Application Server. Cette interface fait partie du MBean HPELControlService. Reportez-vous à la documentation sur l'interface MBean pour plus de détails sur l'interface de lecture de journal à distance de HPEL.
Tableau 1. MBeans JMX associés à HPEL. Les MBeans JMX sont associés à l'opération de HPEL. MBean JMX Description HPELControlService Fournit les opérations liées à la configuration du niveau de détail de journalisation ou de trace du serveur, à l'affichage du registre du composant de journal et à l'interrogation des référentiels de journalisation et de trace HPELLogDataService Fournit les opérations liées à la configuration du référentiel de données de journalisation du serveur HPELTraceDataService Fournit les opérations liées à la configuration du référentiel de données de trace du serveur HPELTextLogService Fournit les opérations liées à la configuration du fichier journal de texte du serveur RasLoggingService Utilisé uniquement pour la notification JMX d'événements de journal Lorsque vous utilisez HPEL pour la consignation et le traçage à la place de la consignation de base, le MBean JMX de consignation et de traçage TraceService n'est pas utilisé.
- API HPEL
Une API a été fournie pour permettre aux développeurs de développer facilement des outils pour consommer le contenu des référentiels de journalisation et de trace de HPEL. Par exemple, un développeur peut écrire un programme Java pour rechercher dans le contenu de journalisation et de trace les messages dont les ID correspondent à une liste connue d'ID de messages importants. Cette API figure dans le package com.ibm.websphere.logging.hpel. Pour plus d'informations sur l'API de lecture de journal HPEL, reportez-vous à la documentation sur les API.
- Extensibilité d'enregistrement de journal et de trace
Les développeurs peuvent utiliser HPEL pour ajouter des extensions personnalisées aux enregistrements de journal et de trace par le biais d'une API de contexte d'enregistrement de journal (com.ibm.websphere.logging.hpel.LogRecordContext). Lorsque HPEL stocke des enregistrements de journal et de trace, il inclut toutes les extensions présentes dans le contexte d'enregistrement de journal sur la même unité d'exécution. Par exemple, un développeur peut écrire un filtre de servlet pour ajouter des paramètres de requête HTTP importantes dans le contexte d'enregistrement de journal. Lors de l'exécution de ce servlet, HPEL ajoute ces extensions dans tous les enregistrements de journal et de trace créés sur la même unité d'exécution.
Comme pour les autres zones d'enregistrement de journal et de trace, les développeurs peuvent accéder aux extensions d'enregistrement à l'aide de l'API HPEL. Cela est utile lors de l'écriture d'outils de lecture à partir de référentiels de journal et de trace. Les développeurs peuvent également utiliser l'API de contexte d'enregistrement de journal pour accéder, au moment de l'exécution, aux extensions figurant dans les gestionnaires, filtres et formateurs de journaux personnalisés.