Class ProfileManager

java.lang.Object
io.ebeaninternal.server.autotune.service.ProfileManager
All Implemented Interfaces:
io.ebean.bean.NodeUsageListener, io.ebeaninternal.server.autotune.ProfilingListener

public class ProfileManager extends Object implements io.ebeaninternal.server.autotune.ProfilingListener
Manages the collection of object graph usage profiling.
  • Constructor Details

    • ProfileManager

      public ProfileManager(io.ebean.config.AutoTuneConfig config, io.ebeaninternal.api.SpiEbeanServer server)
  • Method Details

    • isProfileRequest

      public boolean isProfileRequest(io.ebean.bean.ObjectGraphNode origin, io.ebeaninternal.api.SpiQuery<?> query)
      Specified by:
      isProfileRequest in interface io.ebeaninternal.server.autotune.ProfilingListener
    • collectQueryInfo

      public void collectQueryInfo(io.ebean.bean.ObjectGraphNode node, long beans, long micros)
      Gather query execution statistics. This could either be the originating query in which case the parentNode will be null, or a lazy loading query resulting from traversal of the object graph.
      Specified by:
      collectQueryInfo in interface io.ebeaninternal.server.autotune.ProfilingListener
    • collectNodeUsage

      public void collectNodeUsage(io.ebean.bean.NodeUsageCollector.State usageCollector)
      Collect usage statistics from a node in the object graph.

      This is sent to use from a EntityBeanIntercept when the finalise method is called on the bean.

      Specified by:
      collectNodeUsage in interface io.ebean.bean.NodeUsageListener
    • profilingCollection

      public AutoTuneCollection profilingCollection(boolean reset)
      Collect all the profiling information.