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 class
LinuxPerfAsmProfiler.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>
optFrequency
private long
sampleFrequency
-
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 void
addMyOptions(joptsimple.OptionParser parser)
java.lang.String
getDescription()
Human-readable one-line description of the profiler.protected void
parseEvents()
Parse profiler events from binary to text form.(package private) static LinuxPerfAsmProfiler.PerfLine
parsePerfLine(java.lang.String line)
protected java.lang.String
perfBinaryExtension()
Get perf binary data extension (optional).protected AbstractPerfAsmProfiler.PerfEvents
readEvents(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:
addMyOptions
in classAbstractPerfAsmProfiler
-
addJVMInvokeOptions
public java.util.Collection<java.lang.String> addJVMInvokeOptions(BenchmarkParams params)
Description copied from interface:ExternalProfiler
Prepend 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:Profiler
Human-readable one-line description of the profiler.- Returns:
- description
-
parseEvents
protected void parseEvents()
Description copied from class:AbstractPerfAsmProfiler
Parse profiler events from binary to text form.- Specified by:
parseEvents
in classAbstractPerfAsmProfiler
-
parsePerfLine
static LinuxPerfAsmProfiler.PerfLine parsePerfLine(java.lang.String line)
-
readEvents
protected AbstractPerfAsmProfiler.PerfEvents readEvents(double skipMs, double lenMs)
Description copied from class:AbstractPerfAsmProfiler
Read parsed events.- Specified by:
readEvents
in classAbstractPerfAsmProfiler
- Parameters:
skipMs
- Milliseconds to skip.lenMs
- Milliseconds to capture after skip- Returns:
- Events.
-
perfBinaryExtension
protected java.lang.String perfBinaryExtension()
Description copied from class:AbstractPerfAsmProfiler
Get perf binary data extension (optional).- Specified by:
perfBinaryExtension
in classAbstractPerfAsmProfiler
- Returns:
- Extension.
-
stripEventNames
protected java.util.List<java.lang.String> stripEventNames(java.util.List<java.lang.String> events)
Description copied from class:AbstractPerfAsmProfiler
Some 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:
stripEventNames
in classAbstractPerfAsmProfiler
- Returns:
- stripped events
-
stripPerfEventNames
static java.util.List<java.lang.String> stripPerfEventNames(java.util.List<java.lang.String> events)
-
-