X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d2150442f2d4254384dbba8c92aa3b37b1b1407..d011cb8a5566e78daba9b90c6a370dca07b74c5a:/src/instr/instr_config.cpp diff --git a/src/instr/instr_config.cpp b/src/instr/instr_config.cpp index 2522bfb92e..fcddfdeaef 100644 --- a/src/instr/instr_config.cpp +++ b/src/instr/instr_config.cpp @@ -1,13 +1,16 @@ -/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include "include/xbt/config.hpp" +#include "simgrid/Exception.hpp" #include "simgrid/s4u/Engine.hpp" +#include "simgrid/version.h" #include "src/instr/instr_private.hpp" #include "surf/surf.hpp" -#include "xbt/virtu.h" /* sg_cmdline */ +#include "xbt/virtu.h" /* xbt_cmdline */ + #include #include #include @@ -17,13 +20,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_config, instr, "Configuration"); std::ofstream tracing_file; -#define OPT_TRACING_BASIC "tracing/basic" -#define OPT_TRACING_COMMENT_FILE "tracing/comment-file" -#define OPT_TRACING_DISABLE_DESTROY "tracing/disable-destroy" -#define OPT_TRACING_FORMAT_TI_ONEFILE "tracing/smpi/format/ti-one-file" -#define OPT_TRACING_SMPI_INTERNALS "tracing/smpi/internals" -#define OPT_TRACING_SMPI "tracing/smpi" -#define OPT_TRACING_TOPOLOGY "tracing/platform/topology" +constexpr char OPT_TRACING_BASIC[] = "tracing/basic"; +constexpr char OPT_TRACING_COMMENT_FILE[] = "tracing/comment-file"; +constexpr char OPT_TRACING_DISABLE_DESTROY[] = "tracing/disable-destroy"; +constexpr char OPT_TRACING_FORMAT_TI_ONEFILE[] = "tracing/smpi/format/ti-one-file"; +constexpr char OPT_TRACING_SMPI[] = "tracing/smpi"; +constexpr char OPT_TRACING_TOPOLOGY[] = "tracing/platform/topology"; static simgrid::config::Flag trace_enabled{ "tracing", "Enable the tracing system. You have to enable this option to use other tracing options.", false}; @@ -103,7 +105,9 @@ static void TRACE_start() std::string filename = TRACE_get_filename(); tracing_file.open(filename.c_str(), std::ofstream::out); if (tracing_file.fail()) { - THROWF(system_error, 1, "Tracefile %s could not be opened for writing.", filename.c_str()); + throw simgrid::TracingError( + XBT_THROW_POINT, + simgrid::xbt::string_printf("Tracefile %s could not be opened for writing.", filename.c_str())); } XBT_DEBUG("Filename %s is open for writing", filename.c_str()); @@ -265,11 +269,11 @@ std::string TRACE_get_filename() void TRACE_global_init() { - static bool is_initialised = false; - if (is_initialised) + static bool is_initialized = false; + if (is_initialized) return; - is_initialised = true; + is_initialized = true; /* name of the tracefile */ simgrid::config::declare_flag("tracing/filename", "Trace file created by the instrumented SimGrid.", @@ -291,9 +295,9 @@ void TRACE_global_init() 6); /* Connect callbacks */ - simgrid::s4u::on_platform_creation.connect(TRACE_start); - simgrid::s4u::on_deadlock.connect(TRACE_end); - simgrid::s4u::on_simulation_end.connect(TRACE_end); + simgrid::s4u::Engine::on_platform_creation.connect(TRACE_start); + simgrid::s4u::Engine::on_deadlock.connect(TRACE_end); + simgrid::s4u::Engine::on_simulation_end.connect(TRACE_end); } static void print_line(const char* option, const char* desc, const char* longdesc) @@ -301,15 +305,15 @@ static void print_line(const char* option, const char* desc, const char* longdes std::string str = std::string("--cfg=") + option + " "; int len = str.size(); - printf("%s%*.*s %s\n", str.c_str(), 30 - len, 30 - len, "", desc); + XBT_HELP("%s%*.*s %s", str.c_str(), 30 - len, 30 - len, "", desc); if (longdesc != nullptr) { - printf ("%s\n\n", longdesc); + XBT_HELP("%s\n", longdesc); } } void TRACE_help() { - printf("Description of the tracing options accepted by this simulator:\n\n"); + XBT_HELP("Description of the tracing options accepted by this simulator:\n"); print_line(OPT_TRACING_SMPI, "Trace the MPI Interface (SMPI)", " This option only has effect if this simulator is SMPI-based. Traces the MPI\n" " interface and generates a trace that can be analyzed using Gantt-like\n"