kieker-monitoring / kieker

Kieker's main repository
Apache License 2.0
70 stars 41 forks source link
dynamic-analysis framework monitoring

Kieker Observability Framework

The internal behavior of large-scale software systems cannot be determined on the basis of static (e.g., source code) analysis alone. Kieker provides complementary dynamic analysis capabilities, i.e., tracing, monitoring and analyzing a software system’s runtime behavior — enabling application performance monitoring and architecture discovery.

Detailed information about Kieker is provided at http://kieker-monitoring.net/ and its documentation site https://kieker-monitoring.readthedocs.io/en/latest/

Citation

If you use this software, please cite

BibTeX entries are provides as Kieker BibTeX file

Usage

Kieker releases (stable, nightly, etc.) can be downloaded from our website's Download Section.

Documentation on how to use Kieker can be found here: Kieker Documentation

Development and Contribution

Gradle is used as the build tool. A build.gradle file is provided. From the command-line, please use the provided Gradle wrapper script, e.g., on Unix-based systems, run ./gradlew clean build -x check -x test to build without executing checks and tests.

For issue tracking and bug reports, JIRA is used at https://kieker-monitoring.atlassian.net/.

Further instructions for developers are available at https://kieker-monitoring.atlassian.net/wiki/display/DEV/

Eclipse Setup for Contributors

Read our Confluence pages for more information.

Code Conventions

Read and follow our code conventions

Debugging and Logging Kieker's Execution

Kieker uses the Simple Logging Facade for Java (SLF4J) to support the logging framework of your choice. In order to see or store log messages, you need to bind a logging framework at deployment time.

A fast and flexible logging framework that can be used with SLF4J is Logback. In order to use it, you have to download it and add the following Jar files to the classpath:

Moreover, you have to set up a logback.xml file for configuration and add its containing folder to the classpath. An example of such a file is provided below:

<configuration>
<!-- log to console -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
  <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  </encoder>
</appender>
<!-- for logging to files see: https://logback.qos.ch/manual/appenders.html -->

<!-- standard log level is "warn" -->
<root level="warn">
  <appender-ref ref="STDOUT" />
</root>
<!-- set log level for TCP writer down to "info" -->
<logger name="kieker.monitoring.writer.tcp" level="INFO" />
</configuration>

Logbacks official documentation provides more information on how to use and configure it.