Class CheckpointMetricsTracker


  • public class CheckpointMetricsTracker
    extends Object
    Tracks various checkpoint phases and stats. Assumed sequence of events:
    1. Checkpoint start
    2. CP Lock wait start
    3. CP mark start
    4. CP Lock release
    5. Pages write start
    6. fsync start
    7. Checkpoint end
    • Constructor Detail

      • CheckpointMetricsTracker

        public CheckpointMetricsTracker()
    • Method Detail

      • onCowPageWritten

        public void onCowPageWritten()
        Increments counter if copy on write page was written.
      • onDataPageWritten

        public void onDataPageWritten()
      • cowPagesWritten

        public int cowPagesWritten()
        Returns:
        COW pages.
      • dataPagesWritten

        public int dataPagesWritten()
        Returns:
        Data pages written.
      • onLockWaitStart

        public void onLockWaitStart()
      • onMarkStart

        public void onMarkStart()
      • onLockRelease

        public void onLockRelease()
      • onPagesWriteStart

        public void onPagesWriteStart()
      • onFsyncStart

        public void onFsyncStart()
      • onEnd

        public void onEnd()
      • onListenersExecuteEnd

        public void onListenersExecuteEnd()
      • onWalCpRecordFsyncStart

        public void onWalCpRecordFsyncStart()
      • onSplitAndSortCpPagesStart

        public void onSplitAndSortCpPagesStart()
      • onSplitAndSortCpPagesEnd

        public void onSplitAndSortCpPagesEnd()
      • onWalCpRecordFsyncEnd

        public void onWalCpRecordFsyncEnd()
      • totalDuration

        public long totalDuration()
        Returns:
        Total checkpoint duration.
      • lockWaitDuration

        public long lockWaitDuration()
        Returns:
        Checkpoint lock wait duration.
      • beforeLockDuration

        public long beforeLockDuration()
        Returns:
        Checkpoint action before taken write lock duration.
      • listenersExecuteDuration

        public long listenersExecuteDuration()
        Returns:
        Execution listeners under write lock duration.
      • markDuration

        public long markDuration()
        Returns:
        Checkpoint mark duration.
      • lockHoldDuration

        public long lockHoldDuration()
        Returns:
        Checkpoint lock hold duration.
      • pagesWriteDuration

        public long pagesWriteDuration()
        Returns:
        Pages write duration.
      • fsyncDuration

        public long fsyncDuration()
        Returns:
        Checkpoint fsync duration.
      • walCpRecordFsyncDuration

        public long walCpRecordFsyncDuration()
        Returns:
        Duration of WAL fsync after logging CheckpointRecord on checkpoint begin.
      • splitAndSortCpPagesDuration

        public long splitAndSortCpPagesDuration()
        Returns:
        Duration of splitting and sorting checkpoint pages.
      • checkpointStartTime

        public long checkpointStartTime()
        Returns:
        Checkpoint start time.