Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] stop tracing process if user sets its category to NULL
[simgrid.git] / src / instr / instr_resource_utilization.c
index 12b53ca..aed3397 100644 (file)
@@ -267,7 +267,7 @@ static void __TRACE_C_end(smx_action_t action)
 /*
  * TRACE_surf_link_set_utilization: entry point from SimGrid
  */
-void TRACE_surf_link_set_utilization(void *link, smx_action_t smx_action,
+void TRACE_surf_link_set_utilization(const char *resource, smx_action_t smx_action,
                                      surf_action_t surf_action,
                                      double value, double now,
                                      double delta)
@@ -277,36 +277,35 @@ void TRACE_surf_link_set_utilization(void *link, smx_action_t smx_action,
   if (!value)
     return;
   //only trace link utilization if link is known by tracing mechanism
-  if (!TRACE_surf_link_is_traced(link))
+  if (!instr_link_is_traced(resource))
     return;
   if (!value)
     return;
 
-  char resource[100];
-  snprintf(resource, 100, "%p", link);
-
   //trace uncategorized link utilization
   if (TRACE_uncategorized()){
     DEBUG4("UNCAT LINK [%f - %f] %s bandwidth_used %f", now, now+delta, resource, value);
-    TRACE_surf_resource_utilization_event(smx_action, now, delta,
-                                        "bandwidth_used", resource, value);
+    char *variable_type = instr_variable_type ("bandwidth_used", resource);
+    char *resource_id = instr_resource_type (resource);
+    TRACE_surf_resource_utilization_event(smx_action, now, delta, variable_type, resource_id, value);
   }
 
   //trace categorized utilization
-  if (!surf_action->category)
-    return;
-  char type[100];
-  snprintf(type, 100, "b%s", surf_action->category);
-  DEBUG5("CAT LINK [%f - %f] %s %s %f", now, now+delta, resource, type, value);
-  TRACE_surf_resource_utilization_event(smx_action, now, delta, type,
-                                        resource, value);
+  if (TRACE_categorized()){
+    if (!surf_action->category)
+      return;
+    DEBUG5("CAT LINK [%f - %f] %s %s %f", now, now+delta, resource, surf_action->category, value);
+    char *variable_type = instr_variable_type (surf_action->category, resource);
+    char *resource_id = instr_resource_type (resource);
+    TRACE_surf_resource_utilization_event(smx_action, now, delta, variable_type, resource_id, value);
+  }
   return;
 }
 
 /*
  * TRACE_surf_host_set_utilization: entry point from SimGrid
  */
-void TRACE_surf_host_set_utilization(const char *name,
+void TRACE_surf_host_set_utilization(const char *resource,
                                      smx_action_t smx_action,
                                      surf_action_t surf_action,
                                      double value, double now,
@@ -319,19 +318,21 @@ void TRACE_surf_host_set_utilization(const char *name,
 
   //trace uncategorized host utilization
   if (TRACE_uncategorized()){
-    DEBUG4("UNCAT HOST [%f - %f] %s power_used %f", now, now+delta, name, value);
-    TRACE_surf_resource_utilization_event(smx_action, now, delta,
-                                        "power_used", name, value);
+    DEBUG4("UNCAT HOST [%f - %f] %s power_used %f", now, now+delta, resource, value);
+    char *variable_type = instr_variable_type ("power_used", resource);
+    char *resource_id = instr_resource_type (resource);
+    TRACE_surf_resource_utilization_event(smx_action, now, delta, variable_type, resource_id, value);
   }
 
   //trace categorized utilization
-  if (!surf_action->category)
-    return;
-  char type[100];
-  snprintf(type, 100, "p%s", surf_action->category);
-  DEBUG5("CAT HOST [%f - %f] %s %s %f", now, now+delta, name, type, value);
-  TRACE_surf_resource_utilization_event(smx_action, now, delta, type, name,
-                                        value);
+  if (TRACE_categorized()){
+    if (!surf_action->category)
+      return;
+    DEBUG5("CAT HOST [%f - %f] %s %s %f", now, now+delta, resource, surf_action->category, value);
+    char *variable_type = instr_variable_type (surf_action->category, resource);
+    char *resource_id = instr_resource_type (resource);
+    TRACE_surf_resource_utilization_event(smx_action, now, delta, variable_type, resource_id, value);
+  }
   return;
 }