|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--edu.mit.ai.psg.traveler.TraceRecorderDefault
TraceRecorderDefault provides a default implementation for TraceRecorder.
Trace,
TraceRecorder| Constructor Summary | |
TraceRecorderDefault()
|
|
| Method Summary | |
void |
addEntryToBiography(SynchronizationRecord record)
add record to biography of target of synchronization |
void |
addExitToBiography(SynchronizationRecord record)
add record to biography of target of synchronization |
SynchronizationRecord |
beganSynchronization(Object target,
Member inMember)
Creates and links a record for a synchronized region. |
ActivityRecord |
beginning(String activityString)
Creates and links a record for an activity (e.g., a block) described by string. |
void |
clearBiographies()
do not call while recording in progress |
void |
clearBiography(Object target)
clear biography of target. |
void |
clearSynchronizationHolders()
do not call while recording in progress |
ActivityRecord |
doing(ActivityRecord record)
convenience function for entering followed immediately by exitting |
ActivityRecord |
doing(String activityString)
Convenience function for beginning followed immedately by exitting. |
SynchronizationRecord |
enteredSynchronization(SynchronizationRecord record)
If record is not the current activity, call entering(record). |
ActivityRecord |
entering(ActivityRecord record)
adds record as child of current record, and sets current record to record |
ActivityRecord |
exitting(ActivityRecord record)
pops record off current record stack, as well as any records above it |
List |
getBiography(Object target)
return a List of activities recorded for this target, e.g., traced calls on synchronized methods |
ActivityRecord |
getCurrentRecord()
get top record on activity stack; may be inherited from thread which created the current thread. |
SynchronizationRecord |
getSynchronizationHolder(Object target)
return entry record of activity currently holding synchronization on target or null if none. |
ActivityRecord |
getThreadOutermostRecord()
get bottom record on activity stack which is specific to this thread, or null. |
CallRecord |
invoking(Object target,
Member member,
Object[] parameters)
For recording a call from caller: Should be followed by call to 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. |
protected CallRecord |
makeCallRecord(Object target,
Member member,
Object[] parameters)
Creates a CallRecordDefault |
protected ActivityRecord |
makeStringRecord(String string)
Creates a StringRecord |
protected SynchronizationRecord |
makeSynchronizationRecord(Object target,
Member inMember)
Creates a SynchronizationRecordDefault |
CallRecord |
received(Object target,
Member member,
Object[] parameters)
For recording a call from callee: Should be followed by call to 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. |
Object |
returning(CallRecord record,
Object value)
Record value in record, and make record parent current
activity in this thread (see exitting(edu.mit.ai.psg.traveler.ActivityRecord)) |
void |
returningVoid(CallRecord record)
record completion, and make record parent current activity in this thread (see exitting(edu.mit.ai.psg.traveler.ActivityRecord)) |
protected void |
setCurrentRecord(ActivityRecord record)
|
Throwable |
throwing(CallRecord record,
Throwable thrown)
Record thrown in record, and make record parent current
activity in this thread (see exitting(edu.mit.ai.psg.traveler.ActivityRecord)) |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Constructor Detail |
public TraceRecorderDefault()
| Method Detail |
protected CallRecord makeCallRecord(Object target,
Member member,
Object[] parameters)
CallRecordDefault
protected SynchronizationRecord makeSynchronizationRecord(Object target,
Member inMember)
SynchronizationRecordDefaultprotected ActivityRecord makeStringRecord(String string)
StringRecord
public CallRecord received(Object target,
Member member,
Object[] parameters)
TraceRecorder.returningVoid(edu.mit.ai.psg.traveler.CallRecord),
TraceRecorder.returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), or TraceRecorder.throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable) to record completion of call.
Creates a CallRecord recording the invocation,
makes record the current record, returning record.
If callRecord.SynchronizationRecord.isSynchronized()()
(i.e., member is synchronized),
calls TraceRecorder.enteredSynchronization(edu.mit.ai.psg.traveler.SynchronizationRecord), else calls TraceRecorder.entering(edu.mit.ai.psg.traveler.ActivityRecord).TraceRecorder.received(java.lang.Object, java.lang.reflect.Member, java.lang.Object[]),
makeCallRecord(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])
public CallRecord invoking(Object target,
Member member,
Object[] parameters)
TraceRecorder.returningVoid(edu.mit.ai.psg.traveler.CallRecord),
TraceRecorder.returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object), or TraceRecorder.throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable) to record completion of call.
Creates a CallRecord recording the invocation,
makes record the current record, returning record.
If callRecord.SynchronizationRecord.isSynchronizedWait()(),
calls TraceRecorder.enteredSynchronization(edu.mit.ai.psg.traveler.SynchronizationRecord), else calls TraceRecorder.entering(edu.mit.ai.psg.traveler.ActivityRecord).TraceRecorder.invoking(java.lang.Object, java.lang.reflect.Member, java.lang.Object[]),
makeCallRecord(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])public void returningVoid(CallRecord record)
TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord))TraceRecorder.returningVoid(edu.mit.ai.psg.traveler.CallRecord)
public Object returning(CallRecord record,
Object value)
value in record, and make record parent current
activity in this thread (see TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord))TraceRecorder.returning(edu.mit.ai.psg.traveler.CallRecord, java.lang.Object)
public Throwable throwing(CallRecord record,
Throwable thrown)
thrown in record, and make record parent current
activity in this thread (see TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord))TraceRecorder.throwing(edu.mit.ai.psg.traveler.CallRecord, java.lang.Throwable)public ActivityRecord beginning(String activityString)
TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord)(record).public ActivityRecord doing(String activityString)
public SynchronizationRecord beganSynchronization(Object target,
Member inMember)
TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord)(record).target - target of synchronization (e.g., locked object).inMember - Method or Constructor in which block
is found (used for identifying record in its print string), or null
if in a class initializerpublic ActivityRecord entering(ActivityRecord record)
TraceRecorder.entering(edu.mit.ai.psg.traveler.ActivityRecord)public SynchronizationRecord enteredSynchronization(SynchronizationRecord record)
record to biography of
record.SynchronizationRecord.getTargetNow()().
Must be called while activity holds synchronization lock (otherwise
record may not be added to biography in actual synchronization order).TraceRecorder.enteredSynchronization(edu.mit.ai.psg.traveler.SynchronizationRecord)public ActivityRecord exitting(ActivityRecord record)
TraceRecorder.exitting(edu.mit.ai.psg.traveler.ActivityRecord)public ActivityRecord doing(ActivityRecord record)
TraceRecorder.doing(java.lang.String)public ActivityRecord getCurrentRecord()
public ActivityRecord getThreadOutermostRecord()
protected void setCurrentRecord(ActivityRecord record)
public void clearBiographies()
TraceRecorder.clearBiographies()public void clearBiography(Object target)
TraceRecorder.clearBiography(java.lang.Object)public List getBiography(Object target)
TraceRecorder.getBiography(java.lang.Object)public SynchronizationRecord getSynchronizationHolder(Object target)
ActivityRecord.getParent().public void clearSynchronizationHolders()
public void addEntryToBiography(SynchronizationRecord record)
TraceRecorder.addEntryToBiography(edu.mit.ai.psg.traveler.SynchronizationRecord)public void addExitToBiography(SynchronizationRecord record)
TraceRecorder.addExitToBiography(edu.mit.ai.psg.traveler.SynchronizationRecord)
|
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 | ||||||||