Network Deployment (Distributed operating systems), v8.0 > Troubleshoot and support > Use HPEL to troubleshoot applications
New featureHigh Performance Extensible Logging
Overview
High Performance Extensible Logging (HPEL) significantly outperforms JVM logging.
HPEL log data repository
Storage facility for log records...
- System.out
- System.err
- java.util.logging
...at levels...
- Detail
- Config
- Info
- Audit
- Warning
- Severe
- Fatal
- custom levels
HPEL trace data repository
Storage facility for trace records. Includes information at levels below Detail...
- Fine
- Finer
- Finest
- Custom levels
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...
HPEL.BUFFER.SIZE
The frequency that the buffer writes to disk can be controlled by setting the system property...
HPEL.FLUSH.PERIOD.SECS
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:
- Configure the HPEL log data repository.
- Configure the HPEL trace data repository.
- Configure the HPEL text log file.
- View the contents of the HPEL log and trace data repositories.
- View and set the log detail levels for logging and tracing.
To access...
Troubleshooting | Logs and Trace
Development resources
Developers and scripters can read HPEL repositories using wsadmin.sh with...
HPELControlService
...or from a Java program, using...
com.ibm.websphere.logging.hpel
JMX MBean Description HPELControlService Configure the log or trace detail level of the server.
View the log component registry.
Query the log and trace repositoriesHPELLogDataService 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