brooklyn.entity.webapp.DynamicWebAppCluster Maven / Gradle / Ivy
package brooklyn.entity.webapp;
import brooklyn.entity.group.DynamicCluster;
import brooklyn.entity.proxying.ImplementedBy;
import brooklyn.event.AttributeSensor;
import brooklyn.event.basic.BasicAttributeSensor;
/**
* DynamicWebAppClusters provide cluster-wide aggregates of entity attributes. Currently totals and averages:
*
* - Entity request counts
* - Entity error counts
* - Requests per second
* - Entity processing time
*
*/
@ImplementedBy(DynamicWebAppClusterImpl.class)
public interface DynamicWebAppCluster extends DynamicCluster, WebAppService {
public static final AttributeSensor REQUEST_COUNT_PER_NODE = new BasicAttributeSensor(
Double.class, "webapp.reqs.total.perNode", "Cluster entity request average");
public static final AttributeSensor ERROR_COUNT_PER_NODE = new BasicAttributeSensor(
Integer.class, "webapp.reqs.errors.perNode", "Cluster entity request error average");
public static final AttributeSensor REQUESTS_PER_SECOND_LAST_PER_NODE = new BasicAttributeSensor(
Double.class, "webapp.reqs.perSec.last.perNode", "Reqs/sec (last datapoint) averaged over all nodes");
public static final AttributeSensor REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE = new BasicAttributeSensor(
Double.class, "webapp.reqs.perSec.windowed.perNode", "Reqs/sec (over time window) averaged over all nodes");
public static final AttributeSensor TOTAL_PROCESSING_TIME_PER_NODE = new BasicAttributeSensor(
Integer.class, "webapp.reqs.processingTime.perNode", "Total processing time per node");
public static final AttributeSensor PROCESSING_TIME_FRACTION_IN_WINDOW_PER_NODE = new BasicAttributeSensor(
Double.class, "webapp.reqs.processingTime.fraction.windowed.perNode", "Fraction of time spent processing reported by webserver (percentage, over time window) averaged over all nodes");
}