public abstract class ProfilePrinter
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private ProfileData |
profileData |
(package private) static java.lang.String |
PROFILER_PROFILE_METHOD |
(package private) static java.lang.String |
PROFILER_PROFILED_CODE_METHOD |
private static java.lang.String |
PROFILER_START_METHOD |
private static java.lang.String |
PROFILER_STOP_METHOD |
private Invocation |
topInvocation |
| Modifier | Constructor and Description |
|---|---|
protected |
ProfilePrinter(ProfileData profileData) |
protected |
ProfilePrinter(ProfileData profileData,
Invocation topInvocation) |
| Modifier and Type | Method and Description |
|---|---|
ProfileData |
getProfileData() |
java.lang.String |
getThreadName() |
protected Invocation |
getTopInvocation() |
(package private) boolean |
isProfilerInvocation(Invocation inv) |
(package private) boolean |
isThisProfilerInvocation(int serial) |
protected static IntHashMap<MethodData> |
methodData(Invocation top) |
private static void |
methodData1(IntHashMap<MethodData> methods,
Invocation inv) |
java.lang.String |
methodName(int serial) |
(package private) static java.lang.String |
methodName(ProfiledMethod profileMethod) |
private static java.lang.String |
moduleHashMethod(RubyModule module,
java.lang.String name) |
protected static java.lang.String |
nanoString(long nanoTime) |
static ProfilePrinter |
newPrinter(RubyInstanceConfig.ProfilingMode mode,
ProfileData profileData)
Printer implementation factory for supported profiling modes.
|
(package private) static ProfilePrinter |
newPrinter(RubyInstanceConfig.ProfilingMode mode,
ProfileData profileData,
Invocation topInvocation) |
protected static void |
pad(java.io.PrintStream out,
int size,
java.lang.String body) |
protected static void |
pad(java.io.PrintStream out,
int size,
java.lang.String body,
boolean front) |
void |
printFooter(java.io.PrintStream out) |
void |
printHeader(java.io.PrintStream out) |
void |
printProfile(java.io.PrintStream out) |
abstract void |
printProfile(java.io.PrintStream out,
boolean first) |
void |
printProfile(RubyIO out) |
private final ProfileData profileData
private final Invocation topInvocation
private static final java.lang.String PROFILER_START_METHOD
private static final java.lang.String PROFILER_STOP_METHOD
static final java.lang.String PROFILER_PROFILE_METHOD
static final java.lang.String PROFILER_PROFILED_CODE_METHOD
protected ProfilePrinter(ProfileData profileData)
protected ProfilePrinter(ProfileData profileData, Invocation topInvocation)
public static ProfilePrinter newPrinter(RubyInstanceConfig.ProfilingMode mode, ProfileData profileData)
mode - the profiling modeprofileData - runtime - Ruby#printProfileData(ProfileData)static ProfilePrinter newPrinter(RubyInstanceConfig.ProfilingMode mode, ProfileData profileData, Invocation topInvocation)
public ProfileData getProfileData()
protected Invocation getTopInvocation()
public void printHeader(java.io.PrintStream out)
public void printFooter(java.io.PrintStream out)
public void printProfile(java.io.PrintStream out)
public abstract void printProfile(java.io.PrintStream out,
boolean first)
public void printProfile(RubyIO out)
boolean isProfilerInvocation(Invocation inv)
boolean isThisProfilerInvocation(int serial)
public java.lang.String getThreadName()
public java.lang.String methodName(int serial)
static java.lang.String methodName(ProfiledMethod profileMethod)
protected static IntHashMap<MethodData> methodData(Invocation top)
private static void methodData1(IntHashMap<MethodData> methods, Invocation inv)
private static java.lang.String moduleHashMethod(RubyModule module, java.lang.String name)
protected static void pad(java.io.PrintStream out,
int size,
java.lang.String body)
protected static void pad(java.io.PrintStream out,
int size,
java.lang.String body,
boolean front)
protected static java.lang.String nanoString(long nanoTime)