Add --with-mempool-cutoff=N to build and configure scripts
[charm.git] / src / ck-perf / trace-Tau.h
blob3cc81842fe5b046e8eb00e445a72ab18345aa897
1 #ifndef _VERBOSE_H
2 #define _VERBOSE_H
4 #include <stdio.h>
5 #include <errno.h>
7 #include "trace.h"
8 #include "envelope.h"
9 #include "register.h"
10 #include "trace-common.h"
12 /**
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 {
19 public:
20 int par0;
21 double par1;
22 public:
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);
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);
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);
60 //begin/end tracing
61 void traceBegin(void);
62 void traceEnd(void);
64 /* Memory tracing */
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
69 void traceClose();
72 #endif
74 /*@}*/