package io.ebeaninternal.server.autotune;
import io.ebean.bean.NodeUsageListener;
import io.ebean.bean.ObjectGraphNode;
import io.ebeaninternal.api.SpiQuery;
Profiling listener gets call backs for node usage and the associated query executions.
/**
* Profiling listener gets call backs for node usage and the associated query executions.
*/
public interface ProfilingListener extends NodeUsageListener {
Collect summary statistics for a query executed for the given node.
Params: - node – the node relative to the origin point
- beans – the number of beans loaded by the query
- micros – the query execution in microseconds
/**
* Collect summary statistics for a query executed for the given node.
*
* @param node the node relative to the origin point
* @param beans the number of beans loaded by the query
* @param micros the query execution in microseconds
*/
void collectQueryInfo(ObjectGraphNode node, long beans, long micros);
Return true if this request should be profiled (based on the
profiling ratio and collection count for this origin).
/**
* Return true if this request should be profiled (based on the
* profiling ratio and collection count for this origin).
*/
boolean isProfileRequest(ObjectGraphNode origin, SpiQuery<?> query);
}