|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--edu.mit.ai.psg.traveler.Trace
Trace recording facility which creates a tree of nested
ActivityRecords for each thread invoking traced methods,
and a biography sequencing records of entrances into
synchronized activities for each synchronized object.
Trace provides a static parameter traceRecorder which
holds a system TraceRecorder, and static methods for
conveniently invoking methods of the trace recorder.
For convenience, the the reflected Method or Constructor required for the invoking(java.lang.Object, java.lang.reflect.Member, java.lang.Object[]) method can be
obtained using without a try block thru getMethod(java.lang.Class, java.lang.String, java.lang.Class[]) or
getConstructor(java.lang.Class, java.lang.Class[]), respectively.
(Based in part on "Traveler: the Apiary Observatory", ECOOP'1987).
TraceRecorder| Field Summary | |
static TraceRecorder |
traceRecorder
travelerTrace: the single instance through which static methods indirectly invoke their implementation methods. |
| Constructor Summary | |
protected |
Trace()
|
| Method Summary | |
static void |
addEntryToBiography(SynchronizationRecord record)
|
static void |
addExitToBiography(SynchronizationRecord record)
|
static ActivityRecord |
beganSynchronization(Object target,
Member inMember)
|
static ActivityRecord |
beginning(String description)
|
static void |
clearBiographies()
|
static void |
clearBiography(Object target)
|
static ActivityRecord |
doing(ActivityRecord record)
|
static ActivityRecord |
doing(String description)
|
static SynchronizationRecord |
enteredSynchronization(SynchronizationRecord record)
|
static ActivityRecord |
entering(ActivityRecord record)
|
static ActivityRecord |
exitting(ActivityRecord record)
|
static List |
getBiography(Object target)
|
static Constructor |
getConstructor(Class aClass,
Class[] parameters)
convenience method for calling aClass.getConstructor, reports NoSuchMethodException as an Error |
static ActivityRecord |
getCurrentRecord()
|
static Method |
getMethod(Class aClass,
String name,
Class[] parameters)
convenience method for getting method. |
static SynchronizationRecord |
getSynchronizationHolder(Object target)
|
static ActivityRecord |
getThreadOutermostRecord()
|
static CallRecord |
invoking(Object target,
Member member,
Object[] parameters)
For recording from caller before method is invoked. |
static CallRecord |
invokingStatic(Member method,
Object[] parameters)
For recording from caller before static method is invoked. |
static CallRecord |
received(Object target,
Member member,
Object[] params)
For recording from callee, within method being traced. |
static CallRecord |
receivedStatic(Member member,
Object[] params)
For recording from callee, within static method being traced. |
static boolean |
returning(CallRecord record,
boolean value)
convenience method wrapping recorded value in Boolean |
static byte |
returning(CallRecord record,
byte value)
convenience method wrapping recorded value in Byte |
static char |
returning(CallRecord record,
char value)
convenience method wrapping recorded value in Character |
static double |
returning(CallRecord record,
double value)
convenience method wrapping recorded value in Double |
static float |
returning(CallRecord record,
float value)
convenience method wrapping recorded value in Float |
static int |
returning(CallRecord record,
int value)
convenience method wrapping recorded value in Integer |
static long |
returning(CallRecord record,
long value)
convenience method wrapping recorded value in Long |
static Object |
returning(CallRecord record,
Object value)
|
static short |
returning(CallRecord record,
short value)
convenience method wrapping recorded value in Short |
static void |
returningVoid(CallRecord record)
|
static Throwable |
throwing(CallRecord record,
Throwable thrown)
|
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Field Detail |
public static TraceRecorder traceRecorder
| Constructor Detail |
protected Trace()
| Method Detail |
public static CallRecord received(Object target,
Member member,
Object[] params)
returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), returningVoid(edu.mit.ai.psg.traveler.CallRecord), or throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)
to record completion of call.TraceRecorder.received(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])
public static CallRecord receivedStatic(Member member,
Object[] params)
returningVoid(edu.mit.ai.psg.traveler.CallRecord), returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), or throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)
to record completion of call.TraceRecorder.received(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])
public static CallRecord invoking(Object target,
Member member,
Object[] parameters)
returningVoid(edu.mit.ai.psg.traveler.CallRecord), returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), or throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)
to record completion of call.TraceRecorder.invoking(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])
public static CallRecord invokingStatic(Member method,
Object[] parameters)
returningVoid(edu.mit.ai.psg.traveler.CallRecord), returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), or throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)
to record completion of call.TraceRecorder.invoking(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])
public static Throwable throwing(CallRecord record,
Throwable thrown)
TraceRecorder.throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)public static void returningVoid(CallRecord record)
TraceRecorder.returningVoid(edu.mit.ai.psg.traveler.CallRecord)
public static Object returning(CallRecord record,
Object value)
TraceRecorder.returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object)
public static boolean returning(CallRecord record,
boolean value)
BooleanTraceRecorder.returning(CallRecord, Object)
public static byte returning(CallRecord record,
byte value)
ByteTraceRecorder.returning(CallRecord, Object)
public static short returning(CallRecord record,
short value)
ShortTraceRecorder.returning(CallRecord, Object)
public static char returning(CallRecord record,
char value)
CharacterTraceRecorder.returning(CallRecord, Object)
public static int returning(CallRecord record,
int value)
IntegerTraceRecorder.returning(CallRecord, Object)
public static long returning(CallRecord record,
long value)
LongTraceRecorder.returning(CallRecord, Object)
public static float returning(CallRecord record,
float value)
FloatTraceRecorder.returning(CallRecord, Object)
public static double returning(CallRecord record,
double value)
DoubleTraceRecorder.returning(CallRecord, Object)public static ActivityRecord beginning(String description)
TraceRecorder.beginning(java.lang.String)public static ActivityRecord doing(String description)
TraceRecorder.doing(java.lang.String)
public static ActivityRecord beganSynchronization(Object target,
Member inMember)
TraceRecorder.beganSynchronization(java.lang.Object, java.lang.reflect.Member)public static ActivityRecord entering(ActivityRecord record)
TraceRecorder.entering(edu.mit.ai.psg.traveler.ActivityRecord)public static SynchronizationRecord enteredSynchronization(SynchronizationRecord record)
TraceRecorder.enteredSynchronization(edu.mit.ai.psg.traveler.SynchronizationRecord)public static ActivityRecord exitting(ActivityRecord record)
TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord)public static ActivityRecord doing(ActivityRecord record)
TraceRecorder.doing(java.lang.String)public static ActivityRecord getCurrentRecord()
TraceRecorder.getCurrentRecord()public static ActivityRecord getThreadOutermostRecord()
TraceRecorder.getThreadOutermostRecord()public static void clearBiographies()
TraceRecorder.clearBiographies()public static void clearBiography(Object target)
TraceRecorder.clearBiography(java.lang.Object)public static List getBiography(Object target)
TraceRecorder.getBiography(java.lang.Object)public static SynchronizationRecord getSynchronizationHolder(Object target)
TraceRecorder.getSynchronizationHolder(java.lang.Object)public static void addEntryToBiography(SynchronizationRecord record)
TraceRecorder.addEntryToBiography(edu.mit.ai.psg.traveler.SynchronizationRecord)public static void addExitToBiography(SynchronizationRecord record)
TraceRecorder.addExitToBiography(edu.mit.ai.psg.traveler.SynchronizationRecord)
public static Method getMethod(Class aClass,
String name,
Class[] parameters)
public static Constructor getConstructor(Class aClass,
Class[] parameters)
|
Copyright (c) 1996-1999 Massachusetts Institute of Technology Feedback: jeva-feedback@ai.mit.edu |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||