# Sherlok Java Application Monitor |

## Summary

Sherlok is a Java Application Monitor. It gives detailed information about

§ Memory allocation (find responsible components)

§ Time consumption (including Hot-Spot detector)

§ Program execution (call stack and event tracer with runtime information)

Sherlok accumulates data for several statistics, so that even for large scale applications, the resulting data sets are rather small. The output is in a format, which you can import into Spreadsheet programs for further analysis.

Sherlok is small (less than 1MB), fast and easy to install. Its available for

§ AIX

§ HP-UX

§ Linux

§ Sun

§ Windows

## Installation

Unzip the Sherlok archive file. You will find the comprehensive user documentation and a brief online documentation with an installation guide for each interface.

## What’s new ?

- Sherlok uses the SAP template library sapcpp46 which you have to copy into your library path. You find this shared library as part of this distribution.
- Sherlok supports Unicode
- Sherlok will be part of the J2EE in future releases.

## Interfaces

### iView Testbench

The iView Testbench is an easy to use servlet interface. It allows you to watch and protocol for a specific component memory and time consumption. With NextStep button Sherlok evaluates the memory consumption between two steps and displays up to 10 steps in the detail view.

### iView Monitor

The iView Monitor interface allows you to analyze the whole application. It allows you to switch between different profile settings during runtime to drill down.

### Telnet Console

The Telnet Console is an expert tool, with a direct access to the Java application. Beside the memory and performance measurement, this interface allows you to start different traces:

§ Trace program execution

§ Trace method call parameter

§ Trace class load/unload

§ Trace Hot-Spots

§ Trace thread contentions

## Performance Aspects

The performance impact for an application running with Sherlok depends on the profile settings. The following table shows, that contention measurement is suitable for a load test, while memory profiling is not.

Options | Time Delay Factor
monitor idle and trace off | 1.5
monitor idle and trace contentions | 1.5
monitor idle and trace exceptions | 2.0
monitor performance: ProfileMemory=off, Timer=on | 7.0
monitor memory: ProfileMemory=on, Timer=on | 16.0

The measurement was executed on different platforms with approximately same results.