Evaluating the Overhead of the Performance Profiler Cloudprofiler With MooBench

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Yang, Shinhyung, Reichelt, David Georg, Hasselbring, Wilhelm
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866917848990875648
author Yang, Shinhyung
Reichelt, David Georg
Hasselbring, Wilhelm
author_facet Yang, Shinhyung
Reichelt, David Georg
Hasselbring, Wilhelm
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2411_17413
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Evaluating the Overhead of the Performance Profiler Cloudprofiler With MooBench
Yang, Shinhyung
Reichelt, David Georg
Hasselbring, Wilhelm
Distributed, Parallel, and Cluster Computing
Software Engineering
D.2.5; D.2.8; D.2.9
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.
title Evaluating the Overhead of the Performance Profiler Cloudprofiler With MooBench
topic Distributed, Parallel, and Cluster Computing
Software Engineering
D.2.5; D.2.8; D.2.9
url https://arxiv.org/abs/2411.17413