X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/04368034521d1f7e019fe97360d1f73eaa232557..8ef37a2e313de8c48edbd49a643d500dd76cebc1:/src/instr/jedule/jedule_output.c diff --git a/src/instr/jedule/jedule_output.c b/src/instr/jedule/jedule_output.c index b670ad7433..7cb7af073b 100644 --- a/src/instr/jedule/jedule_output.c +++ b/src/instr/jedule/jedule_output.c @@ -10,11 +10,11 @@ #include #include -#include "instr/jedule/jedule_output.h" - #include "xbt/dynar.h" #include "xbt/asserts.h" +#include "instr/jedule/jedule_output.h" + #ifdef HAVE_JEDULE XBT_LOG_NEW_DEFAULT_SUBCATEGORY(jed_out, jedule, @@ -71,13 +71,38 @@ static void get_hierarchy_list(xbt_dynar_t hier_list, jed_simgrid_container_t co } +static void get_hierarchy_string(jed_simgrid_container_t container, char *outbuf) { + char buf[1024]; + xbt_dynar_t hier_list; + unsigned int iter; + int number; + int length; + + outbuf[0] = '\0'; + hier_list = xbt_dynar_new(sizeof(int), NULL); + get_hierarchy_list(hier_list, container); + + length = xbt_dynar_length(hier_list); + + xbt_dynar_foreach(hier_list, iter, number) { + if( iter != length-1 ) { + sprintf(buf, "%d.", number); + } else { + sprintf(buf, "%d", number); + } + strcat(outbuf, buf); + } + + xbt_dynar_free(&hier_list); +} + static void print_key_value_dict(xbt_dict_t key_value_dict) { xbt_dict_cursor_t cursor=NULL; char *key,*data; if( key_value_dict != NULL ) { xbt_dict_foreach(key_value_dict,cursor,key,data) { - fprintf(jed_file, "\n",key,data); + fprintf(jed_file, "\n",key,data); } } } @@ -103,11 +128,14 @@ static void print_resources(jed_simgrid_container_t resource_parent) { int res_nb; unsigned int i; char *res_name; + char resid[1024]; xbt_assert( resource_parent->resource_list != NULL ); res_nb = xbt_dynar_length(resource_parent->resource_list); + + get_hierarchy_string(resource_parent, resid); - fprintf(jed_file, "resource_list, i, res_name) { fprintf(jed_file, "%s", res_name); if( i != res_nb-1 ) { @@ -136,10 +164,10 @@ static void print_event(jed_event_t event) { fprintf(jed_file, "\n"); - fprintf(jed_file, "\n", event->name); - fprintf(jed_file, "\n", event->start_time); - fprintf(jed_file, "\n", event->end_time); - fprintf(jed_file, "\n", event->type); + fprintf(jed_file, "\n", event->name); + fprintf(jed_file, "\n", event->start_time); + fprintf(jed_file, "\n", event->end_time); + fprintf(jed_file, "\n", event->type); fprintf(jed_file, "\n"); @@ -147,26 +175,15 @@ static void print_event(jed_event_t event) { int start = subset->start_idx; int end = subset->start_idx + subset->nres - 1; - xbt_dynar_t hier_list; - unsigned int iter; - int number; - - hier_list = xbt_dynar_new(sizeof(int), NULL); - - //printf("subset start %d nres %d\n", subset->start_idx, subset->nres); - - //printf("parent %s\n", event->resource_selection[i]->parent->name); - get_hierarchy_list(hier_list, subset->parent); + char resid[1024]; + get_hierarchy_string(subset->parent, resid); + fprintf(jed_file, "