Class PerformanceProfiler

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, SessionProfiler

    public class PerformanceProfiler
    extends SessionProfilerAdapter
    implements java.io.Serializable, java.lang.Cloneable

    Purpose: A tool used to provide high level performance profiling information.

    Since:
    TopLink 1.0
    Author:
    James Sutherland
    See Also:
    Serialized Form
    • Field Detail

      • profiles

        protected java.util.List<Profile> profiles
      • shouldLogProfile

        protected boolean shouldLogProfile
      • nestLevel

        protected int nestLevel
      • nestTime

        protected long nestTime
      • profileTime

        protected long profileTime
      • operationTimingsByThread

        protected java.util.Map<java.lang.Integer,​java.util.Map<java.lang.String,​java.lang.Long>> operationTimingsByThread
      • operationStartTimesByThread

        protected java.util.Map<java.lang.Integer,​java.util.Map<java.lang.String,​java.lang.Long>> operationStartTimesByThread
    • Constructor Detail

      • PerformanceProfiler

        public PerformanceProfiler()
        PUBLIC: Create a new profiler. The profiler can be registered with a session to log performance information on queries.
      • PerformanceProfiler

        public PerformanceProfiler​(Session session)
        Deprecated.
        replaced by PerformanceProfiler()
        OBSOLETE: Create a new profiler. The profiler can be registered with a session to log performance information on queries.
      • PerformanceProfiler

        public PerformanceProfiler​(Session session,
                                   boolean shouldLogProfile)
        Deprecated.
        replaced by PerformanceProfiler()
        OBSOLETE: Create a new profiler. The profiler can be registered with a session to log performance information on queries.
      • PerformanceProfiler

        public PerformanceProfiler​(boolean shouldLogProfile)
        PUBLIC: Create a new profiler. The profiler can be registered with a session to log performance information on queries.
    • Method Detail

      • addProfile

        protected void addProfile​(Profile profile)
      • buildProfileSummary

        public Profile buildProfileSummary()
        INTERNAL: Return a summary profile reporting on the profiles contained.
      • buildProfileSummaryByClass

        public java.util.Hashtable buildProfileSummaryByClass()
        INTERNAL: Return a map of summary profiles reporting on the profile contained.
      • buildProfileSummaryByQuery

        public java.util.Hashtable buildProfileSummaryByQuery()
        INTERNAL: Return a map of summary profiles reporting on the profile contained.
      • dontLogProfile

        public void dontLogProfile()
        PUBLIC: Set whether after each query execution the profile result should be logged. By default this is false.
      • getNestLevel

        protected int getNestLevel()
      • getNestTime

        protected long getNestTime()
      • getOperationStartTimes

        protected java.util.Map<java.lang.String,​java.lang.Long> getOperationStartTimes()
      • getOperationStartTimesByThread

        protected java.util.Map<java.lang.Integer,​java.util.Map<java.lang.String,​java.lang.Long>> getOperationStartTimesByThread()
      • getOperationTimings

        protected java.util.Map<java.lang.String,​java.lang.Long> getOperationTimings()
      • getOperationTimingsByThread

        protected java.util.Map<java.lang.Integer,​java.util.Map<java.lang.String,​java.lang.Long>> getOperationTimingsByThread()
      • getProfiles

        public java.util.List<Profile> getProfiles()
        Return the profiles logged in this profiler.
      • getProfileTime

        protected long getProfileTime()
      • logProfile

        public void logProfile()
        PUBLIC: Set whether after each query execution the profile result should be logged. By default this is true.
      • logProfileSummary

        public void logProfileSummary()
        PUBLIC: Log a profile summary.
      • logProfileSummaryByClass

        public void logProfileSummaryByClass()
        PUBLIC: Log a profile summary by class.
      • logProfileSummaryByQuery

        public void logProfileSummaryByQuery()
        PUBLIC: Log a profile summary by query.
      • setNestLevel

        protected void setNestLevel​(int nestLevel)
      • setNestTime

        protected void setNestTime​(long nestTime)
      • setOperationStartTimes

        protected void setOperationStartTimes​(java.util.Map<java.lang.String,​java.lang.Long> operationStartTimes)
      • setOperationStartTimesByThread

        protected void setOperationStartTimesByThread​(java.util.Hashtable operationStartTimesByThread)
      • setOperationTimings

        protected void setOperationTimings​(java.util.Map<java.lang.String,​java.lang.Long> operationTimings)
      • setOperationTimingsByThread

        protected void setOperationTimingsByThread​(java.util.Hashtable operationTimingsByThread)
      • setProfiles

        protected void setProfiles​(java.util.Vector profiles)
      • setProfileTime

        protected void setProfileTime​(long profileTime)
      • setShouldLogProfile

        public void setShouldLogProfile​(boolean shouldLogProfile)
        PUBLIC: Set whether after each query execution the profile result should be logged. By default this is true.
      • shouldLogProfile

        public boolean shouldLogProfile()
      • writeNestingTabs

        protected void writeNestingTabs​(java.io.Writer writer)