tracing-related features can be enabled and used during the
development of simulators using the SimGrid library.
-\section tracing_tracing_enabling Enabling using CMake
-
-With the sources of SimGrid, it is possible to enable the tracing
-using the parameter <b>-Denable_tracing=ON</b> when the cmake is
-executed. The sections \ref instr_category_functions, \ref
-instr_mark_functions, and \ref instr_uservariables_functions describe
-all the functions available when this Cmake options is
-activated. These functions will have no effect if SimGrid is
-configured without this option (they are wiped-out by the
-C-preprocessor).
-
-\verbatim
-$ cmake -Denable_tracing=ON .
-$ make
-\endverbatim
-
\section instr_category_functions Tracing categories functions
The SimGrid library is instrumented so users can trace the platform
Safe switch. It activates (or deactivates) the tracing system.
No other tracing options take effect if this one is not activated.
\verbatim
---cfg=tracing:1
+--cfg=tracing:yes
\endverbatim
\li <b>\c
It activates the categorized resource utilization tracing. It should
be enabled if tracing categories are used by this simulator.
\verbatim
---cfg=tracing/categorized:1
+--cfg=tracing/categorized:yes
\endverbatim
\li <b>\c
this simulator do not use tracing categories and resource use have to be
traced.
\verbatim
---cfg=tracing/uncategorized:1
+--cfg=tracing/uncategorized:yes
\endverbatim
\li <b>\c
\endverbatim
If you do not provide this parameter, the trace file will be named simgrid.trace.
-\li <b>\c
-tracing/onelink_only
-</b>:
- By default, the tracing system uses all routes in the platform file
- to re-create a "graph" of the platform and register it in the trace file.
- This option let the user tell the tracing system to use only the routes
- that are composed with just one link.
-\verbatim
---cfg=tracing/onelink_only:1
-\endverbatim
-
\li <b>\c
tracing/smpi
</b>:
visualizations. Every MPI function (implemented by SMPI) is transformed in a
state, and point-to-point communications can be analyzed with arrows.
\verbatim
---cfg=tracing/smpi:1
+--cfg=tracing/smpi:yes
\endverbatim
\li <b>\c
This option only has effect if this simulator is SMPI-based. The processes
are grouped by the hosts where they were executed.
\verbatim
---cfg=tracing/smpi/group:1
+--cfg=tracing/smpi/group:yes
+\endverbatim
+
+\li <b>\c
+tracing/smpi/computing
+</b>:
+ This option only has effect if this simulator is SMPI-based. The parts external
+to SMPI are also outputted to the trace. Provides better way to analyze the data automatically.
+\verbatim
+--cfg=tracing/smpi/computing:yes
+\endverbatim
+
+\li <b>\c
+tracing/smpi/internals
+</b>:
+ This option only has effect if this simulator is SMPI-based. Display internal communications
+happening during a collective MPI call.
+\verbatim
+--cfg=tracing/smpi/internals:yes
+\endverbatim
+
+\li <b>\c
+tracing/smpi/display_sizes
+</b>:
+ This option only has effect if this simulator is SMPI-based. Display the sizes of the messages
+exchanged in the trace, both in the links and on the states. For collective, size means the global size of data sent by the process in general.
+\verbatim
+--cfg=tracing/smpi/display_sizes:yes
+\endverbatim
+
+\li <b>\c
+tracing/smpi/sleeping
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/smpi/format
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/smpi/format/ti_one_file
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/msg/vm
+</b>:
+TODO
+\verbatim
+TODO
\endverbatim
\li <b>\c
behavior of all categorized MSG processes, grouping them by hosts. This option
can be used to track process location if this simulator has process migration.
\verbatim
---cfg=tracing/msg/process:1
+--cfg=tracing/msg/process:yes
\endverbatim
\li <b>\c
impacted if this option is activated, but you are sure to get a trace
file with events sorted.
\verbatim
---cfg=tracing/buffer:1
+--cfg=tracing/buffer:yes
\endverbatim
\li <b>\c
register the topology within an AS. Routes among AS continue to be
traced as usual.
\verbatim
---cfg=tracing/onelink_only:1
+--cfg=tracing/onelink_only:yes
+\endverbatim
+
+\li <b>\c
+tracing/disable_link
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/disable_power
+</b>:
+TODO
+\verbatim
+TODO
\endverbatim
\li <b>\c
can be used with simulators that have a different notion of time
(different from the simulated time).
\verbatim
---cfg=tracing/disable_destroy:1
+--cfg=tracing/disable_destroy:yes
\endverbatim
\li <b>\c
trace. Keep in mind that the trace might be incomplete, without all the
information that would be registered otherwise.
\verbatim
---cfg=tracing/basic:1
+--cfg=tracing/basic:yes
\endverbatim
\li <b>\c
--cfg=tracing/comment_file:textual_file.txt
\endverbatim
+\li <b>\c
+tracing/precision
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/platform
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
+\li <b>\c
+tracing/platform/topology
+</b>:
+TODO
+\verbatim
+TODO
+\endverbatim
+
\li <b>\c
viva/categorized
</b>:
simulator):
\verbatim
./your_simulator \
- --cfg=tracing:1 \
- --cfg=tracing/uncategorized:1 \
+ --cfg=tracing:yes \
+ --cfg=tracing/uncategorized:yes \
--cfg=tracing/filename:mytracefile.trace \
--cfg=viva/uncategorized:uncat.plist
\endverbatim
recompiling, run your simulator with the following parameters:
\verbatim
./your_simulator \
- --cfg=tracing:1 \
- --cfg=tracing/categorized:1 \
+ --cfg=tracing:yes \
+ --cfg=tracing/categorized:yes \
--cfg=tracing/filename:mytracefile.trace \
--cfg=viva/categorized:cat.plist
\endverbatim
\subsubsection tracing_viva_graph Hierarchical Graph View
-As stated above (see section \ref tracing_tracing_analyzing), one
+%As stated above (see section \ref tracing_tracing_analyzing), one
possibility to analyze SimGrid traces is to use Viva's graph view with
a graph configuration to customize the graph according to the
traces. A valid graph configuration (we are using the non-XML <a