Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
I forgot to update my tree before commiting (once again), and got conflicts as punishment
[simgrid.git] / examples / msg / tracing / ms.c
index 155b822..0b75720 100644 (file)
@@ -41,7 +41,7 @@ int master(int argc, char *argv[])
   long slaves_count = atol(argv[4]);
 
   //setting the variable "is_master" (previously declared) to value 1
-  TRACE_host_variable_set(MSG_host_self()->name, "is_master", 1);
+  TRACE_host_variable_set(MSG_host_get_name(MSG_host_self()), "is_master", 1);
 
   TRACE_mark("msmark", "start_send_tasks");
   int i;
@@ -50,7 +50,7 @@ int master(int argc, char *argv[])
     task = MSG_task_create("task", task_comp_size, task_comm_size, NULL);
 
     //setting the variable "task_creation" to value i
-    TRACE_host_variable_set(MSG_host_self()->name, "task_creation", i);
+    TRACE_host_variable_set(MSG_host_get_name(MSG_host_self()), "task_creation", i);
 
     //setting the category of task to "compute"
     //the category of a task must be defined before it is sent or executed
@@ -73,7 +73,7 @@ int slave(int argc, char *argv[])
 {
   m_task_t task = NULL;
 
-  TRACE_host_variable_set(MSG_host_self()->name, "is_slave", 1);
+  TRACE_host_variable_set(MSG_host_get_name(MSG_host_self()), "is_slave", 1);
   while (1) {
     MSG_task_receive(&(task), "master_mailbox");
 
@@ -83,7 +83,7 @@ int slave(int argc, char *argv[])
     }
     //adding the value returned by MSG_task_get_compute_duration(task)
     //to the variable "task_computation"
-    TRACE_host_variable_add(MSG_host_self()->name,
+    TRACE_host_variable_add(MSG_host_get_name(MSG_host_self()),
                             "task_computation",
                             MSG_task_get_compute_duration(task));
     MSG_task_execute(task);
@@ -129,14 +129,26 @@ int main(int argc, char *argv[])
 
   MSG_main();
 
-  XBT_INFO ("Declared tracing categories:");
-  xbt_dynar_t categories = TRACE_get_categories ();
   unsigned int cursor;
-  char *category;
-  xbt_dynar_foreach (categories, cursor, category){
-    XBT_INFO ("%s", category);
+  xbt_dynar_t categories = TRACE_get_categories ();
+  if (categories){
+    XBT_INFO ("Declared tracing categories:");
+    char *category;
+    xbt_dynar_foreach (categories, cursor, category){
+      XBT_INFO ("%s", category);
+    }
+    xbt_dynar_free (&categories);
+  }
+
+  xbt_dynar_t marks = TRACE_get_marks ();
+  if (marks){
+    XBT_INFO ("Declared marks:");
+    char *mark;
+    xbt_dynar_foreach (marks, cursor, mark){
+      XBT_INFO ("%s", mark);
+    }
+    xbt_dynar_free (&marks);
   }
-  xbt_dynar_free (&categories);
 
   MSG_clean();
   return 0;