Package org.spongepowered.asm.util.perf
Class Profiler
- java.lang.Object
-
- org.spongepowered.asm.util.perf.Profiler
-
public final class Profiler extends java.lang.ObjectPerformance profiler for Mixin.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProfiler.SectionBase abstract profiler section.
-
Constructor Summary
Constructors Constructor Description Profiler(java.lang.String id)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Profiler.Sectionbegin(int flags, java.lang.String name)Begin a new profiler section using the specified name and flagsProfiler.Sectionbegin(int flags, java.lang.String... path)Begin a new profiler section using the specified path and flagsProfiler.Sectionbegin(java.lang.String name)Begin a new profiler section using the specified nameProfiler.Sectionbegin(java.lang.String... path)Begin a new profiler section using the specified pathProfiler.Sectionget(java.lang.String name)Get the specified profiler sectionstatic ProfilergetProfiler(java.lang.String id)Get the specified performance profilerstatic java.util.Collection<Profiler>getProfilers()Get all available performance profilersjava.util.Collection<Profiler.Section>getSections()Get all recorded profiler sectionsvoidmark(java.lang.String phase)Mark a new phase (time slice) for this profiler, all sections record their current times and then reset to zero.static voidprintAuditSummary()Print summary of mixin performance from all active profilers to the consolePrettyPrinterprinter(boolean includeFine, boolean group)Get the profiler state with all sections in aPrettyPrinter.voidprintSummary()Print summary of this profiler's recorded performance to the consolevoidreset()Reset all profiler statestatic voidsetActive(boolean active)Set the active state of the profiler.java.lang.StringtoString()
-
-
-
Field Detail
-
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
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
setActive
public static void setActive(boolean active)
Set the active state of the profiler.- Parameters:
active- new active state
-
reset
public void reset()
Reset all profiler state
-
get
public Profiler.Section get(java.lang.String name)
Get the specified profiler section- Parameters:
name- section name- Returns:
- profiler section
-
begin
public Profiler.Section begin(java.lang.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, java.lang.String... path)
Begin a new profiler section using the specified path and flags- Parameters:
flags- section flagspath- path parts- Returns:
- new profiler section
-
begin
public Profiler.Section begin(java.lang.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, java.lang.String name)
Begin a new profiler section using the specified name and flags- Parameters:
flags- section flagsname- section name- Returns:
- new profiler section
-
mark
public void mark(java.lang.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 java.util.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 aPrettyPrinter.- Parameters:
includeFine- Include sections marked as FINEgroup- 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 this profiler's recorded performance to the console
-
printAuditSummary
public static void printAuditSummary()
Print summary of mixin performance from all active profilers to the console
-
getProfiler
public static Profiler getProfiler(java.lang.String id)
Get the specified performance profiler- Parameters:
id- Profiler id- Returns:
- profiler
-
getProfilers
public static java.util.Collection<Profiler> getProfilers()
Get all available performance profilers- Returns:
- immutable collection of profilers
-
-