00001
00002 #ifndef _PROJECTOR_H
00003 #define _PROJECTOR_H
00004
00005 #include "trace.h"
00006 #include "ck.h"
00007 #include "stdio.h"
00008 #include "errno.h"
00009 #include "allEvents.h"
00010 #include "trace-common.h"
00011
00013
00018 extern void _createTraceprojector(char **argv);
00019
00020 class TraceProjector : public Trace {
00021 private:
00022 int traceCoreOn;
00023 public:
00024 TraceProjector(char **argv);
00025 void userEvent(int e);
00026 void userBracketEvent(int e, double bt, double et);
00027 void creation(envelope *e, int ep, int num=1);
00028 void beginExecute(envelope *e);
00029 void beginExecute(char *) {}
00030 void beginExecute(CmiObjId *tid);
00031 void beginExecute(int event,int msgType,int ep,int srcPe,int ml,CmiObjId *idx=NULL);
00032 void endExecute(void);
00033 void messageRecv(char *env, int pe);
00034 void beginIdle(double curWallTime);
00035 void endIdle(double curWallTime);
00036 void beginPack(void);
00037 void endPack(void);
00038 void beginUnpack(void);
00039 void endUnpack(void);
00040 void enqueue(envelope *e);
00041 void dequeue(envelope *e);
00042 void beginComputation(void);
00043 void endComputation(void);
00044
00045 int traceRegisterUserEvent(const char*, int);
00046 void traceClearEps();
00047 void traceWriteSts();
00048 void traceClose();
00049 void traceBegin();
00050 void traceEnd();
00051 };
00052
00053
00054 #endif
00055