Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] give users the possibility to pause/resume all tracing activities
authorschnorr <Lucas.Schnorr@imag.fr>
Wed, 19 Sep 2012 15:24:21 +0000 (17:24 +0200)
committerschnorr <Lucas.Schnorr@imag.fr>
Wed, 19 Sep 2012 15:24:21 +0000 (17:24 +0200)
include/instr/instr.h
src/instr/instr_config.c
src/instr/instr_interface.c
src/instr/instr_private.h

index 3cb23ad..9e3d584 100644 (file)
@@ -81,6 +81,9 @@ XBT_PUBLIC(void) TRACE_host_reset_state (const char *host, const char *state);
 /* for creating graph configuration files for Triva by hand */
 XBT_PUBLIC(xbt_dynar_t) TRACE_get_node_types (void);
 XBT_PUBLIC(xbt_dynar_t) TRACE_get_edge_types (void);
 /* for creating graph configuration files for Triva by hand */
 XBT_PUBLIC(xbt_dynar_t) TRACE_get_node_types (void);
 XBT_PUBLIC(xbt_dynar_t) TRACE_get_edge_types (void);
+XBT_PUBLIC(void) TRACE_pause (void);
+XBT_PUBLIC(void) TRACE_resume (void);
+
 
 #else                           /* HAVE_TRACING */
 
 
 #else                           /* HAVE_TRACING */
 
index f6d2e21..44b1f3f 100644 (file)
@@ -634,6 +634,18 @@ void TRACE_generate_viva_cat_conf (void)
   generate_cat_configuration (TRACE_get_viva_cat_conf(), "viva", 0);
 }
 
   generate_cat_configuration (TRACE_get_viva_cat_conf(), "viva", 0);
 }
 
+void instr_pause_tracing (void)
+{
+  trace_enabled = 0;
+  XBT_DEBUG ("Tracing is paused.");
+}
+
+void instr_resume_tracing (void)
+{
+  trace_enabled = 1;
+  XBT_DEBUG ("Tracing is resumed.");
+}
+
 #undef OPT_TRACING
 #undef OPT_TRACING_PLATFORM
 #undef OPT_TRACING_SMPI
 #undef OPT_TRACING
 #undef OPT_TRACING_PLATFORM
 #undef OPT_TRACING_SMPI
index 0a80054..5fffd02 100644 (file)
@@ -985,4 +985,32 @@ xbt_dynar_t TRACE_get_edge_types (void)
   return instr_dict_to_dynar (trivaEdgeTypes);
 }
 
   return instr_dict_to_dynar (trivaEdgeTypes);
 }
 
+/** \ingroup TRACE_API
+ *  \brief Pauses all tracing activities.
+ *  \see TRACE_resume
+ */
+void TRACE_pause (void)
+{
+  if (!TRACE_is_enabled()){
+    XBT_DEBUG ("Tracing is already paused, therefore do nothing.");
+  }else{
+    XBT_DEBUG ("Tracing is being paused.");
+    instr_pause_tracing();
+  }
+}
+
+/** \ingroup TRACE_API
+ *  \brief Resumes all tracing activities.
+ *  \see TRACE_pause
+ */
+void TRACE_resume (void)
+{
+  if (TRACE_is_enabled()){
+    XBT_DEBUG ("Tracing is already running while trying to resume, therefore do nothing.");
+  }else{
+    XBT_DEBUG ("Tracing is being resumed.");
+    instr_resume_tracing();
+  }
+}
+
 #endif /* HAVE_TRACING */
 #endif /* HAVE_TRACING */
index ac6d1e4..b4b661f 100644 (file)
@@ -209,6 +209,8 @@ void TRACE_generate_triva_uncat_conf (void);
 void TRACE_generate_triva_cat_conf (void);
 void TRACE_generate_viva_uncat_conf (void);
 void TRACE_generate_viva_cat_conf (void);
 void TRACE_generate_triva_cat_conf (void);
 void TRACE_generate_viva_uncat_conf (void);
 void TRACE_generate_viva_cat_conf (void);
+void instr_pause_tracing (void);
+void instr_resume_tracing (void);
 
 /* from resource_utilization.c */
 void TRACE_surf_host_set_utilization(const char *resource,
 
 /* from resource_utilization.c */
 void TRACE_surf_host_set_utilization(const char *resource,