Interoperability From Kieker to OpenTelemetry: Demonstrated as Export to ExplorViz

David Georg Reichelt,Malte Hansen,Shinhyung Yang,Wilhelm Hasselbring
2024-11-13
Abstract:While the observability framework Kieker has a low overhead for tracing, its results currently cannot be used in most analysis tools due to lack of interoperability of the data formats. The OpenTelemetry standard aims for standardizing observability data. In this work, we describe how to export Kieker distributed tracing data to OpenTelemetry. This is done using the pipe-and-filter framework TeeTime. For TeeTime, a stage was defined that uses Kieker execution data, which can be created from most record types. We demonstrate the usability of our approach by visualizing trace data of TeaStore in the ExplorViz visualization tool.
Software Engineering
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is the lack of interoperability between Kieker and OpenTelemetry. Specifically: 1. **Advantages and Limitations of Kieker**: - Kieker is an observability framework with low performance overhead and is suitable for distributed tracing. - However, Kieker's data format is incompatible with most other analysis tools, resulting in its results being unusable in standard observability analysis tools. 2. **The Standard of OpenTelemetry**: - OpenTelemetry has become the de - facto standard for observability data, providing support for multiple languages, libraries, and frameworks. - It can be integrated with various storage and analysis tools (such as Zipkin, Prometheus, Grafana, and ExplorViz) to help understand system behavior. 3. **The Core of the Problem**: - Due to the incompatibility between Kieker's data format and the OpenTelemetry standard, the observability data generated by Kieker cannot be directly used for analysis and visualization in these standard tools. - This limits the wide application of Kieker, especially in cloud - native environments and modern observability toolchains. To solve this problem, the author proposes a method to export Kieker's distributed tracing data to the OpenTelemetry format. In this way, the advantage of Kieker's low performance overhead can be utilized while maintaining compatibility with standard observability tools. The specific implementation methods include: - Using the pipeline and filter architecture in the TeeTime framework to transform Kieker's execution data. - Developing a stage named `OpenTelemetryExporterStage` to convert Kieker records into OpenTelemetry spans and send them to the OpenTelemetry collector. - Demonstrating the effectiveness of this method through practical cases (such as the TeaStore application), successfully importing the runtime behavior data monitored by Kieker into ExplorViz for visualization. In summary, this paper aims to expand the application scenarios and improve the practicality of Kieker by providing interoperability from Kieker to OpenTelemetry, enabling Kieker to be applied in a wider observability toolchain.