To manage distributed applications, we need to accurately monitor end-user service levels. There are two key challenges in monitoring end-user service levels: expressiveness and scalability. There is a big semantic gap between the metrics that administrators want to monitor and the metrics offered by commercial measurement systems. Moreover, it is hard to apply the same kind of metrics to different applications because different applications are likely to offer different types of instrumentation points. We want to apply the same metrics to very large numbers of instrumentation points, which makes scalability a key issue. In this work we present the activity monitoring language (AML) for declaratively specifying metrics, and a run-time system, called Solomon (service level objective monitor), that implements the concepts in AML. Expressiveness is a result of AML, which allows the high-level specification of user-defined metrics in an application-neutral way. Solomon's scalability is a result of reducing events and measurements as close to their physical source as is possible without the loss of accuracy.
[1]
Wil Plouffe,et al.
An asynchronous programming language and computing machine
,
1978
.
[2]
Steve Saunders,et al.
Integration of Performance Measurement and Modeling for Open Distributed Processing
,
1995
.
[3]
Ian Watson,et al.
The Manchester prototype dataflow computer
,
1985,
CACM.
[4]
James P. Braselton,et al.
CHAPTER 9
,
2019,
On Job, Volume 1.
[5]
Joseph J. Martinka,et al.
Murky Transparencies: Clarity using Performance Engineering
,
1995
.
[6]
Gérard Berry,et al.
The Esterel Synchronous Programming Language: Design, Semantics, Implementation
,
1992,
Sci. Comput. Program..
[7]
Shaula Yemini,et al.
Event Modeling with the MODEL Language
,
1997,
Integrated Network Management.
[8]
Jack B. Dennis,et al.
First version of a data flow procedure language
,
1974,
Symposium on Programming.
[9]
Pascal Raymond,et al.
The synchronous data flow programming language LUSTRE
,
1991,
Proc. IEEE.