Class Profiler.Section

java.lang.Object
org.spongepowered.asm.util.perf.Profiler.Section
Enclosing class:
Profiler

public abstract static class Profiler.Section extends Object
Base abstract profiler section. When disabled, the profiler itself returns Profiler.DisabledSection so as to consume minimal resources without needing to introduce nullability checks everwhere that sections are used. When enabled, Profiler.LiveSection is used to record timings.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
    True if this section has been invalidated by a call to Profiler#clear
  • Method Summary

    Modifier and Type
    Method
    Description
    end()
    Stop timing of this section and end it (pop from profiler stack)
    double
    Get the average time in milliseconds of each time period recorded in the current slice
    Get the base name for this section, for delegated sections this is the name of the parent section, minus the root
    int
    Get the number of total time periods recorded in the current slice
    protected int
     
    Get the auxilliary info for this section
    protected int
    Internal accessor for markedCount from LiveSection, used by ResultSection
    protected long
    Internal accessor for markedTime from LiveSection, used by ResultSection
    Get the section name
    double
    Get the current time in seconds in the current phase
    long
    Get the current time in milliseconds in the current phase
    long[]
    Get all available time slices including the current one in milliseconds
    double
    Get the average time in milliseconds of each time period recorded in the all slices
    int
    Get the number of total time periods recorded in the all slices
    double
    Get the current time in seconds in all phases
    long
    Get the current time in milliseconds in all phases
    boolean
    Get whether this section is FINE
    boolean
    Get whether this is a root section
    next(String name)
    Stop timing of this section and start a new section at the same level
    void
    Set the auxilliary info for this section
    Stop timing of this section
    final String
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • invalidated

      protected boolean invalidated
      True if this section has been invalidated by a call to Profiler#clear
  • Method Details

    • getCursor

      protected int getCursor()
    • isRoot

      public boolean isRoot()
      Get whether this is a root section
    • isFine

      public boolean isFine()
      Get whether this section is FINE
    • getName

      public String getName()
      Get the section name
    • getBaseName

      public String getBaseName()
      Get the base name for this section, for delegated sections this is the name of the parent section, minus the root
    • setInfo

      public void setInfo(String info)
      Set the auxilliary info for this section
      Parameters:
      info - aux info
    • getInfo

      public String getInfo()
      Get the auxilliary info for this section
    • stop

      protected Profiler.Section stop()
      Stop timing of this section
      Returns:
      fluent
    • end

      public Profiler.Section end()
      Stop timing of this section and end it (pop from profiler stack)
      Returns:
      fluent
    • next

      public Profiler.Section next(String name)
      Stop timing of this section and start a new section at the same level
      Parameters:
      name - name of the next section
      Returns:
      new section
    • getTime

      public long getTime()
      Get the current time in milliseconds in the current phase
    • getTotalTime

      public long getTotalTime()
      Get the current time in milliseconds in all phases
    • getSeconds

      public double getSeconds()
      Get the current time in seconds in the current phase
    • getTotalSeconds

      public double getTotalSeconds()
      Get the current time in seconds in all phases
    • getTimes

      public long[] getTimes()
      Get all available time slices including the current one in milliseconds
    • getCount

      public int getCount()
      Get the number of total time periods recorded in the current slice
    • getTotalCount

      public int getTotalCount()
      Get the number of total time periods recorded in the all slices
    • getAverageTime

      public double getAverageTime()
      Get the average time in milliseconds of each time period recorded in the current slice
    • getTotalAverageTime

      public double getTotalAverageTime()
      Get the average time in milliseconds of each time period recorded in the all slices
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • getMarkedTime

      protected long getMarkedTime()
      Internal accessor for markedTime from LiveSection, used by ResultSection
    • getMarkedCount

      protected int getMarkedCount()
      Internal accessor for markedCount from LiveSection, used by ResultSection