next up previous
Next: Application-wide monitoring Up: Classification of approaches Previous: System-level Monitoring

Client-side application monitoring


Monitoring solely from client's side is the third class of techniques we discovered. In contrast to the methods mentioned so far it is possible to measure the actual time an application needs to complete a transaction, i.e. it is metered from a user's perspective. Nevertheless, this class of techniques still suffers from one general problem: it is possible to detect an application's malfunction in the moment it happens but it still does not help in finding the root cause of the problem. Therefore in general this class of techniques is only useful to verify fulfillment of SLAs from a customer's point of view, but additional techniques have to be used for further analysis in order to detect the reason of a QoS problem. Our studies revealed two basic methods that are applied to monitor from a client's perspective: synthetic transactions and GUI based solutions. The following paragraphs describe these two approaches in more detail.

Synthetic Transactions: This method uses simulated transactions in order to measure the response time of an application server and to verify the received responses by comparing them to previously recorded reference transactions. Several simulator agents, acting as clients in a network, send requests to the application server of interest and measure the time needed to complete a transaction. In case response time exceeds a configurable threshold or the received server response is incorrect in some way, the agents usually inform the manager by generating events.

As solely synthetic transactions are monitored and not real transactions initiated by actual users, this technique is only useful to take a snapshot of a server's availability, but not to verify the fulfillment of service level agreements. To get measurement data close to actual user experience, the interval between simulated transactions has to be reduced to a minimum. As a consequence the application service could experience serious performance degradation. Further problems arise from agent deployment in large networks.

Currently there are several companies providing either product solutions for performance monitoring using synthetic transactions, like Geyer & Weinig's GW-TEL INFRA-XS [#!gewe00!#], or offering a service for testing the availability of application services, like Jyra In-Site for Web-/E-Commerce Server [#!jyra00!#], using this technique.

GUI based solutions: To be able to meter the actual user transactions but to avoid the need for accessing the client application's source code, a new approach was recently developed: As every user request both starts and ends with using/changing a GUI element at the client side (e.g. clicking a web link and displaying the appropriate web page afterwards), simply observing GUI events delivers the needed information about start and end points of user transactions. A software agent installed at client site devices gathers the transaction data of interest from a user's point of view.

The advantages of this technique are that the actually occurring transaction duration is measured and that it can be applied to every application service client. Furthermore, only very little performance impact is caused on the monitored application.

However, we discovered two major problems. First of all, mapping GUI events to user transactions is a difficult task regarding non-standard applications and therefore requires additional effort by the administrator. Secondly, the only agents using these technique known by the authors, are agents by Candle ETEWatch [#!hurw98!#] that are currently available only for MS Windows platforms.



next up previous
Next: Application-wide monitoring Up: Classification of approaches Previous: System-level Monitoring
Copyright Munich Network Management Team