Predefined and customizable probes

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”).

Multiple ways of instrumentation

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
  • Servlet

and resource monitoring, e.g.,

  • Sigar or Servlet to monitor
    • CPU utilization
    • Memory usage