X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f9b6de55a6f3f3c53cee2fcb55935cbcb851a4f1..65e338fbfd769d49b29242bfe56cde18c03b6074:/src/instr/interface.c diff --git a/src/instr/interface.c b/src/instr/interface.c index 5e2e2193f6..7c42143468 100644 --- a/src/instr/interface.c +++ b/src/instr/interface.c @@ -4,11 +4,12 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "instr/private.h" - +#include "simgrid_config.h" #ifdef HAVE_TRACING +#include "instr/private.h" + XBT_LOG_NEW_DEFAULT_CATEGORY(tracing,"Tracing Interface"); static xbt_dict_t defined_types; @@ -75,6 +76,12 @@ int TRACE_start () pajeDefineStateType("presence", "TASK", "presence"); } + if (IS_TRACING_SMPI){ + pajeDefineContainerType ("MPI_PROCESS", "HOST", "MPI_PROCESS"); + pajeDefineStateType ("MPI_STATE", "MPI_PROCESS", "MPI_STATE"); + pajeDefineLinkType ("MPI_LINK", "0", "MPI_PROCESS", "MPI_PROCESS", "MPI_LINK"); + } + /* creating the platform */ pajeCreateContainer(MSG_get_clock(), "platform", "PLATFORM", "0", "simgrid-platform"); @@ -82,8 +89,10 @@ int TRACE_start () defined_types = xbt_dict_new(); created_categories = xbt_dict_new(); __TRACE_msg_init(); + __TRACE_category_init (); __TRACE_surf_init(); __TRACE_msg_process_init (); + __TRACE_smpi_init (); return 0; } @@ -187,4 +196,18 @@ void TRACE_mark (const char *mark_type, const char *mark_value) pajeNewEvent (MSG_get_clock(), mark_type, "0", mark_value); } +int TRACE_smpi_set_category (const char *category) +{ + //if category is NULL, trace of platform is disabled + if (!IS_TRACING) return 1; + if (category != NULL){ + int ret = TRACE_category (category); + __TRACE_category_set (SIMIX_process_self(), category); + return ret; + }else{ + __TRACE_category_unset (SIMIX_process_self()); + return 0; + } +} + #endif /* HAVE_TRACING */