Instrumentation Record Language (IRL)

Kieker offers a user-friendly domain specific language called the Instrumentation Record Language (IRL). It is used to define records in a language-independent way. The IRL compiler (as command line or as Eclipse plugin) is then able to generate these records in arbitrary programming languages. Currently, the compiler can produce records in Java, C, and Perl. The compiler is extensible for other languages. Therefore, we provide an API based on OSGI.

abstract entity AbstractExampleEntity {    int id    string label}template TemplateExample {    boolean templateActive}entity ExampleEntity extends AbstractEntity : TemplateExample {   byte byteValue   short shortValue   int intValue   long longvalue   double doubleValue   float floatValue   char characterValue   string stringValue   boolean boolValue}

Eclipse IDE Plug-In

Kieker provides an Eclipse-Plugin for monitoring and analyzing Java projects from within the Eclipse IDE.
The monitoring part allows to instrument and run Java-projects within Eclipse.
The analysis part allows to process a Kieker log folder by a user-defined Kieker analysis.

Kieker Trace Analysis Tool with GUI

Kieker’s Trace Analysis Tool allows to reconstruct and visualize architectural representations of the monitored systems from trace information collected at runtime. Currently supported architectural representations include

  • Software architectural diagrams
    • Sequence diagrams
    • Call trees (single traces, aggregation of trace sets)
    • Dependency graphs (container-, component-, and operation-level)
  • HTML output of the reconstructed system model
  • Textual trace and trace equivalence representations
    • Execution traces
    • Message traces

Diagrams can be exported into pixel and vector graphic formats (PDF, SVG, PNG, etc.).

The TraceAnalysisTool can be used via a command line interface and a dialog-based GUI.

Kieker Trace Diagnosis

The Kieker Trace Diagnosis is a JavaFX-based GUI which allows the user to analyze and interact with recorded traces.
It reads in the desired monitoring log, analyzes it, and finally visualizes it as filterable and sortable tables and tree views.
The provided views show operation calls, such as method invocations and SQL queries, (including type name, operation name, execution time etc.) and traces both aggregated and in detail.