Monday, 21 June 2021



Kieker is a framework for monitoring and analyzing the runtime behavior of distributed software systems. Focusing on application-level behavior, Kieker includes measurement probes for collecting timing and trace information from executions of software operations; but probes for sampling system-level measures, e.g., CPU utilization and memory usage, are included as well. Many of the Kieker monitoring probes rely on aspect-oriented programming (AOP) technology, such as AspectJ or middleware interception (Servlet filters, SOAP message interceptors etc.). The collected data can be written to configured monitoring logs and streams, such as file systems, databases, JMS queues etc – supporting both online and offline analysis. Corresponding readers pass the monitoring data to registered plugins for further processing. Kieker includes a number of plugins for reconstructing, analyzing, and visualizing software architectural models, for example, calling dependency graphs, call trees, and sequence diagrams. In addition to the components already included in the framework, Kieker provides support for implementing and using custom monitoring probes, time sources, monitoring readers and writers, monitoring record types, and analysis plug-ins.

Kieker has been designed for continuous monitoring in production environments, imposing only a low performance overhead. Use cases in teaching, research, and practice include the following areas: performance evaluation, self-adaptation control (e.g., online capacity management), failure detection and diagnosis, simulation (replaying workload traces for driving simulations; measurement and logging of simulation data; analysis of simulation results), and software re-engineering (e.g., extraction of architectural and usage models).

  • Java 8 or later.
  • Wilhelm Hasselbring,
  • André van Hoorn,
  • Reiner Jung
    and others.
  • André van Hoorn, van.hoorn(at)

    University of Stuttgart, Reliable Software Systems Group
    Universitätsstraße 38, 70569 Stuttgart, Germany

  • Reiner Jung, reiner.jung(at)

    Kiel University, Software Engineering Group
    Christian-Albrechts-Platz 4, 24118 Kiel, Germany
  • 1.14
  • Apache License, Version 2.0
Publications/ Projects using the tool


  • André van Hoorn, Jan Waller and Wilhelm Hasselbring, Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis, in: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE 2012), pages 247-248, ACM, 2012
  • Robert von Massow, André van Hoorn and Wilhelm Hasselbring, Performance Simulation of Runtime Reconfigurable Component-Based Software Architectures, in: 5th European Conference on Software Architecture (ECSA '11), vol. 6903 of LNCS, pages 43-58, Springer, 2011
  • André van Hoorn, Holger Knoche, Wolfgang Goerigk and Wilhelm Hasselbring, Model-Driven Instrumentation for Dynamic Analysis of Legacy Software Systems, in: Proceedings of the 13. Workshop Software-Reengineering (WSR 2011), pages 26-27, 2011
  • Matthias Rohr, André van Hoorn, Wilhelm Hasselbring, Marco Lübcke and Sergej Alekseev, Workload-Intensity-Sensitive Timing Behavior Analysis for Distributed Multi-User Software Systems, in: Proceedings of the Joint WOSP/SIPEW International Conference on Performance Engineering (WOSP/SIPEW '10), pages 87-92, ACM, 2010
  • André van Hoorn, Matthias Rohr, Wilhelm Hasselbring, Jan Waller, Jens Ehlers, Sören Frey and Dennis Kieselhorst, Continuous Monitoring of Software Services: Design and Application of the Kieker Framework, Department of Computer Science, University of Kiel, Germany, number TR-0921, 2009.
  • Nina S. Marwede, Matthias Rohr, André van Hoorn and Wilhelm Hasselbring, Automatic Failure Diagnosis Support in Distributed Large-Scale Software Systems based on Timing Behavior Anomaly Correlation, in: Proceedings of the 13th European Conference on Software Maintenance and Reengineering (CSMR '09), pages 47-57, IEEE, 2009
  • Matthias Rohr, André van Hoorn, Jasminka Matevska, Nils Sommer, Lena Stoever, Simon Giesecke and Wilhelm Hasselbring, Kieker: Continuous Monitoring and on demand Visualization of Java Software Behavior, in: Proceedings of the IASTED International Conference on Software Engineering 2008 (SE '08), pages 80-85, ACTA Press, 2008
  • Matthias Rohr, André van Hoorn, Simon Giesecke, Jasminka Matevska, Wilhelm Hasselbring and Sergej Alekseev, Trace-context sensitive performance profiling for enterprise software applications, in: Performance Evaluation - Metrics, Models and Benchmarks: Proceedings of the SPEC International Performance Evaluation Workshop (SIPEW '08), vol. 5119 of LNCS, pages 283-302, Springer-Verlag, 2008