Class 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 Detail

      • ProfileManager

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

      • 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 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