From f7a5c8e0a953c249ec8ba1574ce3949926e4ac30 Mon Sep 17 00:00:00 2001 From: schnorr Date: Tue, 23 Nov 2010 14:42:07 +0000 Subject: [PATCH] tracing: new configuration option to control if tracing is active or not details: - if tracing is 0, the tracing system is completely inactive even if SimGrid was compiled with tracing=on - by default it is 0 git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8617 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/instr/instr_config.c | 13 +++++++++++++ src/instr/interface.c | 4 ++++ src/instr/private.h | 1 + 3 files changed, 18 insertions(+) diff --git a/src/instr/instr_config.c b/src/instr/instr_config.c index 87f1540f54..7c26072c39 100644 --- a/src/instr/instr_config.c +++ b/src/instr/instr_config.c @@ -9,6 +9,7 @@ #ifdef HAVE_TRACING +#define OPT_TRACING "tracing" #define OPT_TRACING_SMPI "tracing/smpi" #define OPT_TRACING_SMPI_GROUP "tracing/smpi/group" #define OPT_TRACING_PLATFORM "tracing/platform" @@ -21,6 +22,11 @@ static int trace_configured = 0; +int TRACE_is_enabled(void) +{ + return xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING); +} + int TRACE_is_configured(void) { return trace_configured; @@ -80,6 +86,13 @@ void TRACE_global_init(int *argc, char **argv) xbt_cfgelm_string, &default_tracing_filename, 1, 1, NULL, NULL); + /* tracing */ + int default_tracing = 0; + xbt_cfg_register(&_surf_cfg_set, OPT_TRACING, + "Enable Tracing.", + xbt_cfgelm_int, &default_tracing, 0, 1, + NULL, NULL); + /* smpi */ int default_tracing_smpi = 0; xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_SMPI, diff --git a/src/instr/interface.c b/src/instr/interface.c index ac237fcff3..feab87e63d 100644 --- a/src/instr/interface.c +++ b/src/instr/interface.c @@ -23,6 +23,10 @@ int TRACE_start() return 0; } + if (!TRACE_is_enabled()){ + return 0; + } + if (IS_TRACING) { /* what? trace is already active... ignore.. */ THROW0(tracing_error, TRACE_ERROR_START, "TRACE_start called, but tracing is already active."); diff --git a/src/instr/private.h b/src/instr/private.h index e13b084d63..e57eb0a62d 100644 --- a/src/instr/private.h +++ b/src/instr/private.h @@ -168,6 +168,7 @@ void TRACE_smpi_send(int rank, int src, int dst); void TRACE_smpi_recv(int rank, int src, int dst); /* from instr_config.c */ +int TRACE_is_enabled(void); int TRACE_is_configured(void); int TRACE_smpi_is_enabled(void); int TRACE_smpi_is_grouped(void); -- 2.20.1