#include <msg/msg.h>
#include <xbt/log.h>
-// Don't look at this dirty hack...
-// Delete it when THROWF comes in SG/svn.
-#ifndef THROWF
-#define THROWF(...) THROW1(__VA_ARGS__)
-#endif
-
// Creates log categories
XBT_LOG_NEW_CATEGORY(simu, "Root of simulation messages");
XBT_LOG_NEW_SUBCATEGORY(main, simu, "Messages from global infrastructure");
// Note: variables used after THROW must be declared as volatile.
volatile int exit_status = 0; // global exit status
volatile double simulated_time = -1.0;
- timestamp simulation_time;
+ timestamp elapsed_time(timestamp::wallclock_time);
+ timestamp simulation_time(timestamp::cpu_time);
xbt_ex_t ex;
MSG_error_t res;
+ elapsed_time.start();
simulation_time.start();
// Set default logging parameters
}
// Register tracing categories
- TRACE_category(TRACE_CAT_COMP);
- TRACE_category(TRACE_CAT_CTRL);
- TRACE_category(TRACE_CAT_DATA);
+ TRACE_category_with_color(TRACE_CAT_COMP, TRACE_COLOR_COMP);
+ TRACE_category_with_color(TRACE_CAT_CTRL, TRACE_COLOR_CTRL);
+ TRACE_category_with_color(TRACE_CAT_DATA, TRACE_COLOR_DATA);
exit_status = EXIT_FAILURE_SIMU; // =====
// Report final simulation status.
if (simulated_time >= 0.0) {
simulation_time.stop();
+ elapsed_time.stop();
check_for_lost_load();
XBT_INFO(",----[ Results ]");
PR_STATS("Load", loads);
XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH,
"Total simulation time.................................",
simulation_time.duration());
+ XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH,
+ "Elapsed (wall clock) time.............................",
+ elapsed_time.duration());
XBT_INFO("`----");
}
if (exit_status)