frysk.ftrace
Class FtraceController
java.lang.Object
frysk.ftrace.FtraceController
- All Implemented Interfaces:
- Ftrace.Controller, Ftrace.StackTracedSymbolsProvider, Ftrace.TracedSignalProvider, Ftrace.TracedSyscallProvider
public class FtraceController
- extends Object
- implements Ftrace.Controller, Ftrace.StackTracedSymbolsProvider, Ftrace.TracedSyscallProvider, Ftrace.TracedSignalProvider
Method Summary |
private void |
applyAddrRules(Task task,
ObjectFile objf,
long bias,
List rules,
Ftrace.Driver driver)
|
private void |
applySymbolRules(Task task,
ObjectFile objf,
List tracePoints,
List rules,
FtraceController.RuleHandler handler)
|
Map |
computeSignalWorkingSet(Task task)
Answers Map<String, Boolean>, where the boolean
value is whether to stack trace on given signal. |
Map |
computeSyscallWorkingSet(Task task)
Answers Map<Syscall, Boolean>, where the boolean
value is whether to stack trace on given syscall. |
private Map |
computeWorkingSet(Task task,
String what,
List rules,
ArrayList candidates)
|
void |
fileMapped(Task task,
ObjectFile objf,
DwflModule module,
Ftrace.Driver driver)
New library FILE was mapped in task TASK. |
void |
fileUnmapped(Task task,
ObjectFile objf,
DwflModule module,
Ftrace.Driver driver)
New library FILE was unmapped from task TASK. |
void |
gotAddrRules(List rules)
|
void |
gotSigRules(List rules)
|
void |
gotSymRules(List rules)
|
void |
gotSysRules(List rules)
|
private boolean |
isInterpOf(ObjectFile objf,
String exe)
|
boolean |
shouldStackTraceOnTracePoint(Object tracePoint)
|
void |
stackTraceEverything()
|
private List |
traceablesForModule(DwflModule module)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
warning
private static final Log warning
fine
private static final Log fine
symRules
private final List symRules
addrRules
private final List addrRules
sysRules
private final List sysRules
sigRules
private final List sigRules
tracePointStackTraceSet
private HashSet tracePointStackTraceSet
stackTraceEverything
private boolean stackTraceEverything
FtraceController
public FtraceController()
stackTraceEverything
public void stackTraceEverything()
shouldStackTraceOnTracePoint
public boolean shouldStackTraceOnTracePoint(Object tracePoint)
- Specified by:
shouldStackTraceOnTracePoint
in interface Ftrace.StackTracedSymbolsProvider
- Parameters:
tracePoint
- is either DwflSymbol or PLTEntry.
gotSymRules
public void gotSymRules(List rules)
gotAddrRules
public void gotAddrRules(List rules)
gotSysRules
public void gotSysRules(List rules)
gotSigRules
public void gotSigRules(List rules)
computeWorkingSet
private Map computeWorkingSet(Task task,
String what,
List rules,
ArrayList candidates)
computeSyscallWorkingSet
public Map computeSyscallWorkingSet(Task task)
- Description copied from interface:
Ftrace.TracedSyscallProvider
- Answers Map<Syscall, Boolean>, where the boolean
value is whether to stack trace on given syscall.
- Specified by:
computeSyscallWorkingSet
in interface Ftrace.TracedSyscallProvider
computeSignalWorkingSet
public Map computeSignalWorkingSet(Task task)
- Description copied from interface:
Ftrace.TracedSignalProvider
- Answers Map<String, Boolean>, where the boolean
value is whether to stack trace on given signal.
- Specified by:
computeSignalWorkingSet
in interface Ftrace.TracedSignalProvider
isInterpOf
private boolean isInterpOf(ObjectFile objf,
String exe)
applySymbolRules
private void applySymbolRules(Task task,
ObjectFile objf,
List tracePoints,
List rules,
FtraceController.RuleHandler handler)
throws ElfException
- Throws:
ElfException
applyAddrRules
private void applyAddrRules(Task task,
ObjectFile objf,
long bias,
List rules,
Ftrace.Driver driver)
traceablesForModule
private List traceablesForModule(DwflModule module)
fileMapped
public void fileMapped(Task task,
ObjectFile objf,
DwflModule module,
Ftrace.Driver driver)
- Description copied from interface:
Ftrace.Controller
- New library FILE was mapped in task TASK. Use DRIVER to tell
ltrace what to do.
- Specified by:
fileMapped
in interface Ftrace.Controller
fileUnmapped
public void fileUnmapped(Task task,
ObjectFile objf,
DwflModule module,
Ftrace.Driver driver)
- Description copied from interface:
Ftrace.Controller
- New library FILE was unmapped from task TASK. Use DRIVER
to tell ltrace what to do.
- Specified by:
fileUnmapped
in interface Ftrace.Controller