X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1fada0c05d54537c3d7545b45dd00d69424379d7..149757f655ffaf7bc403d634de3ef04b72b7a067:/src/instr/instr_config.cpp diff --git a/src/instr/instr_config.cpp b/src/instr/instr_config.cpp index 4acb268f48..c8c2ea0ca3 100644 --- a/src/instr/instr_config.cpp +++ b/src/instr/instr_config.cpp @@ -75,19 +75,23 @@ static bool trace_active = false; simgrid::instr::TraceFormat simgrid::instr::trace_format = simgrid::instr::TraceFormat::Paje; -int TRACE_start() +void TRACE_start() { + if (trace_active) + return; + // tracing system must be: // - enabled (with --cfg=tracing:yes) // - already configured (TRACE_global_init already called) if (TRACE_is_enabled()) { + instr_define_callbacks(); XBT_DEBUG("Tracing starts"); /* init the tracing module to generate the right output */ /* open the trace file(s) */ - std::string format = simgrid::config::get_config(OPT_TRACING_FORMAT); - XBT_DEBUG("Tracing format %s\n", format.c_str()); + std::string format = simgrid::config::get_value(OPT_TRACING_FORMAT); + XBT_DEBUG("Tracing format %s", format.c_str()); if (format == "Paje") { TRACE_paje_start(); } else if (format == "TI") { @@ -97,50 +101,40 @@ int TRACE_start() xbt_die("Unknown trace format :%s ", format.c_str()); } - /* activate trace */ - if (trace_active) { - THROWF(tracing_error, 0, "Tracing is already active"); - } trace_active = true; XBT_DEBUG("Tracing is on"); } - return 0; } -int TRACE_end() +void TRACE_end() { - int retval; - if (not trace_active) { - retval = 1; - } else { - retval = 0; - - /* dump trace buffer */ - TRACE_last_timestamp_to_dump = surf_get_clock(); - TRACE_paje_dump_buffer(true); - - simgrid::instr::Type* root_type = simgrid::instr::Container::getRoot()->type_; - /* destroy all data structures of tracing (and free) */ - delete simgrid::instr::Container::getRoot(); - delete root_type; - - /* close the trace files */ - std::string format = simgrid::config::get_config(OPT_TRACING_FORMAT); - XBT_DEBUG("Tracing format %s\n", format.c_str()); - if (format == "Paje") { - TRACE_paje_end(); - } else if (format == "TI") { - TRACE_TI_end(); - }else{ - xbt_die("Unknown trace format :%s ", format.c_str()); - } + if (not trace_active) + return; - /* de-activate trace */ - trace_active = false; - XBT_DEBUG("Tracing is off"); - XBT_DEBUG("Tracing system is shutdown"); + /* dump trace buffer */ + TRACE_last_timestamp_to_dump = surf_get_clock(); + TRACE_paje_dump_buffer(true); + + simgrid::instr::Type* root_type = simgrid::instr::Container::getRoot()->type_; + /* destroy all data structures of tracing (and free) */ + delete simgrid::instr::Container::getRoot(); + delete root_type; + + /* close the trace files */ + std::string format = simgrid::config::get_value(OPT_TRACING_FORMAT); + XBT_DEBUG("Tracing format %s\n", format.c_str()); + if (format == "Paje") { + TRACE_paje_end(); + } else if (format == "TI") { + TRACE_TI_end(); + } else { + xbt_die("Unknown trace format :%s ", format.c_str()); } - return retval; + + /* de-activate trace */ + trace_active = false; + XBT_DEBUG("Tracing is off"); + XBT_DEBUG("Tracing system is shutdown"); } bool TRACE_needs_platform () @@ -201,62 +195,62 @@ bool TRACE_uncategorized () bool TRACE_actor_is_enabled() { - return trace_actor_enabled && TRACE_is_enabled(); + return trace_actor_enabled && trace_enabled; } bool TRACE_vm_is_enabled() { - return trace_vm_enabled && TRACE_is_enabled(); + return trace_vm_enabled && trace_enabled; } bool TRACE_disable_link() { - return trace_disable_link && TRACE_is_enabled(); + return trace_disable_link && trace_enabled; } bool TRACE_disable_speed() { - return trace_disable_power && TRACE_is_enabled(); + return trace_disable_power && trace_enabled; } bool TRACE_buffer () { - return trace_buffer && TRACE_is_enabled(); + return trace_buffer && trace_enabled; } bool TRACE_disable_destroy () { - return trace_disable_destroy && TRACE_is_enabled(); + return trace_disable_destroy && trace_enabled; } bool TRACE_basic () { - return trace_basic && TRACE_is_enabled(); + return trace_basic && trace_enabled; } bool TRACE_display_sizes () { - return trace_display_sizes && trace_smpi_enabled && TRACE_is_enabled(); + return trace_display_sizes && trace_smpi_enabled && trace_enabled; } std::string TRACE_get_comment() { - return simgrid::config::get_config(OPT_TRACING_COMMENT); + return simgrid::config::get_value(OPT_TRACING_COMMENT); } std::string TRACE_get_comment_file() { - return simgrid::config::get_config(OPT_TRACING_COMMENT_FILE); + return simgrid::config::get_value(OPT_TRACING_COMMENT_FILE); } int TRACE_precision () { - return simgrid::config::get_config(OPT_TRACING_PRECISION); + return simgrid::config::get_value(OPT_TRACING_PRECISION); } std::string TRACE_get_filename() { - return simgrid::config::get_config(OPT_TRACING_FILENAME); + return simgrid::config::get_value(OPT_TRACING_FILENAME); } void TRACE_global_init()