Auflistung nach Schlagwort "monitoring"
1 - 9 von 9
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragAnalyzing the Evolution of Data Structures in Trace-Based Memory Monitoring(Softwaretechnik-Trends Band 39, Heft 3, 2019) Weninger, Markus; Gander, Elias; Mössenböck, HanspeterModern software systems are becoming increasingly complex and are thus more prone to performance degradation due to memory leaks. Memory leaks occur if objects that are not needed anymore are still unintentionally kept alive. While there exists a variety of state-of-the-art memory monitoring tools, most of them only use memory snapshots, i.e., heap dumps, to analyze an application’s live objects at a single point in time. This does not allow developers to identify data structures that grow over time. Tracebased monitoring tools tackle this problem by recording memory events, e.g., allocations or object moves performed by the garbage collector (GC), throughout an application’s run time. In this paper, we present ongoing research on the use of memory traces for detecting the root causes of memory leaks introduced by growing data structures. This encompasses (1) a domain-specific language (DSL) to describe arbitrary data structures, (2) an algorithm to detect instances of previously defined data structures in reconstructed heaps, as well as (3) techniques to analyze the temporal evolution of these data structure instances to identify those possibly involved in memory leaks. All these concepts have been integrated into AntTracks, a trace-based memory monitoring tool, to prove their feasibility.
- KonferenzbeitragGraph-Based Analysis and Visualization of Software Traces(Softwaretechnik-Trends Band 39, Heft 4, 2019) Müller, Richard; Fischer, MatteoGraphs are a suitable representation of software artifacts’ data created during development and maintenance activities. Software traces monitored with Kieker are one example of such data. We present a jQAssistant plugin that scans event-based Kieker traces and stores them in a Neo4j graph database. This opens up new possibilities for analyzing and visualizing these traces with respect to application performance monitoring and architecture discovery. We illustrate the feasibility and usefulness of the plugin with the Bookstore application example.
- KonferenzbeitragIdentifying Bottlenecks in a Visualization Platform for Tracing Adaptation Decisions(Softwaretechnik-Trends Band 39, Heft 4, 2019) Pfannemüller, Martin; Becker, ChristianMeasuring the performance of different operations as part of a software system can help to identify performance bottlenecks. This information can be used to improve the performance of the monitored system. In previous work, we proposed a visualization platform for observing and understanding adaptation decisions in self-adaptive systems. In this paper, we apply Kieker as a monitoring solution to measure the runtime of different operations based on the granularity of methods and tasks. As a result, we identified possibilities for improvements in our implementation.
- KonferenzbeitragInstrumenting Python with Kieker(Softwaretechnik-Trends Band 43, Heft 1, 2023) Simonov, Serafim; Düllmann, Thomas F.; Jung, Reiner; Gundlach, SvenPython has become a widely used programming language in big data, machine learning, and scientific modeling. In all these domains, performance is a key factor to success and requires the ability to understand the runtime behavior of software. Therefore, we ported Kieker monitoring to Python and evaluated different approaches to introduce probes into code. In this paper, we evaluate these approaches, show their benefits and limitations and provide a perfor mance evaluation of the Kieker 4 Python framework.
- KonferenzbeitragMonitoring Electrical Power Consumption with Kieker(Softwaretechnik-Trends Band 39, Heft 3, 2019) Henning, SörenDetailed knowledge about the electrical power consumption is a prerequisite for reducing it in manufacturing enterprises. Therefore, a continuous monitoring and analysis of the power usage of the overall business as well as of its individual devices, machines, and production plants is demanded. In this paper, we present an approach for such a monitoring infrastructure. It facilitates the integration of different types of sensors in order to make their measurements comparable. Automatically and in real time, it analyzes and visualizes recorded data in a number of ways. Supported by patterns and technologies for scalable, big data processing systems, this approach utilizes the software performance monitoring framework Kieker in large parts. We implement a prototype of this approach and inspect the power consumption of servers in a medium-sized enterprise.
- KonferenzbeitragMonitoring the Execution of Declarative Model Transformations(Softwaretechnik-Trends Band 39, Heft 3, 2019) Groner, Raffaela; Gylstorff, Sophie; Tichy, MatthiasModel transformations, applied at design and run time, are key artifacts in Model-Driven Software Engineering. The monitoring of a transformation’s execution is a prerequisite to enable a software engineer to identify performance bottlenecks and improve transformations. Monitoring is particularly relevant for declarative model transformations since the order of execution is not explicitly defined but instead the result of internal heuristics of the transformation engine. In this paper, we present how we monitor the execution of Henshin model transformations using Kieker as well as the resulting monitoring overhead. We show that the monitoring overhead depends on the size of the input model and that it is between 17.03% and 28.44%.
- KonferenzbeitragMore is Less in Kieker? The Paradox of No Logging Being Slower Than Logging(Softwaretechnik-Trends Band 43, Heft 4, 2023) Reichelt, David Georg; Jung, Reiner; van Hoorn, AndréUnderstanding the sources of monitoring overhead is crucial for understanding the performance of a monitored application. The MooBench bench mark measures the monitoring overhead and its sources. MooBench assumes that benchmarking overhead emerges from the instrumentation, the data collection, and the writing of data. These three parts are measured through individual factorial experiments. We made the counter-intuitive observation that MooBench consistently and reproducibly reported higher overhead for Kieker and other monitoring frameworks when not writing data. Intuitively, writing should consume resources and therefore slow down (or, since is parallelized, at least not speed up) the monitoring. In this paper, we present an investigation of this problem in Kieker. We find that lock contention at Kieker’s writing queue causes the problem. Therefore, we propose to add a new queue that dumps all elements. Thereby, a realistic measurement of data collection without writing can be provided.
- KonferenzbeitragSelecting Time Series Clustering Methods based on Run-Time Costs(Softwaretechnik-Trends Band 40, Heft 3, 2020) Schörgenhumer, Andreas; Grünbacher, Paul; Mössenböck, HanspeterClustering time series, e.g., of monitoring data from software systems, can reveal important insights and interesting hidden patterns. However, choosing the right method is not always straightforward, especially as not only clustering quality but also run-time costs must be considered. In this paper, we thus present an approach that aids users in selecting the best methods in terms of quality as well as computational costs. Given a set of candidate methods, we evaluate their clustering performance and robustly measure their actual run times, i.e., the execution time on a specific machine. We evaluate our approach using data from the UCR time series archive and show its usefulness in determining the best clustering methods while also taking costs into account.
- KonferenzbeitragSimplifying Software System Monitoring through Application Discovery with ExplorViz(Softwaretechnik-Trends Band 39, Heft 3, 2019) Krause, Alexander; Zirkelbach, Christian; Hasselbring, WilhelmKeeping an overview of software systems is a crucial task in the area of software engineering. Often this task is supported by application performance management (APM) tools, e.g., Kieker, a monitoring framework based on dynamic software analysis. Kieker is highly extensible and customizable, but lacks a user-friendly setup configuration due to its framework characteristic. Based on this obstacle, users of our live trace visualization tool ExplorViz, which employs Kieker, experience problems during monitoring their applications. In this paper, we report on our ExplorViz application discovery and monitoring management system (ADAMMS) to circumvent this drawback. The key concept is to utilize a software agent that simplifies the discovery of running applications within operating systems. Furthermore, the ADAMMS properly configures and manages Kieker instances to monitor these applications. Thereupon, we demonstrate how the monitoring procedure can be eased and how both open source projects ExplorViz and Kieker mutually benefit from our approach. Finally, we conduct a first pilot study to evaluate the usability of our approach with respect to an easy-to-use application monitoring.