Kieker provides several predefined and customizable probes to instrument and monitor your target application.
For example, there are probes which collect
- the execution times of method invocations including their fully qualified name
- the behavior of different threads
- resource information, such as the CPU utilization and the memory footprint
Furthermore, it is easily possible to define custom probes, especially based on predefined probes.
For this purpose, Kieker offers a user-friendly domain specific language called the Record Instrumentation Language (see the tab “Tool Integration”).
Kieker offers multiple ways of instrumentation for control flow tracing, e.g.,
- Manual source code insertion
- Automatic source code insertion via Aspect-Oriented Programming (AOP), e.g.
- AspectJ. The insertion points can be defined
- by annotations in the source code or via
- pointcuts in an external configuration file (
aop.xml) for better seperation of concerns.
- Middleware interception, e.g., Spring
and resource monitoring, e.g.,
- Sigar or Servlet to monitor
- CPU utilization
- Memory usage
The Kieker framework itself is developed in Java, but also offers adapters for multiple other programming languages, e.g.,
- Visual Basic 6 (VB6)
An online Live Demo installation of the Kieker monitoring and analysis framework is now available at: http://demo.kieker-monitoring.net/
We provide a monitored installation of the jPetStore example application. Each click inside this application generates several new monitoring records, visualized within our Live Demo. Refer to the start page for further details.