From: Martin Quinson Date: Sun, 25 Dec 2016 21:40:09 +0000 (+0100) Subject: Revert "remove a few smells in instrumentation" X-Git-Tag: v3_14_159~10 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/83f9c73b8685ea0f92712b9f05dc4c8431950358 Revert "remove a few smells in instrumentation" This breaks on Mac OSX, for some obscure reason This reverts commit c82adb6ec2917d3ec0657dab7e5d1d053759accd. --- diff --git a/examples/msg/trace-process-migration/trace-process-migration.tesh b/examples/msg/trace-process-migration/trace-process-migration.tesh index af47bc1d8e..fb4b0eda24 100644 --- a/examples/msg/trace-process-migration/trace-process-migration.tesh +++ b/examples/msg/trace-process-migration/trace-process-migration.tesh @@ -707,8 +707,8 @@ $ tail -n +3 procmig.trace > 16 0 17 0 topology 21 44 > 15 0 17 0 topology 30 45 > 16 0 17 0 topology 28 45 -> 1 20 13 bmigration_order "0.857926 0.545312 0.800026" -> 1 21 1 pmigration_order "0.857926 0.545312 0.800026" +> 1 20 13 bmigration_order "0.800026 0.545312 0.857926" +> 1 21 1 pmigration_order "0.800026 0.545312 0.857926" > 6 0 32 4 3 "emigrant-1" > 6 0 33 4 1 "policeman-2" > 12 0 5 32 7 @@ -1309,8 +1309,8 @@ $ tail -n +3 procmig.trace > 16 0 17 0 topology 21 44 > 15 0 17 0 topology 30 45 > 16 0 17 0 topology 28 45 -> 1 20 13 bmigration_order "0.857926 0.545312 0.800026" -> 1 21 1 pmigration_order "0.857926 0.545312 0.800026" +> 1 20 13 bmigration_order "0.800026 0.545312 0.857926" +> 1 21 1 pmigration_order "0.800026 0.545312 0.857926" > 6 0 32 4 3 "emigrant-1" > 6 0 33 4 1 "policeman-2" > 12 0 5 32 7 @@ -1900,8 +1900,8 @@ $ tail -n +3 simgrid.trace > 16 0 6 0 topology 21 44 > 15 0 6 0 topology 30 45 > 16 0 6 0 topology 28 45 -> 1 9 3 bmigration_order "0.857926 0.545312 0.800026" -> 1 10 1 pmigration_order "0.857926 0.545312 0.800026" +> 1 9 3 bmigration_order "0.800026 0.545312 0.857926" +> 1 10 1 pmigration_order "0.800026 0.545312 0.857926" > 7 18.155073 1 6 > 7 18.155073 1 3 > 7 18.155073 3 28 diff --git a/src/instr/instr_interface.cpp b/src/instr/instr_interface.cpp index 5ed606fea4..78a41cfe66 100644 --- a/src/instr/instr_interface.cpp +++ b/src/instr/instr_interface.cpp @@ -56,7 +56,7 @@ static xbt_dynar_t instr_dict_to_dynar (xbt_dict_t filter) * * \param category The name of the new tracing category to be created. * - * \see TRACE_category_with_color, MSG_task_set_category + * \see TRACE_category_with_color, MSG_task_set_category, SD_task_set_category */ void TRACE_category(const char *category) { @@ -76,7 +76,7 @@ void TRACE_category(const char *category) * \param color The color of the category (see \ref outcomes_vizu to * know how to correctly specify the color) * - * \see MSG_task_set_category + * \see MSG_task_set_category, SD_task_set_category */ void TRACE_category_with_color (const char *category, const char *color) { @@ -97,7 +97,10 @@ void TRACE_category_with_color (const char *category, const char *color) char final_color[INSTR_DEFAULT_STR_SIZE]; if (!color){ //generate a random color - snprintf (final_color, INSTR_DEFAULT_STR_SIZE, "%f %f %f", /*red*/drand48(), /*green*/drand48(), /*blue*/drand48()); + double red = drand48(); + double green = drand48(); + double blue = drand48(); + snprintf (final_color, INSTR_DEFAULT_STR_SIZE, "%f %f %f", red, green, blue); }else{ snprintf (final_color, INSTR_DEFAULT_STR_SIZE, "%s", color); } @@ -111,13 +114,14 @@ void TRACE_category_with_color (const char *category, const char *color) /** \ingroup TRACE_category * \brief Get declared categories * - * This function should be used to get categories declared with #TRACE_category or with #TRACE_category_with_color. + * This function should be used to get categories that were already declared with #TRACE_category or with + * #TRACE_category_with_color. * * See \ref outcomes_vizu for details on how to trace the (categorized) resource utilization. * * \return A dynar with the declared categories, must be freed with xbt_dynar_free. * - * \see MSG_task_set_category + * \see MSG_task_set_category, SD_task_set_category */ xbt_dynar_t TRACE_get_categories () { @@ -147,8 +151,9 @@ void TRACE_declare_mark(const char *mark_type) THROWF (tracing_error, 1, "mark_type is nullptr"); //check if mark_type is already declared - if (xbt_dict_get_or_null(declared_marks, mark_type) != nullptr) + if (xbt_dict_get_or_null(declared_marks, mark_type) != nullptr) { THROWF (tracing_error, 1, "mark_type with name (%s) is already declared", mark_type); + } XBT_DEBUG("MARK,declare %s", mark_type); PJ_type_event_new(mark_type, PJ_type_get_root()); @@ -160,8 +165,9 @@ void TRACE_declare_mark(const char *mark_type) * * This function declares a new colored value for a Paje event type in the trace file that can be used by simulators to * declare application-level marks. This function is independent of which API is used in SimGrid. The color needs to be - * a string with three numbers separated by spaces in the range [0,1]. A light-gray color can be specified using - * "0.7 0.7 0.7" as color. If a nullptr color is provided, the color used will be white ("1 1 1"). + * a string with three numbers separated by spaces in the range [0,1]. + * A light-gray color can be specified using "0.7 0.7 0.7" as color. If a nullptr color is provided, the color used will + * be white ("1 1 1"). * * \param mark_type The name of the new type. * \param mark_value The name of the new value for this type. @@ -181,8 +187,9 @@ void TRACE_declare_mark_value_with_color (const char *mark_type, const char *mar THROWF (tracing_error, 1, "mark_value is nullptr"); type_t type = PJ_type_get (mark_type, PJ_type_get_root()); - if (!type) + if (!type){ THROWF (tracing_error, 1, "mark_type with name (%s) is not declared", mark_type); + } char white[INSTR_DEFAULT_STR_SIZE] = "1.0 1.0 1.0"; if (!mark_color) @@ -196,7 +203,8 @@ void TRACE_declare_mark_value_with_color (const char *mark_type, const char *mar * \brief Declare a new value for a previously declared mark type. * * This function declares a new value for a Paje event type in the trace file that can be used by simulators to declare - * application-level marks. This function is independent of which API is used in SimGrid. + * application-level marks. This function is independent of which API is used in SimGrid. Calling this function is the + * same as calling \ref TRACE_declare_mark_value_with_color with a nullptr color. * * \param mark_type The name of the new type. * \param mark_value The name of the new value for this type. @@ -235,8 +243,9 @@ void TRACE_mark(const char *mark_type, const char *mark_value) //check if mark_type is already declared type_t type = PJ_type_get (mark_type, PJ_type_get_root()); - if (!type) + if (!type){ THROWF (tracing_error, 1, "mark_type with name (%s) is not declared", mark_type); + } val_t value = PJ_value_get (mark_value, type); XBT_DEBUG("MARK %s %s", mark_type, mark_value); diff --git a/src/instr/instr_paje_containers.cpp b/src/instr/instr_paje_containers.cpp index 1306ddc320..6af90f2fd1 100644 --- a/src/instr/instr_paje_containers.cpp +++ b/src/instr/instr_paje_containers.cpp @@ -25,9 +25,8 @@ xbt_dict_t trivaEdgeTypes = nullptr; /* all link types defined */ long long int instr_new_paje_id () { - static long long int type_id = -1; - type_id++; - return type_id; + static long long int type_id = 0; + return type_id++; } void PJ_container_alloc () diff --git a/src/instr/instr_paje_header.cpp b/src/instr/instr_paje_header.cpp index 3b2c584984..d0b48b1853 100644 --- a/src/instr/instr_paje_header.cpp +++ b/src/instr/instr_paje_header.cpp @@ -11,7 +11,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje_header, instr, "Paje tracing event sy extern FILE *tracing_file; -static void TRACE_header_PajeDefineContainerType (int basic) +static void TRACE_header_PajeDefineContainerType (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineContainerType %d\n", PAJE_DefineContainerType); fprintf(tracing_file, "%% Alias string\n"); @@ -24,7 +24,7 @@ static void TRACE_header_PajeDefineContainerType (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDefineVariableType (int basic) +static void TRACE_header_PajeDefineVariableType (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineVariableType %d\n", PAJE_DefineVariableType); fprintf(tracing_file, "%% Alias string\n"); @@ -38,7 +38,7 @@ static void TRACE_header_PajeDefineVariableType (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDefineStateType (int basic) +static void TRACE_header_PajeDefineStateType (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineStateType %d\n", PAJE_DefineStateType); fprintf(tracing_file, "%% Alias string\n"); @@ -51,7 +51,7 @@ static void TRACE_header_PajeDefineStateType (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDefineEventType (int basic) +static void TRACE_header_PajeDefineEventType (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineEventType %d\n", PAJE_DefineEventType); fprintf(tracing_file, "%% Alias string\n"); @@ -64,7 +64,7 @@ static void TRACE_header_PajeDefineEventType (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDefineLinkType (int basic) +static void TRACE_header_PajeDefineLinkType (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineLinkType %d\n", PAJE_DefineLinkType); fprintf(tracing_file, "%% Alias string\n"); @@ -81,7 +81,7 @@ static void TRACE_header_PajeDefineLinkType (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDefineEntityValue (int basic) +static void TRACE_header_PajeDefineEntityValue (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDefineEntityValue %d\n", PAJE_DefineEntityValue); fprintf(tracing_file, "%% Alias string\n"); @@ -95,7 +95,7 @@ static void TRACE_header_PajeDefineEntityValue (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeCreateContainer () +static void TRACE_header_PajeCreateContainer (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeCreateContainer %d\n", PAJE_CreateContainer); fprintf(tracing_file, "%% Time date\n"); @@ -106,7 +106,7 @@ static void TRACE_header_PajeCreateContainer () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeDestroyContainer () +static void TRACE_header_PajeDestroyContainer (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeDestroyContainer %d\n", PAJE_DestroyContainer); fprintf(tracing_file, "%% Time date\n"); @@ -115,7 +115,7 @@ static void TRACE_header_PajeDestroyContainer () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeSetVariable () +static void TRACE_header_PajeSetVariable (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeSetVariable %d\n", PAJE_SetVariable); fprintf(tracing_file, "%% Time date\n"); @@ -125,7 +125,7 @@ static void TRACE_header_PajeSetVariable () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeAddVariable () +static void TRACE_header_PajeAddVariable (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeAddVariable %d\n", PAJE_AddVariable); fprintf(tracing_file, "%% Time date\n"); @@ -135,7 +135,7 @@ static void TRACE_header_PajeAddVariable () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeSubVariable () +static void TRACE_header_PajeSubVariable (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeSubVariable %d\n", PAJE_SubVariable); fprintf(tracing_file, "%% Time date\n"); @@ -146,7 +146,7 @@ static void TRACE_header_PajeSubVariable () } -static void TRACE_header_PajeSetState () +static void TRACE_header_PajeSetState (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeSetState %d\n", PAJE_SetState); fprintf(tracing_file, "%% Time date\n"); @@ -156,7 +156,7 @@ static void TRACE_header_PajeSetState () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajePushState (int size) +static void TRACE_header_PajePushState (int basic, int size) { fprintf(tracing_file, "%%EventDef PajePushState %d\n", PAJE_PushState); fprintf(tracing_file, "%% Time date\n"); @@ -177,7 +177,7 @@ static void TRACE_header_PajePushState (int size) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajePopState () +static void TRACE_header_PajePopState (int basic, int size) { fprintf(tracing_file, "%%EventDef PajePopState %d\n", PAJE_PopState); fprintf(tracing_file, "%% Time date\n"); @@ -186,7 +186,7 @@ static void TRACE_header_PajePopState () fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeResetState (int basic) +static void TRACE_header_PajeResetState (int basic, int size) { if (basic) return; @@ -214,7 +214,7 @@ static void TRACE_header_PajeStartLink (int basic, int size) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeEndLink (int basic) +static void TRACE_header_PajeEndLink (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeEndLink %d\n", PAJE_EndLink); fprintf(tracing_file, "%% Time date\n"); @@ -230,7 +230,7 @@ static void TRACE_header_PajeEndLink (int basic) fprintf(tracing_file, "%%EndEventDef\n"); } -static void TRACE_header_PajeNewEvent () +static void TRACE_header_PajeNewEvent (int basic, int size) { fprintf(tracing_file, "%%EventDef PajeNewEvent %d\n", PAJE_NewEvent); fprintf(tracing_file, "%% Time date\n"); @@ -243,22 +243,22 @@ static void TRACE_header_PajeNewEvent () void TRACE_header(int basic, int size) { XBT_DEBUG ("Define paje header"); - TRACE_header_PajeDefineContainerType (basic); - TRACE_header_PajeDefineVariableType (basic); - TRACE_header_PajeDefineStateType (basic); - TRACE_header_PajeDefineEventType (basic); - TRACE_header_PajeDefineLinkType (basic); - TRACE_header_PajeDefineEntityValue (basic); - TRACE_header_PajeCreateContainer (); - TRACE_header_PajeDestroyContainer (); - TRACE_header_PajeSetVariable (); - TRACE_header_PajeAddVariable (); - TRACE_header_PajeSubVariable (); - TRACE_header_PajeSetState (); - TRACE_header_PajePushState (size); - TRACE_header_PajePopState (); - TRACE_header_PajeResetState (basic); + TRACE_header_PajeDefineContainerType (basic, size); + TRACE_header_PajeDefineVariableType (basic, size); + TRACE_header_PajeDefineStateType (basic, size); + TRACE_header_PajeDefineEventType (basic, size); + TRACE_header_PajeDefineLinkType (basic, size); + TRACE_header_PajeDefineEntityValue (basic, size); + TRACE_header_PajeCreateContainer (basic, size); + TRACE_header_PajeDestroyContainer (basic, size); + TRACE_header_PajeSetVariable (basic, size); + TRACE_header_PajeAddVariable (basic, size); + TRACE_header_PajeSubVariable (basic, size); + TRACE_header_PajeSetState (basic, size); + TRACE_header_PajePushState (basic, size); + TRACE_header_PajePopState (basic, size); + TRACE_header_PajeResetState (basic, size); TRACE_header_PajeStartLink (basic, size); - TRACE_header_PajeEndLink (basic); - TRACE_header_PajeNewEvent (); + TRACE_header_PajeEndLink (basic, size); + TRACE_header_PajeNewEvent (basic, size); } diff --git a/src/instr/instr_resource_utilization.cpp b/src/instr/instr_resource_utilization.cpp index 29e3620efb..70137b6438 100644 --- a/src/instr/instr_resource_utilization.cpp +++ b/src/instr/instr_resource_utilization.cpp @@ -21,7 +21,9 @@ static void __TRACE_surf_check_variable_set_to_zero(double now, const char *vari */ // create a key considering the resource and variable - char *key = bprintf ("%s%s", resource, variable); + int n = strlen(variable)+strlen(resource)+1; + char *key = (char*)xbt_malloc(n*sizeof(char)); + snprintf (key, n, "%s%s", resource, variable); // check if key exists: if it doesn't, set the variable to zero and mark this in the dict if (!xbt_dict_get_or_null(platform_variables, key)) { diff --git a/src/instr/instr_trace.cpp b/src/instr/instr_trace.cpp index 71125499fd..c2ceae6e62 100644 --- a/src/instr/instr_trace.cpp +++ b/src/instr/instr_trace.cpp @@ -26,15 +26,13 @@ std::vector buffer; void dump_comment (const char *comment) { - if (!strlen(comment)) - return; + if (!strlen(comment)) return; fprintf (tracing_file, "# %s\n", comment); } void dump_comment_file (const char *filename) { - if (!strlen(filename)) - return; + if (!strlen(filename)) return; FILE *file = fopen (filename, "r"); if (!file){ THROWF (system_error, 1, "Comment file %s could not be opened for reading.", filename); @@ -42,14 +40,12 @@ void dump_comment_file (const char *filename) while (!feof(file)){ char c; c = fgetc(file); - if (feof(file)) - break; + if (feof(file)) break; fprintf (tracing_file, "# "); while (c != '\n'){ fprintf (tracing_file, "%c", c); c = fgetc(file); - if (feof(file)) - break; + if (feof(file)) break; } fprintf (tracing_file, "\n"); } @@ -60,8 +56,7 @@ double TRACE_last_timestamp_to_dump = 0; //dumps the trace file until the timestamp TRACE_last_timestamp_to_dump void TRACE_paje_dump_buffer (int force) { - if (!TRACE_is_enabled()) - return; + if (!TRACE_is_enabled()) return; XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump); if (force){ for (auto event :buffer){ @@ -136,7 +131,7 @@ void new_pajeDefineContainerType(type_t type) event->print = active_writer.print_DefineContainerType; event->free = &free_paje_event; event->data = xbt_new0(s_defineContainerType_t, 1); - (static_cast(event->data))->type = type; + ((defineContainerType_t)(event->data))->type = type; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -153,7 +148,7 @@ void new_pajeDefineVariableType(type_t type) event->print = active_writer.print_DefineVariableType; event->free = &free_paje_event; event->data = xbt_new0(s_defineVariableType_t, 1); - (static_cast(event->data))->type = type; + ((defineVariableType_t)(event->data))->type = type; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -170,7 +165,7 @@ void new_pajeDefineStateType(type_t type) event->print = active_writer.print_DefineStateType; event->free = &free_paje_event; event->data = xbt_new0(s_defineStateType_t, 1); - (static_cast(event->data))->type = type; + ((defineStateType_t)(event->data))->type = type; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -187,7 +182,7 @@ void new_pajeDefineEventType(type_t type) event->print = active_writer.print_DefineEventType; event->free = &free_paje_event; event->data = xbt_new0(s_defineEventType_t, 1); - (static_cast(event->data))->type = type; + ((defineEventType_t)(event->data))->type = type; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -204,9 +199,9 @@ void new_pajeDefineLinkType(type_t type, type_t source, type_t dest) event->print = active_writer.print_DefineLinkType; event->free = &free_paje_event; event->data = xbt_new0(s_defineLinkType_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->source = source; - (static_cast(event->data))->dest = dest; + ((defineLinkType_t)(event->data))->type = type; + ((defineLinkType_t)(event->data))->source = source; + ((defineLinkType_t)(event->data))->dest = dest; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -223,7 +218,7 @@ void new_pajeDefineEntityValue (val_t value) event->print = active_writer.print_DefineEntityValue; event->free = &free_paje_event; event->data = xbt_new0(s_defineEntityValue_t, 1); - (static_cast(event->data))->value = value; + ((defineEntityValue_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); @@ -240,7 +235,7 @@ void new_pajeCreateContainer (container_t container) event->print = active_writer.print_CreateContainer; event->free = &free_paje_event; event->data = xbt_new0(s_createContainer_t, 1); - (static_cast(event->data))->container = container; + ((createContainer_t)(event->data))->container = container; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -257,7 +252,7 @@ void new_pajeDestroyContainer (container_t container) event->print = active_writer.print_DestroyContainer; event->free = &free_paje_event; event->data = xbt_new0(s_destroyContainer_t, 1); - (static_cast(event->data))->container = container; + ((destroyContainer_t)(event->data))->container = container; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -274,9 +269,9 @@ void new_pajeSetVariable (double timestamp, container_t container, type_t type, event->print = active_writer.print_SetVariable; event->free = &free_paje_event; event->data = xbt_new0(s_setVariable_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; + ((setVariable_t)(event->data))->type = type; + ((setVariable_t)(event->data))->container = container; + ((setVariable_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -292,9 +287,9 @@ void new_pajeAddVariable (double timestamp, container_t container, type_t type, event->print = active_writer.print_AddVariable; event->free = &free_paje_event; event->data = xbt_new0(s_addVariable_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; + ((addVariable_t)(event->data))->type = type; + ((addVariable_t)(event->data))->container = container; + ((addVariable_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -309,9 +304,9 @@ void new_pajeSubVariable (double timestamp, container_t container, type_t type, event->print = active_writer.print_SubVariable; event->free = &free_paje_event; event->data = xbt_new0(s_subVariable_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; + ((subVariable_t)(event->data))->type = type; + ((subVariable_t)(event->data))->container = container; + ((subVariable_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -326,19 +321,19 @@ void new_pajeSetState (double timestamp, container_t container, type_t type, val event->print = active_writer.print_SetState; event->free = &free_paje_event; event->data = xbt_new0(s_setState_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; + ((setState_t)(event->data))->type = type; + ((setState_t)(event->data))->container = container; + ((setState_t)(event->data))->value = value; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { smpi_trace_call_location_t* loc = smpi_trace_get_call_location(); - (static_cast(event->data))->filename = loc->filename; - (static_cast(event->data))->linenumber = loc->linenumber; + ((setState_t)(event->data))->filename = loc->filename; + ((setState_t)(event->data))->linenumber = loc->linenumber; } #endif - XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, static_cast(event->event_type), event->timestamp); + XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); } @@ -352,20 +347,20 @@ void new_pajePushStateWithExtra (double timestamp, container_t container, type_t event->print = active_writer.print_PushState; event->free = &free_paje_event; event->data = xbt_new0(s_pushState_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; - (static_cast(event->data))->extra = extra; + ((pushState_t)(event->data))->type = type; + ((pushState_t)(event->data))->container = container; + ((pushState_t)(event->data))->value = value; + ((pushState_t)(event->data))->extra = extra; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { smpi_trace_call_location_t* loc = smpi_trace_get_call_location(); - (static_cast(event->data))->filename = loc->filename; - (static_cast(event->data))->linenumber = loc->linenumber; + ((pushState_t)(event->data))->filename = loc->filename; + ((pushState_t)(event->data))->linenumber = loc->linenumber; } #endif - XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, static_cast(event->event_type), event->timestamp); + XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); } @@ -384,8 +379,8 @@ void new_pajePopState (double timestamp, container_t container, type_t type) event->print = active_writer.print_PopState; event->free = &free_paje_event; event->data = xbt_new0(s_popState_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; + ((popState_t)(event->data))->type = type; + ((popState_t)(event->data))->container = container; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -401,16 +396,16 @@ void new_pajeResetState (double timestamp, container_t container, type_t type) event->print = active_writer.print_ResetState; event->free = &free_paje_event; event->data = xbt_new0(s_resetState_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; + ((resetState_t)(event->data))->type = type; + ((resetState_t)(event->data))->container = container; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); } -void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, - const char *value, const char *key, int size) +void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, + const char *value, const char *key) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_StartLink; @@ -418,24 +413,37 @@ void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t event->print = active_writer.print_StartLink; event->free = &free_paje_event; event->data = xbt_new0(s_startLink_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->sourceContainer = sourceContainer; - (static_cast(event->data))->value = xbt_strdup(value); - (static_cast(event->data))->key = xbt_strdup(key); - (static_cast(event->data))->size = size; - + ((startLink_t)(event->data))->type = type; + ((startLink_t)(event->data))->container = container; + ((startLink_t)(event->data))->sourceContainer = sourceContainer; + ((startLink_t)(event->data))->value = xbt_strdup(value); + ((startLink_t)(event->data))->key = xbt_strdup(key); + ((startLink_t)(event->data))->size = -1; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); } -void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, - const char *value, const char *key) +void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, + const char *value, const char *key, int size) { - new_pajeStartLinkWithSize(timestamp, container, type, sourceContainer, value, key, -1); -} + paje_event_t event = xbt_new0(s_paje_event_t, 1); + event->event_type = PAJE_StartLink; + event->timestamp = timestamp; + event->print = active_writer.print_StartLink; + event->free = &free_paje_event; + event->data = xbt_new0(s_startLink_t, 1); + ((startLink_t)(event->data))->type = type; + ((startLink_t)(event->data))->container = container; + ((startLink_t)(event->data))->sourceContainer = sourceContainer; + ((startLink_t)(event->data))->value = xbt_strdup(value); + ((startLink_t)(event->data))->key = xbt_strdup(key); + ((startLink_t)(event->data))->size = size; + + XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); + insert_into_buffer (event); +} void new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key) @@ -446,11 +454,11 @@ void new_pajeEndLink (double timestamp, container_t container, type_t type, cont event->print = active_writer.print_EndLink; event->free = &free_paje_event; event->data = xbt_new0(s_endLink_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->destContainer = destContainer; - (static_cast(event->data))->value = xbt_strdup(value); - (static_cast(event->data))->key = xbt_strdup(key); + ((endLink_t)(event->data))->type = type; + ((endLink_t)(event->data))->container = container; + ((endLink_t)(event->data))->destContainer = destContainer; + ((endLink_t)(event->data))->value = xbt_strdup(value); + ((endLink_t)(event->data))->key = xbt_strdup(key); XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -465,9 +473,9 @@ void new_pajeNewEvent (double timestamp, container_t container, type_t type, val event->print = active_writer.print_NewEvent; event->free = &free_paje_event; event->data = xbt_new0(s_newEvent_t, 1); - (static_cast(event->data))->type = type; - (static_cast(event->data))->container = container; - (static_cast(event->data))->value = value; + ((newEvent_t)(event->data))->type = type; + ((newEvent_t)(event->data))->container = container; + ((newEvent_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);