Class Profiler

java.lang.Object
org.spongepowered.asm.util.perf.Profiler

public final class Profiler extends Object
Performance profiler for Mixin.
  • Field Details

    • ROOT

      public static final int ROOT
      Flag to indicate a root section. Root sections are always recorded at the root wherever they occur, but may appear under other sections in order to show the time share of the root section relative to the parent.
      See Also:
      Constant Field Values
    • FINE

      public static final int FINE
      Flag to indicate a fine section. Fine sections are always recorded, but are only displayed in the printed output if the includeFine flag is set.
      See Also:
      Constant Field Values
  • Constructor Details

    • Profiler

      public Profiler()
  • Method Details

    • setActive

      public void setActive(boolean active)
      Set the active state of the profiler. When activating the profiler is always reset.
      Parameters:
      active - new active state
    • reset

      public void reset()
      Reset all profiler state
    • get

      public Profiler.Section get(String name)
      Get the specified profiler section
      Parameters:
      name - section name
      Returns:
      profiler section
    • begin

      public Profiler.Section begin(String... path)
      Begin a new profiler section using the specified path
      Parameters:
      path - path parts
      Returns:
      new profiler section
    • begin

      public Profiler.Section begin(int flags, String... path)
      Begin a new profiler section using the specified path and flags
      Parameters:
      flags - section flags
      path - path parts
      Returns:
      new profiler section
    • begin

      public Profiler.Section begin(String name)
      Begin a new profiler section using the specified name
      Parameters:
      name - section name
      Returns:
      new profiler section
    • begin

      public Profiler.Section begin(int flags, String name)
      Begin a new profiler section using the specified name and flags
      Parameters:
      flags - section flags
      name - section name
      Returns:
      new profiler section
    • mark

      public void mark(String phase)
      Mark a new phase (time slice) for this profiler, all sections record their current times and then reset to zero. If no times have been recorded in the current phase, the phase is discarded.
      Parameters:
      phase - Name of the phase
    • getSections

      public Collection<Profiler.Section> getSections()
      Get all recorded profiler sections
    • printer

      public PrettyPrinter printer(boolean includeFine, boolean group)
      Get the profiler state with all sections in a PrettyPrinter.
      Parameters:
      includeFine - Include sections marked as FINE
      group - Group delegated sections with their root instead of in the normal alphabetical order
      Returns:
      PrettyPrinter with section data
    • printSummary

      public void printSummary()
      Print summary of mixin performance to the console