Class CheckpointMetricsTracker

java.lang.Object
org.apache.ignite.internal.pagemem.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 Details

    • CheckpointMetricsTracker

      public CheckpointMetricsTracker()
  • Method Details

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

      public long writeCheckpointEntryDuration()
      Returns:
      Duration of checkpoint entry buffer writing to file.
      See Also:
      • CheckpointMarkersStorage#writeCheckpointEntry(long, UUID, WALPointer, CheckpointRecord, CheckpointEntryType, boolean)
    • splitAndSortCpPagesDuration

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

      public long checkpointStartTime()
      Returns:
      Checkpoint start time.