X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b827425899c721a826dde8f8d7a7976d442f94b..1d2844ee474282b8b92db2ffee9e48e0472e93da:/src/instr/instr_resource_utilization.c diff --git a/src/instr/instr_resource_utilization.c b/src/instr/instr_resource_utilization.c index 96d21b2af3..e8273e3502 100644 --- a/src/instr/instr_resource_utilization.c +++ b/src/instr/instr_resource_utilization.c @@ -39,8 +39,9 @@ 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_categorized ()) - pajeSetVariable(now, variable, resource, "0"); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeSetVariable (now, container, type, 0); xbt_dict_set(platform_variables, resource, array, xbt_dynar_free_voidp); } else { @@ -56,8 +57,11 @@ 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_categorized ()) - pajeSetVariable(now, variable, resource, "0"); + if (TRACE_categorized ()){ + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeSetVariable (now, container, type, 0); + } } } /* end of check */ @@ -85,8 +89,10 @@ static void __TRACE_A_event(smx_action_t action, double now, double delta, snprintf(valuestr, 100, "%f", value); __TRACE_surf_check_variable_set_to_zero(now, variable, resource); - pajeAddVariable(now, variable, resource, valuestr); - pajeSubVariable(now + delta, variable, resource, valuestr); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeAddVariable(now, container, type, value); + new_pajeSubVariable(now + delta, container, type, value); } static void __TRACE_A_end(smx_action_t action) @@ -114,7 +120,9 @@ static void __TRACE_B_release(void) char key_value[INSTR_DEFAULT_STR_SIZE]; snprintf (key_value, INSTR_DEFAULT_STR_SIZE, "%s %s value", resource, variable); char *value = xbt_dict_get_or_null (method_b_dict, key_value); - pajeSubVariable(atof(time), variable, resource, value); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeSubVariable(atof(time), container, type, atof(value)); } } xbt_dict_free(&method_b_dict); @@ -144,7 +152,9 @@ static void __TRACE_B_event(smx_action_t action, double now, double delta, char *lastvaluestr = xbt_dict_get_or_null(method_b_dict, key_value); if (lasttimestr == NULL){ __TRACE_surf_check_variable_set_to_zero(now, variable, resource); - pajeAddVariable(now, variable, resource, valuestr); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeAddVariable(now, container, type, value); xbt_dict_set(method_b_dict, key_time, xbt_strdup(nowdeltastr), xbt_free); xbt_dict_set(method_b_dict, key_value, xbt_strdup(valuestr), xbt_free); }else{ @@ -157,13 +167,17 @@ static void __TRACE_B_event(smx_action_t action, double now, double delta, //perfect, just go on }else{ //time changed, have to update - pajeSubVariable(lasttime, variable, resource, lastvaluestr); - pajeAddVariable(now, variable, resource, valuestr); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeSubVariable(lasttime, container, type, lastvalue); + new_pajeAddVariable(now, container, type, value); } }else{ //value changed, have to update - pajeSubVariable(lasttime, variable, resource, lastvaluestr); - pajeAddVariable(now, variable, resource, valuestr); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + new_pajeSubVariable(lasttime, container, type, lastvalue); + new_pajeAddVariable(now, container, type, value); } xbt_dict_set(method_b_dict, key_time, xbt_strdup(nowdeltastr), xbt_free); xbt_dict_set(method_b_dict, key_value, xbt_strdup(valuestr), xbt_free); @@ -252,12 +266,12 @@ static void __TRACE_C_end(smx_action_t action) continue; __TRACE_surf_check_variable_set_to_zero(start_time, variable, resource); - char value_str[100]; if (end_time - start_time != 0) { - snprintf(value_str, 100, "%f", - atof(action_dict_value) / (end_time - start_time)); - pajeAddVariable(start_time, variable, resource, value_str); - pajeSubVariable(end_time, variable, resource, value_str); + container_t container = getContainerByName (resource); + type_t type = getVariableType (variable, NULL, container->type); + double val = atof(action_dict_value) / (end_time - start_time); + new_pajeSubVariable(start_time, container, type, val); + new_pajeAddVariable(end_time, container, type, val); } } xbt_dict_remove(method_c_dict, key); @@ -277,34 +291,30 @@ void TRACE_surf_link_set_utilization(const char *resource, smx_action_t smx_acti if (!value) return; //only trace link utilization if link is known by tracing mechanism - if (!instr_link_is_traced(resource)) + if (!knownContainerWithName(resource)) return; if (!value) return; - //get link type - char *link_type = instr_link_type (resource); - //trace uncategorized link utilization if (TRACE_uncategorized()){ - DEBUG4("UNCAT LINK [%f - %f] %s bandwidth_used %f", now, now+delta, resource, value); - char bandwidth_used_type[INSTR_DEFAULT_STR_SIZE]; - snprintf (bandwidth_used_type, INSTR_DEFAULT_STR_SIZE, "bandwidth_used-%s", link_type); - TRACE_surf_resource_utilization_event(smx_action, now, delta, - bandwidth_used_type, resource, value); + XBT_DEBUG("UNCAT LINK [%f - %f] %s bandwidth_used %f", now, now+delta, resource, value); + container_t container = getContainerByName (resource); + type_t type = getVariableType("bandwidth_used", NULL, container->type); + TRACE_surf_resource_utilization_event(smx_action, now, delta, type->name, container->name, value); } //trace categorized utilization if (TRACE_categorized()){ if (!surf_action->category) return; - - char cat_bw_used_type[INSTR_DEFAULT_STR_SIZE]; - snprintf (cat_bw_used_type, INSTR_DEFAULT_STR_SIZE, "%s-%s", surf_action->category, link_type); - - DEBUG5("CAT LINK [%f - %f] %s %s %f", now, now+delta, resource, cat_bw_used_type, value); - TRACE_surf_resource_utilization_event(smx_action, now, delta, cat_bw_used_type, - resource, value); + //variable of this category starts by 'b', because we have a link here + char category_type[INSTR_DEFAULT_STR_SIZE]; + snprintf (category_type, INSTR_DEFAULT_STR_SIZE, "b%s", surf_action->category); + XBT_DEBUG("CAT LINK [%f - %f] %s %s %f", now, now+delta, resource, category_type, value); + container_t container = getContainerByName (resource); + type_t type = getVariableType(category_type, NULL, container->type); + TRACE_surf_resource_utilization_event(smx_action, now, delta, type->name, container->name, value); } return; } @@ -320,32 +330,31 @@ void TRACE_surf_host_set_utilization(const char *resource, { if (!TRACE_is_active()) return; + //only trace host utilization if host is known by tracing mechanism + if (!knownContainerWithName(resource)) + return; if (!value) return; - //get host type - char *host_type = instr_host_type (resource); - //trace uncategorized host utilization if (TRACE_uncategorized()){ - DEBUG4("UNCAT HOST [%f - %f] %s power_used %f", now, now+delta, resource, value); - char power_used_type[INSTR_DEFAULT_STR_SIZE]; - snprintf (power_used_type, INSTR_DEFAULT_STR_SIZE, "power_used-%s", host_type); - TRACE_surf_resource_utilization_event(smx_action, now, delta, - power_used_type, resource, value); + XBT_DEBUG("UNCAT HOST [%f - %f] %s power_used %f", now, now+delta, resource, value); + container_t container = getContainerByName (resource); + type_t type = getVariableType("power_used", NULL, container->type); + TRACE_surf_resource_utilization_event(smx_action, now, delta, type->name, container->name, value); } //trace categorized utilization if (TRACE_categorized()){ if (!surf_action->category) return; - - char cat_p_used_type[INSTR_DEFAULT_STR_SIZE]; - snprintf (cat_p_used_type, INSTR_DEFAULT_STR_SIZE, "%s-%s", surf_action->category, host_type); - - DEBUG5("CAT HOST [%f - %f] %s %s %f", now, now+delta, resource, cat_p_used_type, value); - TRACE_surf_resource_utilization_event(smx_action, now, delta, cat_p_used_type, resource, - value); + //variable of this category starts by 'p', because we have a host here + char category_type[INSTR_DEFAULT_STR_SIZE]; + snprintf (category_type, INSTR_DEFAULT_STR_SIZE, "p%s", surf_action->category); + XBT_DEBUG("CAT HOST [%f - %f] %s %s %f", now, now+delta, resource, category_type, value); + container_t container = getContainerByName (resource); + type_t type = getVariableType(category_type, NULL, container->type); + TRACE_surf_resource_utilization_event(smx_action, now, delta, type->name, container->name, value); } return; } @@ -357,7 +366,7 @@ void TRACE_surf_resource_utilization_start(smx_action_t action) { if (!TRACE_is_active()) return; - DEBUG1("START %p", action); + XBT_DEBUG("START %p", action); TRACE_method_start(action); } @@ -369,7 +378,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); + XBT_DEBUG("EVENT %p [%f - %f] %s %s %f", action, now, now+delta, resource, variable, value); TRACE_method_event(action, now, delta, variable, resource, value); } @@ -378,7 +387,7 @@ void TRACE_surf_resource_utilization_end(smx_action_t action) if (!TRACE_is_active()) return; TRACE_method_end(action); - DEBUG1("END %p", action); + XBT_DEBUG("END %p", action); } void TRACE_surf_resource_utilization_release()