Class BasePerformanceEntry

java.lang.Object
io.deephaven.engine.table.impl.perf.BasePerformanceEntry
All Implemented Interfaces:
LogOutputAppendable
Direct Known Subclasses:
PerformanceEntry, QueryPerformanceNugget

public class BasePerformanceEntry extends Object implements LogOutputAppendable
A smaller entry that simply records usage data, meant for aggregating into the larger entry.
  • Constructor Details

    • BasePerformanceEntry

      public BasePerformanceEntry()
  • Method Details

    • onBaseEntryStart

      public void onBaseEntryStart()
    • onBaseEntryEnd

      public void onBaseEntryEnd()
    • getUsageNanos

      public long getUsageNanos()
      Get the aggregate usage in nanoseconds. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total wall clock time in nanos
    • getCpuNanos

      public long getCpuNanos()
      Get the aggregate cpu time in nanoseconds. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total cpu time in nanos
    • getUserCpuNanos

      public long getUserCpuNanos()
      Get the aggregate cpu user time in nanoseconds. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total cpu user time in nanos
    • getAllocatedBytes

      public long getAllocatedBytes()
      Get the aggregate allocated memory in bytes. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      The bytes of allocated memory attributed to the instrumented operation.
    • getPoolAllocatedBytes

      public long getPoolAllocatedBytes()
      Get allocated pooled/reusable memory attributed to the instrumented operation in bytes. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total pool allocated memory in bytes
    • getDataReadNanos

      public long getDataReadNanos()
      Get the aggregate time spent reading data in nanoseconds. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total data read time in nanos
    • getDataReadCount

      public long getDataReadCount()
      Get the aggregate number of data read operations. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total number of data read operations
    • getDataReadBytes

      public long getDataReadBytes()
      Get the aggregate number of bytes read in data read operations. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total number of bytes read
    • getMetadataOperationNanos

      public long getMetadataOperationNanos()
      Get the aggregate time spent on metadata operations (e.g. listing files, checking existence, determining file sizes) in nanoseconds. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total metadata operation time in nanos
    • getMetadataOperationCount

      public long getMetadataOperationCount()
      Get the aggregate number of metadata operations. This getter should be called by exclusive owners of the entry, and never concurrently with mutators.
      Returns:
      total number of metadata operations
    • append

      public LogOutput append(@NotNull @NotNull LogOutput logOutput)
      Specified by:
      append in interface LogOutputAppendable
    • accumulate

      public void accumulate(@NotNull @NotNull BasePerformanceEntry entry)
      Accumulate the values from another entry into this one. The provided entry will not be mutated.
      Parameters:
      entry - the entry to accumulate