X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4f1c83cc8b3ee5515fb72352b1d7d48ebbb573a0..1c776224d750723000d0e3753878e0733e469006:/src/instr/instr_resource_utilization.c diff --git a/src/instr/instr_resource_utilization.c b/src/instr/instr_resource_utilization.c index 5f4ec1d53f..aed33970f0 100644 --- a/src/instr/instr_resource_utilization.c +++ b/src/instr/instr_resource_utilization.c @@ -8,6 +8,8 @@ #ifdef HAVE_TRACING +XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_resource, instr, "tracing (un)-categorized resource utilization"); + //to check if variables were previously set to 0, otherwise paje won't simulate them static xbt_dict_t platform_variables; /* host or link name -> array of categories */ @@ -37,7 +39,7 @@ static void __TRACE_surf_check_variable_set_to_zero(double now, xbt_dynar_t array = xbt_dynar_new(sizeof(char *), xbt_free); char *var_cpy = xbt_strdup(variable); xbt_dynar_push(array, &var_cpy); - if (TRACE_platform_is_enabled()) + if (TRACE_categorized ()) pajeSetVariable(now, variable, resource, "0"); xbt_dict_set(platform_variables, resource, array, xbt_dynar_free_voidp); @@ -54,7 +56,7 @@ static void __TRACE_surf_check_variable_set_to_zero(double now, if (flag == 0) { char *var_cpy = xbt_strdup(variable); xbt_dynar_push(array, &var_cpy); - if (TRACE_platform_is_enabled()) + if (TRACE_categorized ()) pajeSetVariable(now, variable, resource, "0"); } } @@ -265,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) @@ -275,34 +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()){ - TRACE_surf_resource_utilization_event(smx_action, now, delta, - "bandwidth_used", resource, value); + DEBUG4("UNCAT LINK [%f - %f] %s bandwidth_used %f", now, now+delta, 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 (!IS_TRACED(surf_action)) - return; - char type[100]; - snprintf(type, 100, "b%s", surf_action->category); - 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, @@ -315,17 +318,21 @@ void TRACE_surf_host_set_utilization(const char *name, //trace uncategorized host utilization if (TRACE_uncategorized()){ - 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 (!IS_TRACED(surf_action)) - return; - char type[100]; - snprintf(type, 100, "p%s", surf_action->category); - 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; } @@ -336,6 +343,7 @@ void TRACE_surf_resource_utilization_start(smx_action_t action) { if (!TRACE_is_active()) return; + DEBUG1("START %p", action); TRACE_method_start(action); } @@ -347,6 +355,7 @@ void TRACE_surf_resource_utilization_event(smx_action_t action, double now, { if (!TRACE_is_active()) return; + DEBUG6("EVENT %p [%f - %f] %s %s %f", action, now, now+delta, resource, variable, value); TRACE_method_event(action, now, delta, variable, resource, value); } @@ -355,6 +364,7 @@ void TRACE_surf_resource_utilization_end(smx_action_t action) if (!TRACE_is_active()) return; TRACE_method_end(action); + DEBUG1("END %p", action); } void TRACE_surf_resource_utilization_release()