Package org.openjdk.jmh.profile
Class LinuxPerfAsmProfiler
- java.lang.Object
-
- org.openjdk.jmh.profile.AbstractPerfAsmProfiler
-
- org.openjdk.jmh.profile.LinuxPerfAsmProfiler
-
- All Implemented Interfaces:
ExternalProfiler,Profiler
public class LinuxPerfAsmProfiler extends AbstractPerfAsmProfiler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classLinuxPerfAsmProfiler.PerfLine-
Nested classes/interfaces inherited from class org.openjdk.jmh.profile.AbstractPerfAsmProfiler
AbstractPerfAsmProfiler.ASMLine, AbstractPerfAsmProfiler.Assembly, AbstractPerfAsmProfiler.GeneratedRegion, AbstractPerfAsmProfiler.MethodDesc, AbstractPerfAsmProfiler.NativeRegion, AbstractPerfAsmProfiler.PerfEvents, AbstractPerfAsmProfiler.Region, AbstractPerfAsmProfiler.UnknownRegion
-
-
Field Summary
Fields Modifier and Type Field Description private joptsimple.OptionSpec<java.lang.Long>optFrequencyprivate longsampleFrequency-
Fields inherited from class org.openjdk.jmh.profile.AbstractPerfAsmProfiler
hsLog, perfBinData, perfParsedData, requestedEventNames, set
-
-
Constructor Summary
Constructors Constructor Description LinuxPerfAsmProfiler(java.lang.String initLine)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<java.lang.String>addJVMInvokeOptions(BenchmarkParams params)Prepend JVM invocation with these commands.protected voidaddMyOptions(joptsimple.OptionParser parser)java.lang.StringgetDescription()Human-readable one-line description of the profiler.protected voidparseEvents()Parse profiler events from binary to text form.(package private) static LinuxPerfAsmProfiler.PerfLineparsePerfLine(java.lang.String line)protected java.lang.StringperfBinaryExtension()Get perf binary data extension (optional).protected AbstractPerfAsmProfiler.PerfEventsreadEvents(double skipMs, double lenMs)Read parsed events.protected java.util.List<java.lang.String>stripEventNames(java.util.List<java.lang.String> events)Some profilers strip modifiers from event names.(package private) static java.util.List<java.lang.String>stripPerfEventNames(java.util.List<java.lang.String> events)-
Methods inherited from class org.openjdk.jmh.profile.AbstractPerfAsmProfiler
addJVMOptions, afterTrial, allowPrintErr, allowPrintOut, beforeTrial
-
-
-
-
Constructor Detail
-
LinuxPerfAsmProfiler
public LinuxPerfAsmProfiler(java.lang.String initLine) throws ProfilerException- Throws:
ProfilerException
-
-
Method Detail
-
addMyOptions
protected void addMyOptions(joptsimple.OptionParser parser)
- Specified by:
addMyOptionsin classAbstractPerfAsmProfiler
-
addJVMInvokeOptions
public java.util.Collection<java.lang.String> addJVMInvokeOptions(BenchmarkParams params)
Description copied from interface:ExternalProfilerPrepend JVM invocation with these commands.- Parameters:
params- benchmark parameters used for current launch- Returns:
- commands to prepend for JVM launch
-
getDescription
public java.lang.String getDescription()
Description copied from interface:ProfilerHuman-readable one-line description of the profiler.- Returns:
- description
-
parseEvents
protected void parseEvents()
Description copied from class:AbstractPerfAsmProfilerParse profiler events from binary to text form.- Specified by:
parseEventsin classAbstractPerfAsmProfiler
-
parsePerfLine
static LinuxPerfAsmProfiler.PerfLine parsePerfLine(java.lang.String line)
-
readEvents
protected AbstractPerfAsmProfiler.PerfEvents readEvents(double skipMs, double lenMs)
Description copied from class:AbstractPerfAsmProfilerRead parsed events.- Specified by:
readEventsin classAbstractPerfAsmProfiler- Parameters:
skipMs- Milliseconds to skip.lenMs- Milliseconds to capture after skip- Returns:
- Events.
-
perfBinaryExtension
protected java.lang.String perfBinaryExtension()
Description copied from class:AbstractPerfAsmProfilerGet perf binary data extension (optional).- Specified by:
perfBinaryExtensionin classAbstractPerfAsmProfiler- Returns:
- Extension.
-
stripEventNames
protected java.util.List<java.lang.String> stripEventNames(java.util.List<java.lang.String> events)
Description copied from class:AbstractPerfAsmProfilerSome profilers strip modifiers from event names. To properly match the events in shared code, we need to know what those events were stripped to.- Overrides:
stripEventNamesin classAbstractPerfAsmProfiler- Returns:
- stripped events
-
stripPerfEventNames
static java.util.List<java.lang.String> stripPerfEventNames(java.util.List<java.lang.String> events)
-
-