After an application has been deployed, monitoring the state of that application becomes an important task. In the JavaBeans model, the current state of the application is usually exposed through properties. These properties are often read-only, meaning that they expose only the getX method.

For example, the atg.server.tcp.RequestServer component exposes its state through properties such as handledRequestCount and totalRequestHandlingTime, which report the number of requests handled by that component, and how much time it took to handle those requests. By sampling these values periodically, you can follow the throughput and latency of the system over time.

Oracle ATG Web Commerce provides an atg.service.statistics.Sampler service that you can configure to monitor a set of component properties. The Sampler can be instructed to generate periodic samples of the specified components, or to generate samples of the component on demand. Other components, such as the MemorySampler, can use the basic Sampler to keep a history of the samples, or to summarize the samples into a daily email, or perhaps display the samples in a graph.