-\section tracing_tracing_analyzing Analyzing the SimGrid Traces
-
-The SimGrid library, during an instrumented simulation, creates a trace file in
-the Paje file format that contains the platform utilization for the simulation
-that was executed. The visualization analysis of this file is performed with the
-visualization tool <a href="http://triva.gforge.inria.fr">Triva</a>, with
-special configurations tunned to SimGrid needs. This part of the documentation
-explains how to configure and use Triva to analyse a SimGrid trace file.
-
-- <b>Installing Triva</b>: the tool is available in the Inria's Forge,
-at <a href="http://triva.gforge.inria.fr">http://triva.gforge.inria.fr</a>.
-Use the following command to get the sources, and then check the file
-<i>INSTALL</i>. This file contains instructions to install
-the tool's dependencies in a Ubuntu/Debian Linux. The tool can also
-be compiled in MacOSX natively, check <i>INSTALL.mac</i> file.
-\verbatim
-$ git clone git://scm.gforge.inria.fr/triva/triva.git
-$ cd triva
-$ cat INSTALL
-\endverbatim
-
-- <b>Executing Triva</b>: a binary called <i>Triva</i> is available after the
- installation (you can execute it passing <em>--help</em> to check its
-options). If the triva binary is not available after following the
-installation instructions, you may want to execute the following command to
-initialize the GNUstep environment variables. We strongly recommend that you
-use the latest GNUstep packages, and not the packages available through apt-get
-in Ubuntu/Debian packaging systems. If you install GNUstep using the latest
-available packages, you can execute this command:
-\verbatim
-$ source /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
-\endverbatim
-You should be able to see this output after the installation of triva:
-\verbatim
-$ ./Triva.app/Triva --help
-Usage: Triva [OPTIONS...] TRACE0 [TRACE1]
-Trace Analysis through Visualization
-
-TimeInterval
- --ti_frequency {double} Animation: frequency of updates
- --ti_hide Hide the TimeInterval window
- --ti_forward {double} Animation: value to move time-slice
- --ti_apply Apply the configuration
- --ti_update Update on slider change
- --ti_animate Start animation
- --ti_start {double} Start of time slice
- --ti_size {double} Size of time slice
-Triva
- --comparison Compare Trace Files (Experimental)
- --graph Configurable Graph
- --list Print Trace Type Hierarchy
- --hierarchy Export Trace Type Hierarchy (dot)
- --stat Trace Statistics and Memory Utilization
- --instances List All Trace Entities
- --linkview Link View (Experimental)
- --treemap Squarified Treemap
- --merge Merge Trace Files (Experimental)
- --check Check Trace File Integrity
-GraphConfiguration
- --gc_conf {file} Graph Configuration in Property List Format
- --gc_apply Apply the configuration
- --gc_hide Hide the GraphConfiguration window
-\endverbatim
-Triva expects that the user choose one of the available options
-(currently <em>--graph</em> or <em>--treemap</em> for a visualization analysis)
-and the trace file from the simulation.
-
-- <b>Understanding Triva - time-slice</b>: the analysis of a trace file using
- the tool always takes into account the concept of the <em>time-slice</em>.
-This concept means that what is being visualized in the screen is always
-calculated considering a specific time frame, with its beggining and end
-timestamp. The time-slice is configured by the user and can be changed
-dynamically through the window called <em>Time Interval</em> that is opened
-whenever a trace file is being analyzed. The next figure depicts the time-slice
-configuration window.
-In the top of the window, in the space named <i>Trace Time</i>,
-the two fields show the beggining of the trace (which usually starts in 0) and
-the end (that depends on the time simulated by SimGrid). The middle of the
-window, in the square named <i>Time Slice Configuration</i>, contains the
-aspects related to the time-slice, including its <i>start</i> and its
-<i>size</i>. The gray rectangle in the bottom of this part indicates the
-<i>current time-slice</i> that is considered for the drawings. If the checkbox
-<i>Update Drawings on Sliders Change</i> is not selected, the button
-<i>Apply</i> must be clicked in order to inform triva that the
-new time-slice must be considered. The bottom part of the window, in the space
-indicated by the square <i>Time Slice Animation</i> can be used to advance
-the time-frame automatically. The user configures the amount of time that the
-time-frame will forward and how frequent this update will happen. Once this is
-configured, the user clicks the <i>Play</i> button in order to see the dynamic
-changes on the drawings.
-<center>
-\htmlonly
-<a href="triva-time_interval.png" border=0><img src="triva-time_interval.png" width="50%" border=0></a>
-\endhtmlonly
-</center>
-<b>Remarks:</b> when the trace has too many hosts or links, the computation to
-take into account a new time-slice can be expensive. When this happens, the
-<i>Frequency</i> parameter, but also updates caused by change on configurations
-when the checkbox <i>Update Drawings on Sliders
-Change</i> is selected will not be followed.
-
-- <b>Understanding Triva - graph</b>: one possibility to analyze
- SimGrid traces is to use Triva's graph view, using the
- <em>--graph</em> parameter to activate this view, and
- <em>--gc_conf</em> with a graph configuration to customize the graph
- according to the traces. A valid graph configuration (we are using
- the non-XML <a
- href="http://en.wikipedia.org/wiki/Property_list">Property List
- Format</a> to describe the configuration) can be created for any
- SimGrid-based simulator using the
- <em>--cfg=triva/uncategorized:graph_uncategorized.plist</em> or
- <em>--cfg=triva/categorized:graph_categorized.plist</em> (if the
- simulator defines resource utilization categories) when executing
- the simulation.
-
-<b>Basic SimGrid Configuration</b>: The basic description of the configuration
-is as follows:
+\section tracing_tracing_analyzing Analyzing SimGrid Simulation Traces
+
+A SimGrid-based simulator, when executed with the correct parameters
+(see above) creates a trace file in the Paje file format holding the
+simulated behavior of the application or the platform. You have
+several options to analyze this trace file:
+
+- Dump its contents to a CSV-like format using `pj_dump` (see <a
+ href="https://github.com/schnorr/pajeng/wiki/pj_dump">PajeNG's wiki
+ on pj_dump</a> and more generally the <a
+ href="https://github.com/schnorr/pajeng/">PajeNG suite</a>) and use
+ gnuplot to plot resource usage, time spent on blocking/executing
+ functions, and so on. Filtering capabilities are at your hand by
+ doing `grep`, with the best regular expression you can provide, to
+ get only parts of the trace (for instance, only a subset of
+ resources or processes).
+
+- Derive statistics from trace metrics (the ones built-in with any
+ SimGrid simulation, but also those metrics you injected in the trace
+ using the TRACE module) using the <a
+ href="http://www.r-project.org/">R project</a> and all its
+ modules. You can also combine R with <a
+ href="http://ggplot2.org/">ggplot2</a> to get a number of high
+ quality plots from your simulation metrics. You need to `pj_dump`
+ the contents of the SimGrid trace file to use R.
+
+- Visualize the behavior of your simulation using classic space/time
+ views (gantt-charts) provided by the <a
+ href="https://github.com/schnorr/pajeng/">PajeNG suite</a> and any
+ other tool that supports the <a
+ href="http://paje.sourceforge.net/download/publication/lang-paje.pdf">Paje
+ file format</a>. Consider this option if you need to understand the
+ causality of your distributed simulation.
+
+- Visualize the behavior of your simulation with treemaps (specially
+ if your simulation has a platform with several thousand resources),
+ provided by the <a href="http://github.com/schnorr/viva/">Viva</a>
+ visualization tool. See <a
+ href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
+ further details on what is a treemap and how to use it.
+
+- Correlate the behavior of your simulator with the platform topology
+ with an interactive, force-directed, and hierarchical graph
+ visualization, provided by <a
+ href="http://github.com/schnorr/viva/">Viva</a>. Check <a
+ href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
+ further details. This <a
+ href="http://hal.inria.fr/hal-00738321/">research report</a>,
+ published at ISPASS 2013, has a detailed description of this
+ visualization technique.
+
+- You can also check our online <a
+ href="http://simgrid.gforge.inria.fr/tutorials.html"> tutorial
+ section</a> that contains a dedicated tutorial with several
+ suggestions on how to use the tracing infrastructure. Look for the
+ SimGrid User::Visualization 101 tutorial.
+
+- Ask for help on the <a
+ href="mailto:simgrid-user@lists.gforge.inria.fr">simgrid-user@lists.gforge.inria.fr</a>
+ mailing list, giving us a detailed explanation on what your
+ simulator does and what kind of information you want to trace. You
+ can also check the <a
+ href="http://lists.gforge.inria.fr/pipermail/simgrid-user/">mailing
+ list archive</a> for old messages regarding tracing and analysis.
+
+\subsection tracing_viva_analysis Viva Visualization Tool
+
+This subsection describe some of the concepts regarding the <a
+href="http://github.com/schnorr/viva/">Viva Visualization Tool</a> and
+its relation with SimGrid traces. You should refer to Viva's website
+for further details on all its visualization techniques.
+
+\subsubsection tracing_viva_time_slice Time Slice
+
+The analysis of a trace file using the tool always takes into account
+the concept of the <em>time-slice</em>. This concept means that what
+is being visualized in the screen is always calculated considering a
+specific time frame, with its beggining and end timestamp. The
+time-slice is configured by the user and can be changed dynamically
+through the window called <em>Time Interval</em> that is opened
+whenever a trace file is being analyzed. Users are capable to select
+the beggining and size of the time slice.
+
+\subsubsection tracing_viva_graph Hierarchical Graph View
+
+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
+href="http://en.wikipedia.org/wiki/Property_list">Property List
+Format</a> to describe the configuration) can be created for any
+SimGrid-based simulator using the
+<em>--cfg=viva/uncategorized:graph_uncategorized.plist</em> or
+<em>--cfg=viva/categorized:graph_categorized.plist</em> (if the
+simulator defines resource utilization categories) when executing the
+simulation.
+
+\subsubsection basic_conf Basic Graph Configuration
+
+The basic description of the configuration is as follows: