From eff2324504a9161166f095f4fe512a122da6854e Mon Sep 17 00:00:00 2001 From: schnorr Date: Thu, 5 Aug 2010 11:06:12 +0000 Subject: [PATCH 1/1] kill all aspects related to masks in the tracing interface details: - TRACE_start (filename) and TRACE_start_with_mask (filename, mask) are replaced by TRACE_start, which takes tracing configurations from the xbt_cfg_set, defined in the file instr_config.c - new TRACE_start must be called after MSG_global_init, in order to have the proper configurations defined git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8110 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/instr/instr.h | 12 ++---------- src/instr/interface.c | 45 ++----------------------------------------- src/instr/private.h | 10 +++++----- src/msg/global.c | 4 ++++ 4 files changed, 13 insertions(+), 58 deletions(-) diff --git a/include/instr/instr.h b/include/instr/instr.h index 6314ccff60..d1ef918410 100644 --- a/include/instr/instr.h +++ b/include/instr/instr.h @@ -9,12 +9,6 @@ #ifdef HAVE_TRACING -#define NO_TRACE 0 -#define TRACE_PLATFORM 1 -#define TRACE_PROCESS 2 -#define TRACE_TASK 4 -#define TRACE_VOLUME 8 - #include "xbt.h" #include "msg/msg.h" @@ -28,8 +22,7 @@ #define TRACE_ERROR_FILE_OPEN 401 #define TRACE_ERROR_START 500 -XBT_PUBLIC(int) TRACE_start_with_mask (const char *filename, int mask); -XBT_PUBLIC(int) TRACE_start (const char *filename); +XBT_PUBLIC(int) TRACE_start (void); XBT_PUBLIC(int) TRACE_end (void); XBT_PUBLIC(int) TRACE_category (const char *category); XBT_PUBLIC(void) TRACE_define_type (const char *type, const char *parent_type, int final); @@ -86,8 +79,7 @@ XBT_PUBLIC(void) TRACE_mark (const char *mark_type, const char *mark_value); #else /* HAVE_TRACING */ -#define TRACE_start(filename) -#define TRACE_start_with_mask(filename,mask) +#define TRACE_start() #define TRACE_end() #define TRACE_category(cat) #define TRACE_define_type(cat,supercat,final) diff --git a/src/instr/interface.c b/src/instr/interface.c index ad1d82cf28..57157ce009 100644 --- a/src/instr/interface.c +++ b/src/instr/interface.c @@ -14,29 +14,8 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(tracing,"Tracing Interface"); static xbt_dict_t defined_types; static xbt_dict_t created_categories; -int trace_mask; - -/** \ingroup tracing - * \brief Simple initialization of tracing. - * - * \param filename of the file that will contain the traces - * \return 0 if everything is ok - */ -int TRACE_start (const char *filename) +int TRACE_start () { - return TRACE_start_with_mask (filename, TRACE_PLATFORM); -} - -/** \ingroup tracing - * \brief Initialization of tracing. - * - * Function to be called at first when tracing a simulation - * - * \param name of the file that will contain the traces - * \param mask to take into account during trace - * \return 0 if everything is ok - */ -int TRACE_start_with_mask(const char *filename, int mask) { FILE *file = NULL; if (IS_TRACING) { /* what? trace is already active... ignore.. */ THROW0 (tracing_error, TRACE_ERROR_START, @@ -44,15 +23,7 @@ int TRACE_start_with_mask(const char *filename, int mask) { return 0; } - /* checking mask */ - if (!(mask&TRACE_PLATFORM || - mask&TRACE_TASK || - mask&TRACE_PROCESS || - mask&TRACE_VOLUME)){ - THROW0 (tracing_error, TRACE_ERROR_MASK, - "unknown tracing mask"); - } - + char *filename = _TRACE_filename (); file = fopen(filename, "w"); if (!file) { THROW1 (tracing_error, TRACE_ERROR_START, @@ -62,9 +33,6 @@ int TRACE_start_with_mask(const char *filename, int mask) { } TRACE_paje_create_header(); - /* setting the mask */ - trace_mask = mask; - /* define paje hierarchy for tracing */ pajeDefineContainerType("PLATFORM", "0", "platform"); pajeDefineContainerType("HOST", "PLATFORM", "HOST"); @@ -193,15 +161,6 @@ int TRACE_create_category (const char *category, return 0; } -void TRACE_set_mask (int mask) -{ - if (mask != TRACE_PLATFORM){ - return; - }else{ - trace_mask = mask; - } -} - void TRACE_declare_mark (const char *mark_type) { if (!IS_TRACING) return; diff --git a/src/instr/private.h b/src/instr/private.h index e3455ac9f6..89b16ee2fe 100644 --- a/src/instr/private.h +++ b/src/instr/private.h @@ -12,14 +12,14 @@ #ifdef HAVE_TRACING extern int tracing_active; /* declared in paje.c */ -extern int trace_mask; /* declared in interface.c */ #define IS_TRACING (tracing_active) #define IS_TRACED(n) (n->category) -#define IS_TRACING_TASKS ((TRACE_TASK)&trace_mask) -#define IS_TRACING_PLATFORM ((TRACE_PLATFORM)&trace_mask) -#define IS_TRACING_PROCESSES ((TRACE_PROCESS)&trace_mask) -#define IS_TRACING_VOLUME ((TRACE_VOLUME)&trace_mask) +#define IS_TRACING_TASKS (_TRACE_msg_task_enabled()) +#define IS_TRACING_PLATFORM (_TRACE_platform_enabled()) +#define IS_TRACING_PROCESSES (_TRACE_msg_process_enabled()) +#define IS_TRACING_VOLUME (_TRACE_msg_volume_enabled()) +#define IS_TRACING_SMPI (_TRACE_smpi_enabled()) #include "instr/instr.h" #include "msg/msg.h" diff --git a/src/msg/global.c b/src/msg/global.c index 72ea2f06c4..7933918036 100644 --- a/src/msg/global.c +++ b/src/msg/global.c @@ -48,6 +48,10 @@ XBT_LOG_EXTERNAL_CATEGORY(msg_process); */ void MSG_global_init(int *argc, char **argv) { +#ifdef HAVE_TRACING + TRACE_global_init (argc, argv); +#endif + xbt_getpid = MSG_process_self_PID; if (!msg_global) { /* Connect our log channels: that must be done manually under windows */ -- 2.20.1