Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines with new year.
[simgrid.git] / src / instr / instr_config.cpp
index c6cdff7..6ca4bf4 100644 (file)
@@ -1,13 +1,15 @@
-/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2010-2020. 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" /* xbt_cmdline */
+#include "xbt/virtu.h" /* xbt::cmdline */
 
 #include <fstream>
 #include <string>
@@ -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());
@@ -113,9 +117,7 @@ static void TRACE_start()
       tracing_file << "#This file was generated using SimGrid-" << SIMGRID_VERSION_MAJOR << "." << SIMGRID_VERSION_MINOR
                    << "." << SIMGRID_VERSION_PATCH << std::endl;
       tracing_file << "#[";
-      unsigned int cpt;
-      char* str;
-      xbt_dynar_foreach (xbt_cmdline, cpt, str) {
+      for (auto str : simgrid::xbt::cmdline) {
         tracing_file << str << " ";
       }
       tracing_file << "]" << std::endl;
@@ -147,7 +149,7 @@ static void TRACE_end()
   TRACE_last_timestamp_to_dump = surf_get_clock();
   TRACE_paje_dump_buffer(true);
 
-  simgrid::instr::Type* root_type = simgrid::instr::Container::get_root()->type_;
+  const simgrid::instr::Type* root_type = simgrid::instr::Container::get_root()->type_;
   /* destroy all data structures of tracing (and free) */
   delete simgrid::instr::Container::get_root();
   delete root_type;
@@ -265,11 +267,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<std::string>("tracing/filename", "Trace file created by the instrumented SimGrid.",
@@ -291,9 +293,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 +303,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"