doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-perf / trace-Tau.h
1 #ifndef _VERBOSE_H
2 #define _VERBOSE_H
3
4 #include <stdio.h>
5 #include <errno.h>
6
7 #include "trace.h"
8 #include "envelope.h"
9 #include "register.h"
10 #include "trace-common.h"
11
12 /**
13  *  TraceTau is a template for an instrumentation module making use of
14  *    the tracing framework hooks provided in Charm++.
15  *
16  *  Only the more common hooks are listened to in this module.
17  */
18 class TraceTau : public Trace {
19  public:
20   int par0;
21   double par1;
22  public:
23   TraceTau(char **argv);
24   
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);
29   
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);
34   
35   void messageRecv(char *env, int pe);
36   
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);
43   void beginExecute(
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);
51   
52   // begin/end idle time for this pe
53   void beginIdle(double curWallTime);
54   void endIdle(double curWallTime);
55   
56   // begin/end of execution
57   void beginComputation(void);
58   void endComputation(void);
59
60         //begin/end tracing
61         void traceBegin(void);
62         void traceEnd(void);
63   
64   /* Memory tracing */
65   void malloc(void *where, int size, void **stack, int stackSize);
66   void free(void *where, int size);
67   
68   // do any clean-up necessary for tracing
69   void traceClose();
70 };
71
72 #endif
73
74 /*@}*/