Determining problems in distributed applications

Standardized data collection is one of the core technology requirements identified by the Hyades project. As a first exploiter of the above technologies, the Log and Trace Analyzer, which is targeted for developers and support personnel, has been developed based on current Eclipse tools.

An interface has been designed which provides a single point of operation to deal with logs and traces produced by various components of a deployed system. Linking these two sets of tooling (tracing and logging) helps bridge the gap between problem determination and debugging of applications and middleware. By capturing and correlating end-to-end events in the distributed stack of a customer application, this tool allows for a more structured analysis of distributed application problems. The tool also makes it easier and faster for a person to debug and resolve problems within a system.

Determining the root cause of a problem in a solution that consists of a collection of products can be difficult. All products produce problem determination data, such as trace records, log records and messages. However, the problem determination data cannot be easily correlated across different products and products on different servers. Each product's problem determination data can only provide a view through a small window into the overall solution problem. Timestamps are not sufficient: they are not granular enough and often clocks are not often sufficiently synchronized between servers. All of these problems make the job of problem isolation (that is, determining which server, which product, and what the root cause of the problem was) very difficult, and this complexity increases with the complexity and size of a solution.

The Log and Trace Analyzer, which enables you to import various log files as well as symptom databases against which log files can be analyzed and correlated, decrease this complexity. The core issue in problem isolation in today's solutions is that problem determination data between products is not correlated, that is, you cannot easily determine the relationship of events captured by one product with the events captured by another. The Log and Trace Analyzer addresses this problem by now allowing you to import and analyze log files (or trace files) from multiple products, as well as to determine the relationship between the events captured by these products (correlation).

All of the Log and Trace Analyzer basic infrastructures have been open sourced on the Eclipse Hyades project

The following is a summary of the features provided by the Log and Trace Analyzer.

Importing log files
Importing a log file

Log Analyzer views
Log view
Log Interactions View (correlation)
Log Thread Interactions View (correlation)

Log parser and correlation engine plug-in information
Guide for creating a log parser and correlator

Symptom Database and Analysis Engine
The symptom database
The symptom database editor
Importing and using a symptom database
Editing a symptom database
Creating a symptom database
Exporting a symptom database

Analyzing a log file
Analyzing a log file
JSR-047 and Commons Logging support
Logging sample--select: 
    File > New > Example... > Hyades Logging > Hyades JSR-047 Logging Sample
Apache Commons Logging sample--select:
    File > New > Example... > Hyades Logging > Hyades Apache Commons Logging Sample

Logging enablement
Setting logging preferences

 

Related concepts
The Symptom Database
Common Base Event model
Log file correlation
Log view
Overview of the Profiling Tool
 

Related tasks
Setting logging preferences
Working with log files
Importing and using a symptom database
Guide for creating a log parser and correlator
Guide for creating an analysis engine