-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathdir_49f3ae2a926f898e924a2101822a02d6.html
137 lines (135 loc) · 8.06 KB
/
dir_49f3ae2a926f898e924a2101822a02d6.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>reactor-c: util/tracing/visualization Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">reactor-c
</div>
<div id="projectbrief">C Runtime for Lingua Franca</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function(){initNavTree('dir_49f3ae2a926f898e924a2101822a02d6.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">visualization Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dc/d69/fedsd_8py.html">fedsd.py</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p><code>fedsd</code> is a utility that reports the interactions (exchanged messages) between federates and the RTI in a sequence-diagram-like format. It also reports the interactions between different encalves in an enclaved execution, where no RTI trace file is provided.</p>
<p>To use <code>fedsd</code>, you need to first obtain an execution trace. To do this, enable the tracing mechanism in your Lingua Franca program by setting the <code>tracing</code> target property to <code>true</code> and then compile and run the program.</p>
<p>This utility starts by transforming each <code>.lft</code> file into a <code>.csv</code> file, by internally running <code>trace_to_csv</code>. It then aggregates the data from all <code>.csv</code> files to do the matching and draw the sequence diagram.</p>
<h1><a class="anchor" id="autotoc_md15"></a>
Installing</h1>
<p><code>fedsd</code> is installed together with the rest of the tracing tools. For instructions refer to <code><a class="el" href="d6/df2/util_2tracing_2_r_e_a_d_m_e_8md.html">util/tracing/README.md</a></code>.</p>
<h1><a class="anchor" id="autotoc_md16"></a>
Running</h1>
<p>In case the federation is launched using the <code>bash</code> script under <code>bin</code>, an <code>.lft</code> trace file will be generated for each of the federates, in addition to <code>rti.lft</code>. The latter contains the RTI trace.</p>
<p>If, however, the federation is launched manually, then running the <code>RTI</code> command should be passed the <code>-t</code> flag in order to make sure that it, too, has tracing enabled: </p><div class="fragment"><div class="line">RTI -n <number_of_federates> -t</div>
</div><!-- fragment --><p>It is most convenient to launch the RTI and all federates from the same working directory so that they will all write their trace file to that directory.</p>
<p>Once the federation stopped executing, running <code>fedsd</code> will operate on all the <code>.lft</code> files in the current directory: </p><div class="fragment"><div class="line">fedsd</div>
</div><!-- fragment --><p> It is also possible to operate on specific files. In such a case, run <code>fedsd</code> with <code>-r</code> flag to provide the RTI trace file, and <code>-f</code> flag to provide the list of federate.</p>
<div class="fragment"><div class="line">fedsd -r <rti.lft> -f <federate__f1.lft> <federate__f2.lft></div>
</div><!-- fragment --><p>If the trace is too long, the target time interval can be specified. Running <code>fedsd</code> with <code>-s <start_time_value> <time_unit></code> will show the messages with the tag later than or equal to the start time and with <code>-e <end_time_value> <time_unit></code> will show the messages with the tag strictly earlier than the end_time.</p>
<div class="fragment"><div class="line">fedsd -s <start_time_value> <time_unit> -e <end_time_value> <time_unit></div>
</div><!-- fragment --><p>The output is an html file named <code>trace_svg.html</code> (in the current directory) that contains the sequence of interactions between the federates and the RTI. </p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_23ec12649285f9fabf3a6b7380226c28.html">util</a></li><li class="navelem"><a class="el" href="dir_8a13d95c10a051823e0fccf80a54af26.html">tracing</a></li><li class="navelem"><a class="el" href="dir_49f3ae2a926f898e924a2101822a02d6.html">visualization</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>