Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] use of xbt functions inside instr
[simgrid.git] / src / instr / instr_smx.c
index afd8a04..c14497c 100644 (file)
@@ -8,46 +8,48 @@
 
 #ifdef HAVE_TRACING
 
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_simix, instr, "Tracing Simix");
+
 static long long int counter = 0;       /* to uniquely identify simix actions */
 
 void TRACE_smx_host_execute(smx_action_t act)
 {
-  char *category = NULL;
-  if (!IS_TRACING)
+  if (!TRACE_is_active())
     return;
 
   act->counter = counter++;
-  category = TRACE_category_get(SIMIX_process_self());
+  char *category = TRACE_category_get(SIMIX_process_self());
   if (category) {
-    act->category = xbt_new(char, strlen(category) + 1);
-    strncpy(act->category, category, strlen(category) + 1);
+    act->category = xbt_strdup(category);
+    DEBUG2("Create Execute SMX action %p, category %s", act, act->category);
   }
   TRACE_surf_resource_utilization_start(act);
 }
 
 void TRACE_smx_action_communicate(smx_action_t act, smx_process_t proc)
 {
-  char *category = NULL;
-  if (!IS_TRACING)
+  if (!TRACE_is_active())
     return;
 
   act->counter = counter++;
-  category = TRACE_category_get(proc);
+  char *category = TRACE_category_get(proc);
   if (category) {
     act->category = xbt_strdup(category);
+    DEBUG2("Create Communicate SMX action %p, category %s", act, act->category);
   }
   TRACE_surf_resource_utilization_start(act);
 }
 
 void TRACE_smx_action_destroy(smx_action_t act)
 {
-  if (!IS_TRACING)
+  if (!TRACE_is_active())
     return;
 
   if (act->category) {
+    DEBUG2("Destroy SMX action %p, category %s", act, act->category);
     xbt_free(act->category);
   }
   TRACE_surf_resource_utilization_end(act);
 }
 
-#endif
+#endif /* HAVE_TRACING */