Class PerformanceProfiler

    • Field Detail

      • session

        protected transient org.eclipse.persistence.internal.sessions.AbstractSession session
      • shouldLogProfile

        protected boolean shouldLogProfile
      • nestLevel

        protected int nestLevel
      • nestTime

        protected long nestTime
      • profileTime

        protected long profileTime
    • 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​(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 Hashtable buildProfileSummaryByClass()
        INTERNAL: Return a map of summary profiles reporting on the profile contained.
      • buildProfileSummaryByQuery

        public 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 Map<String,​Long> getOperationStartTimes()
      • getOperationTimings

        protected Map<String,​Long> getOperationTimings()
      • getProfiles

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

        protected long getProfileTime()
      • getSession

        public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
      • 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.
      • profileExecutionOfQuery

        public Object profileExecutionOfQuery​(DatabaseQuery query,
                                              Record row,
                                              org.eclipse.persistence.internal.sessions.AbstractSession session)
        INTERNAL: Finish a profile operation if profiling. This assumes the start operation proceeds on the stack. The session must be passed to allow units of work etc. to share their parents profiler.
        Specified by:
        profileExecutionOfQuery in interface SessionProfiler
        Overrides:
        profileExecutionOfQuery in class SessionProfilerAdapter
        Returns:
        the execution result of the query.
      • setNestLevel

        protected void setNestLevel​(int nestLevel)
      • setNestTime

        protected void setNestTime​(long nestTime)
      • setOperationStartTimes

        protected void setOperationStartTimes​(Map<String,​Long> operationStartTimes)
      • setOperationStartTimesByThread

        protected void setOperationStartTimesByThread​(Hashtable operationStartTimesByThread)
      • setOperationTimings

        protected void setOperationTimings​(Map<String,​Long> operationTimings)
      • setOperationTimingsByThread

        protected void setOperationTimingsByThread​(Hashtable operationTimingsByThread)
      • setProfiles

        protected void setProfiles​(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​(Writer writer)