Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
tracing uncategorized resource utilization
authorschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 8 Oct 2010 16:00:07 +0000 (16:00 +0000)
committerschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 8 Oct 2010 16:00:07 +0000 (16:00 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8384 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/instr/interface.c
src/instr/resource_utilization.c

index c488713..b887708 100644 (file)
@@ -51,7 +51,9 @@ int TRACE_start ()
 
   if (IS_TRACING_PLATFORM){
     pajeDefineVariableType ("power", "HOST", "power");
+    pajeDefineVariableType ("power_used", "HOST", "power_used");
     pajeDefineVariableType ("bandwidth", "LINK", "bandwidth");
+    pajeDefineVariableType ("bandwidth_used", "LINK", "bandwidth_used");
     pajeDefineVariableType ("latency", "LINK", "latency");
     pajeDefineEventType ("source", "LINK", "source");
     pajeDefineEventType ("destination", "LINK", "destination");
index 2ea04a8..be326be 100644 (file)
@@ -329,15 +329,20 @@ static void __TRACE_C_end (smx_action_t action)
  */
 void TRACE_surf_link_set_utilization (void *link, smx_action_t smx_action, double value, double now, double delta)
 {
-  if (!IS_TRACING || !IS_TRACED(smx_action)) return;
-
+  if (!IS_TRACING) return;
+  if (!value) return;
   //only trace link utilization if link is known by tracing mechanism
   if (!TRACE_surf_link_is_traced (link)) return;
-
   if (!value) return;
 
-  char resource[100], type[100];
+  //trace uncategorized link utilization
+  char resource[100];
   snprintf (resource, 100, "%p", link);
+  TRACE_surf_resource_utilization_event (smx_action, now, delta, "bandwidth_used", resource, value);
+
+  //trace categorized utilization
+  if (!IS_TRACED(smx_action)) return;
+  char type[100];
   snprintf (type, 100, "b%s", smx_action->category);
   TRACE_surf_resource_utilization_event (smx_action, now, delta, type, resource, value);
   return;
@@ -348,10 +353,14 @@ void TRACE_surf_link_set_utilization (void *link, smx_action_t smx_action, doubl
  */
 void TRACE_surf_host_set_utilization (const char *name, smx_action_t smx_action, double value, double now, double delta)
 {
-  if (!IS_TRACING || !IS_TRACED(smx_action)) return;
-
+  if (!IS_TRACING) return;
   if (!value) return;
 
+  //trace uncategorized host utilization
+  TRACE_surf_resource_utilization_event (smx_action, now, delta, "power_used", name, value);
+
+  //trace categorized utilization
+  if (!IS_TRACED(smx_action)) return;
   char type[100];
   snprintf (type, 100, "p%s", smx_action->category);
   TRACE_surf_resource_utilization_event (smx_action, now, delta, type, name, value);