Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SimDag instrumentation for categorized resource utilization
[simgrid.git] / src / simdag / sd_global.c
index a20439f..7662cdb 100644 (file)
@@ -12,6 +12,7 @@
 #include "xbt/log.h"
 #include "xbt/str.h"
 #include "xbt/config.h"
+#include "instr/private.h"
 #ifdef HAVE_LUA
 #include <lua.h>
 #include <lauxlib.h>
@@ -40,6 +41,9 @@ XBT_LOG_EXTERNAL_CATEGORY(sd_workstation);
  */
 void SD_init(int *argc, char **argv)
 {
+#ifdef HAVE_TRACING
+  TRACE_global_init (argc, argv);
+#endif
 
   s_SD_task_t task;
 
@@ -80,7 +84,7 @@ void SD_init(int *argc, char **argv)
   sd_global->task_number = 0;
 
   surf_init(argc, argv);
-  xbt_cfg_set_string(_surf_cfg_set, "workstation/model", "ptask_L07");
+  xbt_cfg_setdefault_string(_surf_cfg_set, "workstation/model", "ptask_L07");
 }
 
 /**
@@ -165,8 +169,9 @@ void SD_create_environment(const char *platform_file)
   DEBUG0("SD_create_environment");
 
   surf_config_models_setup(platform_file);
-
   parse_platform_file(platform_file);
+  surf_config_models_create_elms();
+
   /* now let's create the SD wrappers for workstations and links */
   xbt_dict_foreach(surf_model_resource_set(surf_workstation_model), cursor,
                    name, surf_workstation) {
@@ -179,6 +184,10 @@ void SD_create_environment(const char *platform_file)
 
   DEBUG2("Workstation number: %d, link number: %d",
          SD_workstation_get_number(), SD_link_get_number());
+
+#ifdef HAVE_TRACING
+  TRACE_surf_save_onelink ();
+#endif
 }
 
 /**
@@ -349,6 +358,9 @@ double SD_get_clock(void)
  */
 void SD_exit(void)
 {
+#ifdef HAVE_TRACING
+  TRACE_surf_release ();
+#endif
   if (SD_INITIALISED()) {
     DEBUG0("Destroying workstation and link dictionaries...");
     xbt_dict_free(&sd_global->workstations);