Kieker: continuous monitoring and on demand visualization of Java software behavior. Software behavior visualizations such as UML Sequence Diagrams are valuable to continuous program comprehension and analysis. This paper introduces an approach and implementation to the continuous monitoring and on demand visualization of software behavior, with a focus on multi-user Java Web applications. Our tool, called Kieker, monitors response times and control-flow for selected operations of a software application. The monitoring overhead is intended to be small enough to continuously monitor a selection of operations during normal operation. Besides monitoring, Kieker offers the reconstruction and visualization of models of current or past software system behavior in terms of UML Sequence Diagrams, Markov chains, Component Dependency Graphs, Trace Timing Diagrams, as well as Execution and Message trace models.