1. Evaluating the Overhead of the Performance Profiler Cloudprofiler With MooBench
- Author
-
Yang, Shinhyung, Reichelt, David Georg, and Hasselbring, Wilhelm
- Subjects
Computer Science - Distributed, Parallel, and Cluster Computing ,Computer Science - Software Engineering ,D.2.5 ,D.2.8 ,D.2.9 - Abstract
Performance engineering has become crucial for the cloud-native architecture. This architecture deploys multiple services, with each service representing an orchestration of containerized processes. OpenTelemetry is growing popular in the cloud-native industry for observing the software's behaviour, and Kieker provides the necessary tools to monitor and analyze the performance of target architectures. Observability overhead is an important aspect of performance engineering and MooBench is designed to compare different observability frameworks, including OpenTelemetry and Kieker. In this work, we measure the overhead of Cloudprofiler, a performance profiler implemented in C++ to measure native and JVM processes. It minimizes the profiling overhead by locating the profiler process outside the target process and moving the disk writing overhead off the critical path with buffer blocks and compression threads. Using MooBench, Cloudprofiler's buffered ID handler with the Zstandard lossless data compression ZSTD showed an average execution time of 2.28 microseconds. It is 6.15 times faster than the non-buffered and non-compression handler.
- Published
- 2024