6 research outputs found
Using High-Rising Cities to Visualize Performance in Real-Time
For developers concerned with a performance drop or improvement in their
software, a profiler allows a developer to quickly search and identify
bottlenecks and leaks that consume much execution time. Non real-time profilers
analyze the history of already executed stack traces, while a real-time
profiler outputs the results concurrently with the execution of software, so
users can know the results instantaneously. However, a real-time profiler risks
providing overly large and complex outputs, which is difficult for developers
to quickly analyze. In this paper, we visualize the performance data from a
real-time profiler. We visualize program execution as a three-dimensional (3D)
city, representing the structure of the program as artifacts in a city (i.e.,
classes and packages expressed as buildings and districts) and their program
executions expressed as the fluctuating height of artifacts. Through two case
studies and using a prototype of our proposed visualization, we demonstrate how
our visualization can easily identify performance issues such as a memory leak
and compare performance changes between versions of a program. A demonstration
of the interactive features of our prototype is available at
https://youtu.be/eleVo19Hp4k.Comment: 10 pages, VISSOFT 2017, Artifact:
https://github.com/sefield/high-rising-city-artifac
Heijo: A Real-time Profiler for Java and Android Applications with City-like Visualization of Dynamic Code Executions.
アプリケーションのパフォーマンス改善において,実行時間を解析するプロファイラは有用と思われる.しかし,既存のプロファイラは特定の実行シナリオのもとプロファイリング時間を事前に設定する必要があり,実行シナリオなしでシステムのボトルネックを見つけることは難しい.また,各メソッドごとの実行時間を表示するインタフェースはソフトウェアの階層構造上における実行モジュールの位置などを把握することが難しい.これらの課題に対処するため,リアルタイムでパフォーマンス分析可能なソフトウェア都市可視化ツールHeijoを提案する.提案するプロファイラでは,アプリケーションの実行は3次元のソフトウェア都市として可視化され,アプリケーションのソフトウェア構造と実行のパフォーマンスが表現される.提案するプロファイラを使用して実際のJavaアプリケーションおよびAndroidアプリケーションのプロファイリングを行い,提案するプロファイラの有用性と実用性を確認した。JSP