* under the terms of the license (GNU LGPL) which comes with this package. */
#include "include/xbt/config.hpp"
+#include "simgrid/s4u/Engine.hpp"
#include "src/instr/instr_private.hpp"
#include "surf/surf.hpp"
#include <string>
simgrid::instr::TraceFormat simgrid::instr::trace_format = simgrid::instr::TraceFormat::Paje;
-void TRACE_start()
+static void TRACE_start()
{
if (trace_active)
return;
}
}
-void TRACE_end()
+static void TRACE_end()
{
if (not trace_active)
return;
return;
is_initialised = true;
+
/* name of the tracefile */
simgrid::config::declare_flag<std::string>(OPT_TRACING_FILENAME, "Trace file created by the instrumented SimGrid.",
"simgrid.trace");
simgrid::config::declare_flag<int>(OPT_TRACING_PRECISION, "Numerical precision used when timestamping events "
"(expressed in number of digits after decimal point)",
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);
}
static void print_line (const char *option, const char *desc, const char *longdesc, int detailed)