# Sherlok

## Introduction

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

## 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

## Documentation

Reference Documentation | Comprehensive documentation and user guide
Online Documentation TestBench | Short description and installation guide for TestBench iView
Online Documentation Console | Short description and installation guide for telnet console
Online Documentation Monitor | Short description and installation guide for Monitor iView

## Downloads and Links

Always load the support files, then choose the platform specific files from the list below.

### Support Files

Sherlok iView
Sherlok servlet
Sherlok support files archive

### Platform specific Files

NT Windows sherlok dll
UNIX Solaris libsherlok.so
UNIX HP-UX libsherlok.sl
Linux libsherlok.so

## 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.