10 #include "trace-common.h"
13 * TraceTau is a template for an instrumentation module making use of
14 * the tracing framework hooks provided in Charm++.
16 * Only the more common hooks are listened to in this module.
18 class TraceTau
: public Trace
{
23 TraceTau(char **argv
);
25 // a user event has just occured
26 void userEvent(int eventID
);
27 // a pair of begin/end user event has just occured
28 void userBracketEvent(int eventID
, double bt
, double et
);
30 // "creation" of message(s) - message Sends
31 void creation(envelope
*, int epIdx
, int num
=1);
32 void creationMulticast(envelope
*, int epIdx
, int num
=1, int *pelist
=NULL
);
33 void creationDone(int num
=1);
35 void messageRecv(char *env
, int pe
);
37 // **************************************************************
38 // begin/end execution of a Charm++ entry point
39 // NOTE: begin/endPack and begin/endUnpack can be called in between
40 // a beginExecute and its corresponding endExecute.
41 void beginExecute(envelope
*);
42 void beginExecute(CmiObjId
*tid
);
44 int event
, // event type defined in trace-common.h
45 int msgType
, // message type
46 int ep
, // Charm++ entry point id
47 int srcPe
, // Which PE originated the call
48 int ml
, // message size
49 CmiObjId
* idx
); // index
50 void endExecute(void);
52 // begin/end idle time for this pe
53 void beginIdle(double curWallTime
);
54 void endIdle(double curWallTime
);
56 // begin/end of execution
57 void beginComputation(void);
58 void endComputation(void);
61 void traceBegin(void);
65 void malloc(void *where
, int size
, void **stack
, int stackSize
);
66 void free(void *where
, int size
);
68 // do any clean-up necessary for tracing