Analyzing Application Performance Using a System Monitoring Database

Aaron B. Brown and David Oppenheimer

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-03-1224
2003

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2003/CSD-03-1224.pdf

In this paper we introduce a new approach to system performance analysis. Based on the use of a system monitoring database, SPADE (System Performance Analysis Database Engine) overcomes many of the shortcomings of traditional performance analysis tools. SPADE collects monitoring data from all levels of the system, including the application, and stores it in a central repository backed by a relational DBMS; the granularity of the system instrumentation is automatically matched to the application's notion of a request, allowing the database to correlate all monitoring data with semantically-meaningful application requests. We demonstrate that the SQL-based query facility of the database enables unprecedented levels of flexibility, power, and ease-of-use in analyzing the data: a user of our system can write simple queries to examine the collected monitoring data at multiple levels of detail, to locate system bottlenecks and unusual behavior, and to easily test hypotheses about the system's performance, all without having to write ad-hoc tools or perform multiple experiment runs.


BibTeX citation:

@techreport{Brown:CSD-03-1224,
    Author = {Brown, Aaron B. and Oppenheimer, David},
    Title = {Analyzing Application Performance Using a System Monitoring Database},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2003},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2003/5438.html},
    Number = {UCB/CSD-03-1224},
    Abstract = {In this paper we introduce a new approach to system performance analysis. Based on the use of a system monitoring database, SPADE (System Performance Analysis Database Engine) overcomes many of the shortcomings of traditional performance analysis tools. SPADE collects monitoring data from all levels of the system, including the application, and stores it in a central repository backed by a relational DBMS; the granularity of the system instrumentation is automatically matched to the application's notion of a request, allowing the database to correlate all monitoring data with semantically-meaningful application requests. We demonstrate that the SQL-based query facility of the database enables unprecedented levels of flexibility, power, and ease-of-use in analyzing the data: a user of our system can write simple queries to examine the collected monitoring data at multiple levels of detail, to locate system bottlenecks and unusual behavior, and to easily test hypotheses about the system's performance, all without having to write ad-hoc tools or perform multiple experiment runs.}
}

EndNote citation:

%0 Report
%A Brown, Aaron B.
%A Oppenheimer, David
%T Analyzing Application Performance Using a System Monitoring Database
%I EECS Department, University of California, Berkeley
%D 2003
%@ UCB/CSD-03-1224
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2003/5438.html
%F Brown:CSD-03-1224