projector files !! preliminary tracing works
authorArun Singla <asingla@uiuc.edu>
Wed, 17 Apr 2002 21:49:29 +0000 (21:49 +0000)
committerArun Singla <asingla@uiuc.edu>
Wed, 17 Apr 2002 21:49:29 +0000 (21:49 +0000)
src/conv-perf/converseEvents.h
src/conv-perf/threadEvents.h
src/conv-perf/traceCore.h

index 5d7a86a005590d96f1b993bc52875b6e79f71eb5..a75ef065aa14b8b3e1bae671cc5aa254f99da86b 100644 (file)
@@ -2,12 +2,14 @@
 #ifndef __CONVERSE_EVENTS_H__
 #define __CONVERSE_EVENTS_H__
 
+#include "traceCoreCommon.h"
+
 /* Language ID */
 #define _CONVERSE_LANG_ID      0       // language ID for converse
 
 /* Event IDs */
 #define _E_MSG_SENT                    0
-#define _E_MSG_QUEUED          1       // DOUBT Queued where
+#define _E_MSG_QUEUED          1       // DOUBT: Queued where ?
 #define _E_MSG_RECV_MC         2       // Message received in machine layer
 #define _E_MSG_RECV_SC         3       // Message received in scheduler
 #define _E_HANDLER_BEGIN       4 
 #define _E_PROC_BUSY           7       // Processor goes busy 
 
 /* Trace Macros */
-//TODO
-#define REGISTER_CONVERSE
-#define LOG_CONVERSE_EVENT
+// TODO Currently there is no EventDataPrototype for the purpose of testing
+#define REGISTER_CONVERSE \
+       { RegisterLanguage(_CONVERSE_LANG_ID); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_MSG_SENT     ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_MSG_QUEUED   ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_MSG_RECV_MC  ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_MSG_RECV_SC  ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_HANDLER_BEGIN); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_HANDLER_END  ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_PROC_IDLE    ); \
+         RegisterEvent(_CONVERSE_LANG_ID, _E_PROC_BUSY    ); \
+       }
+#define _LOG_E_MSG_SENT() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_MSG_SENT); }
+#define _LOG_E_MSG_QUEUED() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_MSG_QUEUED); }
+#define _LOG_E_MSG_RECV_MC() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_MSG_RECV_MC); }
+#define _LOG_E_MSG_RECV_SC() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_MSG_RECV_SC); }
+#define _LOG_E_HANDLER_BEGIN() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_HANDLER_BEGIN); }
+#define _LOG_E_HANDLER_END() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_HANDLER_END); }
+#define _LOG_E_PROC_IDLE() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_PROC_IDLE); }
+#define _LOG_E_PROC_BUSY() \
+       { LogEvent(_CONVERSE_LANG_ID, _E_PROC_BUSY); }
 
 #endif
index 5b7706166c180e60272936498787ac517343c760..0015e25af6637723d740af218489d2ee648b75c2 100644 (file)
@@ -2,6 +2,8 @@
 #ifndef __THREAD_EVENTS_H__
 #define __THREAD_EVENTS_H__
 
+#include "traceCoreCommon.h"
+
 /* Language ID */
 #define _THREAD_LANG_ID                1       // language ID for threads 
 
 #define _E_THREAD_SUSPEND      3
 
 /* Trace Macros */
-//TODO
-#define REGISTER_THREAD
-#define LOG_THREAD_EVENT
+// TODO Currently there is no EventDataPrototype for the purpose of testing
+#define REGISTER_THREAD \
+       { RegisterLanguage(_THREAD_LANG_ID); \
+         RegisterEvent(_THREAD_LANG_ID, _E_THREAD_CREATION); \
+         RegisterEvent(_THREAD_LANG_ID, _E_THREAD_AWAKEN  ); \
+         RegisterEvent(_THREAD_LANG_ID, _E_THREAD_RESUME  ); \
+         RegisterEvent(_THREAD_LANG_ID, _E_THREAD_SUSPEND ); \
+       }
+#define _LOG_E_THREAD_CREATION() \
+       { LogEvent(_THREAD_LANG_ID, _E_THREAD_CREATION); }
+#define _LOG_E_THREAD_AWAKEN() \
+       { LogEvent(_THREAD_LANG_ID, _E_THREAD_AWAKEN); }
+#define _LOG_E_THREAD_RESUME() \
+       { LogEvent(_THREAD_LANG_ID, _E_THREAD_RESUME); }
+#define _LOG_E_THREAD_SUSPEND() \
+       { LogEvent(_THREAD_LANG_ID, _E_THREAD_SUSPEND); }
 
 #endif
index 43febe67817d4508265aef4a3b8a00d139cefbf3..a79e9b080165076e07f09b4933429edec6837afc 100644 (file)
@@ -1,30 +1,49 @@
+#ifndef __TRACE_CORE_H__
+#define __TRACE_CORE_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "converse.h"
 
 /* Prototype Declarations */
+class TraceCore; 
+class TraceLogger; 
 class LogEntry;
 class LogPool;
 
+/* Class Declarations */
 class TraceCore 
 {
   public:
        //TODO
        /*
-       RegisterLanguage(LanuageID, LanguageNameString) 
-       RegisterEvent(LanguageID, EventID, EventNameString, EventDataPrototype)
+       RegisterLanguage(LanuageID)     
+       RegisterEvent(LanguageID, EventID, EventDataPrototype)
        LogEvent(LanguageID, EventID, EventData)
        */
+       void RegisterLanguage(int lID);
+       void RegisterEvent(int lID, int eID);
+       void LogEvent(int lID, int eID);
 };
 
+//TODO
 class TraceLogger 
 {
 
 };
 
+//TODO
 class LogEntry
 {
 
 };
 
+//TODO
 class LogPool
 {
 
 };
+
+#endif