Network Deployment (Distributed operating systems), v8.0 > Troubleshoot and support > Use HPEL to troubleshoot applications


New feature

High Performance Extensible Logging


Overview

High Performance Extensible Logging (HPEL) significantly outperforms JVM logging.


HPEL log data repository

Storage facility for log records...

...at levels...


HPEL trace data repository

Storage facility for trace records. Includes information at levels below Detail...

Log and trace content written to the deprecated JRAS logging API is also included. Some logging APIs, such as Jakarta Commons Logging can also be configured to route log and trace data to java.util.logging.


HPEL text log

Plain text file for log and trace records. Provided primarily so log content can be read without having to run LogViewer. Disable to enhance performance. Enable to enhance debugging.

With the HPEL text log disabled, we can run with trace enabled while causing less impact to performance than tracing the same components using basic logging. Applications that frequently write to logs will run faster with HPEL.


Log and trace events are each stored in only one place

Log events, System.out, and System.err are stored in the log data repository. Trace events are stored in the trace data repository. If the text log file is disabled, HPEL might only write log and trace content to these repositories. Storing each type of event in one place ensures that performance is not wasted on redundant data storage.

Log events, and optionally trace events, are written to the text log file when it is enabled. Since this data is always also stored in the log data and trace data repositories, the text log file content is redundant. The text log is convenient for users who do not want to run logViewer.sh-line tool to see their logs and trace; but you can disable the text log if this convenience is not needed.


Log and trace repositories are not shared across processes

Synchronizing activities between processes causes a degradation in performance to all processes involved. With HPEL, each server process has its own log data repository, trace data repository, and text log file. Since these files are not shared across processes, the server runtime environment does not need to synchronize with other processes when writing to these destinations.


Data is not formatted unless it is needed

Formatting data for end users to read eats up processor time. Rather than format log event and trace event data at run time, HPEL log and trace data is stored more rapidly in a proprietary binary representation. This improves the performance of the log and trace facility. By deferring log and trace formatting until the LogViewer is run, sections of the log or trace that are never viewed are never formatted.

We can enable the text log file, which stores the log data and trace data in an already readable text format.

Disable the text log when performance of your server is a key concern, or if the text log is not wanted.


Log and trace data is buffered before being written to disk

Write large blocks of data to a disk is more efficient than writing the same amount of data in small blocks. HPEL provides buffer log and trace data before writing it to disk. By default, log and trace data is stored in an 8 KB buffer before being written to disk. If the buffer is filled within 10 seconds, the buffer is written to disk. If the buffer is not filled within that time it is automatically written to disk to ensure that the logs have the most current information.

The size of the buffer can be controlled by setting the system property...

The frequency that the buffer writes to disk can be controlled by setting the system property...


Read from log and trace data repositories

Log and trace data repositories use a WAS proprietary format and cannot be read using text file editors. We can copy the log data and trace data repositories in to a plain text format using LogViewer.


HPEL in the administrative console

The admin console contains panels that allow HPEL administrators to:

To access...


Development resources

Developers and scripters can read HPEL repositories using wsadmin.sh with...

...or from a Java program, using...

JMX MBean Description
HPELControlService Configure the log or trace detail level of the server.
View the log component registry.
Query the log and trace repositories
HPELLogDataService Configure the log data repository of the server
HPELTraceDataService Configure the trace data repository of the server
HPELTextLogService Configure the text log file of the server
RasLoggingService Only used for JMX Notification of log events

When using HPEL for log and trace rather than basic logging, the log and trace JMX MBean, TraceService, is not used.


Related

Change from basic mode to HPEL logging and tracing
Configure HPEL
API documentation
LogViewer command-line tool

+

Search Tips   |   Advanced Search