author | Tom Henderson <tomh@tomh.org> |
Wed, 15 Oct 2014 07:00:24 -0700 | |
changeset 11027 | e943837b17ad |
parent 10408 | 5c604e8ec2e1 |
child 11028 | abeb2185bce5 |
permissions | -rw-r--r-- |
10120 | 1 |
.. include:: replace.txt |
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
2 |
.. highlight:: cpp |
10120 | 3 |
|
4 |
.. heading hierarchy: |
|
5 |
************* Section (#.#) |
|
6 |
============= Subsection (#.#.#) |
|
7 |
############# Paragraph (no number) |
|
8 |
~~~~~~~~~~~~~ Sub-paragraph (no number) |
|
9 |
||
10 |
Data Collection Helpers |
|
11 |
*********************** |
|
12 |
||
13 |
The full flexibility of the data collection framework is provided by |
|
14 |
the interconnection of probes, collectors, and aggregators. Performing |
|
15 |
all of these interconnections leads to many configuration statements |
|
16 |
in user programs. For ease of use, some of the most common operations |
|
17 |
can be combined and encapsulated in helper functions. In addition, |
|
18 |
some statements involving |ns3| trace sources do not have Python |
|
19 |
bindings, due to limitations in the bindings. |
|
20 |
||
21 |
Data Collection Helpers Overview |
|
22 |
================================ |
|
23 |
||
24 |
In this section, we provide an overview of some helper classes that |
|
25 |
have been created to ease the configuration of the data collection |
|
26 |
framework for some common use cases. The helpers allow users to form |
|
27 |
common operations with only a few statements in their C++ or Python |
|
28 |
programs. But, this ease of use comes at the cost of significantly |
|
29 |
less flexibility than low-level configuration can provide, and the |
|
30 |
need to explicitly code support for new Probe types into the helpers |
|
31 |
(to work around an issue described below). |
|
32 |
||
33 |
The emphasis on the current helpers is to marshal data out of |ns3| |
|
34 |
trace sources into gnuplot plots or text files, without a high degree |
|
35 |
of output customization or statistical processing (initially). Also, |
|
36 |
the use is constrained to the available probe types in |ns3|. Later |
|
37 |
sections of this documentation will go into more detail about creating |
|
38 |
new Probe types, as well as details about hooking together Probes, |
|
39 |
Collectors, and Aggregators in custom arrangements. |
|
40 |
||
41 |
To date, two Data Collection helpers have been implemented: |
|
42 |
||
43 |
- GnuplotHelper |
|
44 |
- FileHelper |
|
45 |
||
46 |
GnuplotHelper |
|
47 |
============= |
|
48 |
||
49 |
The GnuplotHelper is a helper class for producing output files used to |
|
50 |
make gnuplots. The overall goal is to provide the ability for users |
|
51 |
to quickly make plots from data exported in |ns3| trace sources. By |
|
52 |
default, a minimal amount of data transformation is performed; the |
|
53 |
objective is to generate plots with as few (default) configuration |
|
54 |
statements as possible. |
|
55 |
||
56 |
GnuplotHelper Overview |
|
57 |
###################### |
|
58 |
||
59 |
The GnuplotHelper will create 3 different files at the end of the |
|
60 |
simulation: |
|
61 |
||
62 |
- A space separated gnuplot data file |
|
63 |
- A gnuplot control file |
|
64 |
- A shell script to generate the gnuplot |
|
65 |
||
66 |
There are two configuration statements that are needed to produce plots. |
|
67 |
The first statement configures the plot (filename, title, legends, and |
|
68 |
output type, where the output type defaults to PNG if unspecified): |
|
69 |
||
70 |
:: |
|
71 |
||
72 |
void ConfigurePlot (const std::string &outputFileNameWithoutExtension, |
|
73 |
const std::string &title, |
|
74 |
const std::string &xLegend, |
|
75 |
const std::string &yLegend, |
|
76 |
const std::string &terminalType = ".png"); |
|
77 |
||
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
78 |
The second statement hooks the trace source of interest: |
10120 | 79 |
|
80 |
:: |
|
81 |
||
82 |
void PlotProbe (const std::string &typeId, |
|
83 |
const std::string &path, |
|
84 |
const std::string &probeTraceSource, |
|
85 |
const std::string &title); |
|
86 |
||
87 |
The arguments are as follows: |
|
88 |
||
89 |
* typeId: The |ns3| TypeId of the Probe |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
90 |
* path: The path in the |ns3| configuration namespace to one or more trace sources |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
91 |
* probeTraceSource: Which output of the probe (itself a trace source) should be plotted |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
92 |
* title: The title to associate with the dataset(s) (in the gnuplot legend) |
10120 | 93 |
|
94 |
A variant on the PlotProbe above is to specify a fifth optional argument |
|
95 |
that controls where in the plot the key (legend) is placed. |
|
96 |
||
97 |
A fully worked example (from ``seventh.cc``) is shown below: |
|
98 |
||
99 |
:: |
|
100 |
||
101 |
// Create the gnuplot helper. |
|
102 |
GnuplotHelper plotHelper; |
|
103 |
||
104 |
// Configure the plot. |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
105 |
// Configure the plot. The first argument is the file name prefix |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
106 |
// for the output files generated. The second, third, and fourth |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
107 |
// arguments are, respectively, the plot title, x-axis, and y-axis labels |
10120 | 108 |
plotHelper.ConfigurePlot ("seventh-packet-byte-count", |
109 |
"Packet Byte Count vs. Time", |
|
110 |
"Time (Seconds)", |
|
111 |
"Packet Byte Count", |
|
112 |
"png"); |
|
113 |
||
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
114 |
// Specify the probe type, trace source path (in configuration namespace), and |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
115 |
// probe output trace source ("OutputBytes") to plot. The fourth argument |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
116 |
// specifies the name of the data series label on the plot. The last |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
117 |
// argument formats the plot by specifying where the key should be placed. |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
118 |
plotHelper.PlotProbe (probeType, |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
119 |
tracePath, |
10120 | 120 |
"OutputBytes", |
121 |
"Packet Byte Count", |
|
122 |
GnuplotAggregator::KEY_BELOW); |
|
123 |
||
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
124 |
In this example, the ``probeType`` and ``tracePath`` are as follows (for IPv4): |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
125 |
|
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
126 |
:: |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
127 |
|
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
128 |
probeType = "ns3::Ipv4PacketProbe"; |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
129 |
tracePath = "/NodeList/*/$ns3::Ipv4L3Protocol/Tx"; |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
130 |
|
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
131 |
The probeType is a key parameter for this helper to work. This TypeId |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
132 |
must be registered in the system, and the signature on the Probe's trace |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
133 |
sink must match that of the trace source it is being hooked to. Probe |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
134 |
types are pre-defined for a number of data types corresponding to |ns3| |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
135 |
traced values, and for a few other trace source signatures such as the |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
136 |
'Tx' trace source of ``ns3::Ipv4L3Protocol`` class. |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
137 |
|
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
138 |
Note that the trace source path specified may contain wildcards. |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
139 |
In this case, multiple |
10120 | 140 |
datasets are plotted on one plot; one for each matched path. |
141 |
||
142 |
The main output produced will be three files: |
|
143 |
||
144 |
:: |
|
145 |
||
146 |
seventh-packet-byte-count.dat |
|
147 |
seventh-packet-byte-count.plt |
|
148 |
seventh-packet-byte-count.sh |
|
149 |
||
150 |
At this point, users can either hand edit the .plt file for further |
|
151 |
customizations, or just run it through gnuplot. Running |
|
152 |
`sh seventh-packet-byte-count.sh` simply runs the plot through gnuplot, |
|
153 |
as shown below. |
|
154 |
||
155 |
.. _seventh-packet-byte-count: |
|
156 |
||
157 |
.. figure:: figures/seventh-packet-byte-count.png |
|
158 |
||
159 |
2-D Gnuplot Created by seventh.cc Example. |
|
160 |
||
161 |
It can be seen that the key elements (legend, title, legend placement, |
|
162 |
xlabel, ylabel, and path for the data) are all placed on the plot. |
|
163 |
Since there were two matches to the configuration path provided, the |
|
164 |
two data series are shown: |
|
165 |
||
166 |
* Packet Byte Count-0 corresponds to /NodeList/0/$ns3::Ipv4L3Protocol/Tx |
|
167 |
* Packet Byte Count-1 corresponds to /NodeList/1/$ns3::Ipv4L3Protocol/Tx |
|
168 |
||
169 |
GnuplotHelper ConfigurePlot |
|
170 |
########################### |
|
171 |
||
172 |
The GnuplotHelper's ``ConfigurePlot()`` function can be used |
|
173 |
to configure plots. |
|
174 |
||
175 |
It has the following prototype: |
|
176 |
||
177 |
:: |
|
178 |
||
179 |
void ConfigurePlot (const std::string &outputFileNameWithoutExtension, |
|
180 |
const std::string &title, |
|
181 |
const std::string &xLegend, |
|
182 |
const std::string &yLegend, |
|
183 |
const std::string &terminalType = ".png"); |
|
184 |
||
185 |
It has the following arguments: |
|
186 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
187 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
188 |
| Argument | Description | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
189 |
+================================+==============================+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
190 |
| outputFileNameWithoutExtension | Name of gnuplot related files| |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
191 |
| | to write with no extension. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
192 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
193 |
| title | Plot title string to use for | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
194 |
| | this plot. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
195 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
196 |
| xLegend | The legend for the x | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
197 |
| | horizontal axis. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
198 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
199 |
| yLegend | The legend for the y | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
200 |
| | vertical axis. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
201 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
202 |
| terminalType | Terminal type setting string | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
203 |
| | for output. The default | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
204 |
| | terminal type is "png". | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
205 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
206 |
|
10120 | 207 |
The GnuplotHelper's ``ConfigurePlot()`` function configures plot |
208 |
related parameters for this gnuplot helper so |
|
209 |
that it will create a space separated gnuplot data file named |
|
210 |
outputFileNameWithoutExtension + ".dat", a gnuplot control file |
|
211 |
named outputFileNameWithoutExtension + ".plt", and a shell script |
|
212 |
to generate the gnuplot named outputFileNameWithoutExtension + |
|
213 |
".sh". |
|
214 |
||
215 |
An example of how to use this function can be seen in the |
|
216 |
``seventh.cc`` code described above where it was used as follows: |
|
217 |
||
218 |
:: |
|
219 |
||
220 |
plotHelper.ConfigurePlot ("seventh-packet-byte-count", |
|
221 |
"Packet Byte Count vs. Time", |
|
222 |
"Time (Seconds)", |
|
223 |
"Packet Byte Count", |
|
224 |
"png"); |
|
225 |
||
226 |
GnuplotHelper PlotProbe |
|
227 |
####################### |
|
228 |
||
229 |
The GnuplotHelper's ``PlotProbe()`` function can be used |
|
230 |
to plot values generated by probes. |
|
231 |
||
232 |
It has the following prototype: |
|
233 |
||
234 |
:: |
|
235 |
||
236 |
void PlotProbe (const std::string &typeId, |
|
237 |
const std::string &path, |
|
238 |
const std::string &probeTraceSource, |
|
239 |
const std::string &title, |
|
240 |
enum GnuplotAggregator::KeyLocation keyLocation = GnuplotAggregator::KEY_INSIDE); |
|
241 |
||
242 |
It has the following arguments: |
|
243 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
244 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
245 |
| Argument | Description | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
246 |
+==================+==============================+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
247 |
| typeId | The type ID for the probe | |
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
248 |
| | created by this helper. | |
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
249 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
250 |
| path | Config path to access the | |
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
251 |
| | trace source. | |
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
252 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
253 |
| probeTraceSource | The probe trace source to | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
254 |
| | access. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
255 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
256 |
| title | The title to be associated | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
257 |
| | to this dataset | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
258 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
259 |
| keyLocation | The location of the key in | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
260 |
| | the plot. The default | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
261 |
| | location is inside. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
262 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
263 |
|
10120 | 264 |
The GnuplotHelper's ``PlotProbe()`` function |
265 |
plots a dataset generated by hooking the |ns3| trace source with a |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
266 |
probe created by the helper, and then plotting the values from the |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
267 |
probeTraceSource. |
10120 | 268 |
The dataset will have the provided title, and will consist of |
269 |
the 'newValue' at each timestamp. |
|
270 |
||
271 |
If the config path has more than one match in the system because |
|
272 |
there is a wildcard, then one dataset for each match will |
|
273 |
be plotted. The dataset titles will be suffixed with the matched |
|
274 |
characters for each of the wildcards in the config path, |
|
275 |
separated by spaces. For example, if the proposed dataset title |
|
276 |
is the string "bytes", and there are two wildcards in the path, |
|
277 |
then dataset titles like "bytes-0 0" or "bytes-12 9" will be |
|
278 |
possible as labels for the datasets that are plotted. |
|
279 |
||
280 |
An example of how to use this function can be seen in the |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
281 |
``seventh.cc`` code described above where it was used (with |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
282 |
variable substitution) as follows: |
10120 | 283 |
|
284 |
:: |
|
285 |
||
286 |
plotHelper.PlotProbe ("ns3::Ipv4PacketProbe", |
|
287 |
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx", |
|
288 |
"OutputBytes", |
|
289 |
"Packet Byte Count", |
|
290 |
GnuplotAggregator::KEY_BELOW); |
|
291 |
||
292 |
Other Examples |
|
293 |
############## |
|
294 |
||
295 |
Gnuplot Helper Example |
|
296 |
~~~~~~~~~~~~~~~~~~~~~~ |
|
297 |
||
298 |
A slightly simpler example than the ``seventh.cc`` example can be |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
299 |
found in ``src/stats/examples/gnuplot-helper-example.cc``. The |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
300 |
following 2-D gnuplot was created using the example. |
10120 | 301 |
|
302 |
.. _gnuplot-helper-example: |
|
303 |
||
304 |
.. figure:: figures/gnuplot-helper-example.png |
|
305 |
||
306 |
2-D Gnuplot Created by gnuplot-helper-example.cc Example. |
|
307 |
||
308 |
In this example, there is an Emitter object that increments |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
309 |
its counter according to a Poisson process and then emits the counter's |
10120 | 310 |
value as a trace source. |
311 |
||
312 |
:: |
|
313 |
||
314 |
Ptr<Emitter> emitter = CreateObject<Emitter> (); |
|
315 |
Names::Add ("/Names/Emitter", emitter); |
|
316 |
||
317 |
Note that because there are no wildcards in the path |
|
318 |
used below, only 1 datastream was drawn in the plot. |
|
319 |
This single datastream in the plot is simply labeled |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
320 |
"Emitter Count", with no extra suffixes like one would |
10120 | 321 |
see if there were wildcards in the path. |
322 |
||
323 |
:: |
|
324 |
||
325 |
// Create the gnuplot helper. |
|
326 |
GnuplotHelper plotHelper; |
|
327 |
||
328 |
// Configure the plot. |
|
329 |
plotHelper.ConfigurePlot ("gnuplot-helper-example", |
|
330 |
"Emitter Counts vs. Time", |
|
331 |
"Time (Seconds)", |
|
332 |
"Emitter Count", |
|
333 |
"png"); |
|
334 |
||
335 |
// Plot the values generated by the probe. The path that we provide |
|
336 |
// helps to disambiguate the source of the trace. |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
337 |
plotHelper.PlotProbe ("ns3::Uinteger32Probe", |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
338 |
"/Names/Emitter/Counter", |
10120 | 339 |
"Output", |
340 |
"Emitter Count", |
|
341 |
GnuplotAggregator::KEY_INSIDE); |
|
342 |
||
343 |
FileHelper |
|
344 |
========== |
|
345 |
||
346 |
The FileHelper is a helper class used to put data values into a file. |
|
347 |
The overall goal is to provide the ability for users |
|
348 |
to quickly make formatted text files from data exported in |ns3| |
|
349 |
trace sources. By default, a minimal amount of data transformation is |
|
350 |
performed; the objective is to generate files with as few (default) |
|
351 |
configuration statements as possible. |
|
352 |
||
353 |
FileHelper Overview |
|
354 |
################### |
|
355 |
||
356 |
The FileHelper will create 1 or more text files at the end of the |
|
357 |
simulation. |
|
358 |
||
359 |
The FileHelper can create 4 different types of text files: |
|
360 |
||
361 |
- Formatted |
|
362 |
- Space separated (the default) |
|
363 |
- Comma separated |
|
364 |
- Tab separated |
|
365 |
||
366 |
Formatted files use C-style format strings and the sprintf() function |
|
367 |
to print their values in the file being written. |
|
368 |
||
369 |
The following text file with 2 columns of formatted values named |
|
370 |
``seventh-packet-byte-count-0.txt`` was created using more new |
|
371 |
code that was added to the original |ns3| Tutorial example's code. |
|
372 |
Only the first 10 lines of this file are shown here for brevity. |
|
373 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
374 |
.. sourcecode:: text |
10120 | 375 |
|
376 |
Time (Seconds) = 1.000e+00 Packet Byte Count = 40 |
|
377 |
Time (Seconds) = 1.004e+00 Packet Byte Count = 40 |
|
378 |
Time (Seconds) = 1.004e+00 Packet Byte Count = 576 |
|
379 |
Time (Seconds) = 1.009e+00 Packet Byte Count = 576 |
|
380 |
Time (Seconds) = 1.009e+00 Packet Byte Count = 576 |
|
381 |
Time (Seconds) = 1.015e+00 Packet Byte Count = 512 |
|
382 |
Time (Seconds) = 1.017e+00 Packet Byte Count = 576 |
|
383 |
Time (Seconds) = 1.017e+00 Packet Byte Count = 544 |
|
384 |
Time (Seconds) = 1.025e+00 Packet Byte Count = 576 |
|
385 |
Time (Seconds) = 1.025e+00 Packet Byte Count = 544 |
|
386 |
||
387 |
... |
|
388 |
||
389 |
The following different text file with 2 columns of formatted |
|
390 |
values named ``seventh-packet-byte-count-1.txt`` was also |
|
391 |
created using the same new code that was added to the original |
|
392 |
|ns3| Tutorial example's code. Only the first 10 lines of this |
|
393 |
file are shown here for brevity. |
|
394 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
395 |
.. sourcecode:: text |
10120 | 396 |
|
397 |
Time (Seconds) = 1.002e+00 Packet Byte Count = 40 |
|
398 |
Time (Seconds) = 1.007e+00 Packet Byte Count = 40 |
|
399 |
Time (Seconds) = 1.013e+00 Packet Byte Count = 40 |
|
400 |
Time (Seconds) = 1.020e+00 Packet Byte Count = 40 |
|
401 |
Time (Seconds) = 1.028e+00 Packet Byte Count = 40 |
|
402 |
Time (Seconds) = 1.036e+00 Packet Byte Count = 40 |
|
403 |
Time (Seconds) = 1.045e+00 Packet Byte Count = 40 |
|
404 |
Time (Seconds) = 1.053e+00 Packet Byte Count = 40 |
|
405 |
Time (Seconds) = 1.061e+00 Packet Byte Count = 40 |
|
406 |
Time (Seconds) = 1.069e+00 Packet Byte Count = 40 |
|
407 |
||
408 |
... |
|
409 |
||
410 |
The new code that was added to produce the two text files is below. |
|
411 |
More details about this API will be covered in a later section. |
|
412 |
||
413 |
Note that because there were 2 matches for the wildcard in the path, |
|
414 |
2 separate text files were created. The first text file, which is |
|
415 |
named "seventh-packet-byte-count-0.txt", corresponds to the |
|
416 |
wildcard match with the "*" replaced with "0". The second text file, |
|
417 |
which is named "seventh-packet-byte-count-1.txt", corresponds to |
|
418 |
the wildcard match with the "*" replaced with "1". Also, note that |
|
419 |
the function call to ``WriteProbe()`` will give an error message if |
|
420 |
there are no matches for a path that contains wildcards. |
|
421 |
||
422 |
:: |
|
423 |
||
424 |
// Create the file helper. |
|
425 |
FileHelper fileHelper; |
|
426 |
||
427 |
// Configure the file to be written. |
|
428 |
fileHelper.ConfigureFile ("seventh-packet-byte-count", |
|
429 |
FileAggregator::FORMATTED); |
|
430 |
||
431 |
// Set the labels for this formatted output file. |
|
432 |
fileHelper.Set2dFormat ("Time (Seconds) = %.3e\tPacket Byte Count = %.0f"); |
|
433 |
||
434 |
// Write the values generated by the probe. |
|
435 |
fileHelper.WriteProbe ("ns3::Ipv4PacketProbe", |
|
436 |
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx", |
|
437 |
"OutputBytes"); |
|
438 |
||
439 |
FileHelper ConfigureFile |
|
440 |
######################## |
|
441 |
||
442 |
The FileHelper's ``ConfigureFile()`` function can be used |
|
443 |
to configure text files. |
|
444 |
||
445 |
It has the following prototype: |
|
446 |
||
447 |
:: |
|
448 |
||
449 |
void ConfigureFile (const std::string &outputFileNameWithoutExtension, |
|
450 |
enum FileAggregator::FileType fileType = FileAggregator::SPACE_SEPARATED); |
|
451 |
||
452 |
It has the following arguments: |
|
453 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
454 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
455 |
| Argument | Description | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
456 |
+================================+==============================+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
457 |
| outputFileNameWithoutExtension | Name of output file to write | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
458 |
| | with no extension. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
459 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
460 |
| fileType | Type of file to write. The | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
461 |
| | default type of file is space| |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
462 |
| | separated. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
463 |
+--------------------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
464 |
|
10120 | 465 |
The FileHelper's ``ConfigureFile()`` function configures text file |
466 |
related parameters for the file helper so that |
|
467 |
it will create a file named outputFileNameWithoutExtension plus |
|
468 |
possible extra information from wildcard matches plus ".txt" with |
|
469 |
values printed as specified by fileType. The default file type |
|
470 |
is space-separated. |
|
471 |
||
472 |
An example of how to use this function can be seen in the |
|
473 |
``seventh.cc`` code described above where it was used as follows: |
|
474 |
||
475 |
:: |
|
476 |
||
477 |
fileHelper.ConfigureFile ("seventh-packet-byte-count", |
|
478 |
FileAggregator::FORMATTED); |
|
479 |
||
480 |
FileHelper WriteProbe |
|
481 |
##################### |
|
482 |
||
483 |
The FileHelper's ``WriteProbe()`` function can be used |
|
484 |
to write values generated by probes to text files. |
|
485 |
||
486 |
It has the following prototype: |
|
487 |
||
488 |
:: |
|
489 |
||
490 |
void WriteProbe (const std::string &typeId, |
|
491 |
const std::string &path, |
|
492 |
const std::string &probeTraceSource); |
|
493 |
||
494 |
It has the following arguments: |
|
495 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
496 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
497 |
| Argument | Description | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
498 |
+==================+==============================+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
499 |
| typeId | The type ID for the probe | |
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
500 |
| | to be created. | |
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
501 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
502 |
| path | Config path to access the | |
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
503 |
| | trace source. | |
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
504 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
505 |
| probeTraceSource | The probe trace source to | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
506 |
| | access. | |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
507 |
+------------------+------------------------------+ |
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
508 |
|
10120 | 509 |
The FileHelper's ``WriteProbe()`` function |
510 |
creates output text files generated by hooking the ns-3 trace source |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
511 |
with a probe created by the helper, and then writing the values from the |
10120 | 512 |
probeTraceSource. The output file names will have the text stored |
513 |
in the member variable m_outputFileNameWithoutExtension plus ".txt", |
|
514 |
and will consist of the 'newValue' at each timestamp. |
|
515 |
||
516 |
If the config path has more than one match in the system because |
|
517 |
there is a wildcard, then one output file for each match |
|
518 |
will be created. The output file names will contain the text in |
|
519 |
m_outputFileNameWithoutExtension plus the matched characters for |
|
520 |
each of the wildcards in the config path, separated by dashes, |
|
521 |
plus ".txt". For example, if the value in |
|
522 |
m_outputFileNameWithoutExtension is the string |
|
523 |
"packet-byte-count", and there are two wildcards in the path, |
|
524 |
then output file names like "packet-byte-count-0-0.txt" or |
|
525 |
"packet-byte-count-12-9.txt" will be possible as names for the |
|
526 |
files that will be created. |
|
527 |
||
528 |
An example of how to use this function can be seen in the |
|
529 |
``seventh.cc`` code described above where it was used as follows: |
|
530 |
||
531 |
:: |
|
532 |
||
533 |
fileHelper.WriteProbe ("ns3::Ipv4PacketProbe", |
|
534 |
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx", |
|
535 |
"OutputBytes"); |
|
536 |
||
537 |
Other Examples |
|
538 |
############## |
|
539 |
||
540 |
File Helper Example |
|
541 |
~~~~~~~~~~~~~~~~~~~ |
|
542 |
||
543 |
A slightly simpler example than the ``seventh.cc`` example can be |
|
544 |
found in ``src/stats/examples/file-helper-example.cc``. |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
545 |
This example only uses the FileHelper. |
10120 | 546 |
|
547 |
The following text file with 2 columns of formatted values named |
|
548 |
``file-helper-example.txt`` was created using the example. |
|
549 |
Only the first 10 lines of this file are shown here for brevity. |
|
550 |
||
10408
5c604e8ec2e1
Models source highlighting
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10120
diff
changeset
|
551 |
.. sourcecode:: text |
10120 | 552 |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
553 |
Time (Seconds) = 0.203 Count = 1 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
554 |
Time (Seconds) = 0.702 Count = 2 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
555 |
Time (Seconds) = 1.404 Count = 3 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
556 |
Time (Seconds) = 2.368 Count = 4 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
557 |
Time (Seconds) = 3.364 Count = 5 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
558 |
Time (Seconds) = 3.579 Count = 6 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
559 |
Time (Seconds) = 5.873 Count = 7 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
560 |
Time (Seconds) = 6.410 Count = 8 |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
561 |
Time (Seconds) = 6.472 Count = 9 |
10120 | 562 |
... |
563 |
||
564 |
In this example, there is an Emitter object that increments |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
565 |
its counter according to a Poisson process and then emits the counter's |
10120 | 566 |
value as a trace source. |
567 |
||
568 |
:: |
|
569 |
||
570 |
Ptr<Emitter> emitter = CreateObject<Emitter> (); |
|
571 |
Names::Add ("/Names/Emitter", emitter); |
|
572 |
||
573 |
Note that because there are no wildcards in the path |
|
574 |
used below, only 1 text file was created. |
|
575 |
This single text file is simply named |
|
576 |
"file-helper-example.txt", with no extra suffixes like |
|
577 |
you would see if there were wildcards in the path. |
|
578 |
||
579 |
:: |
|
580 |
||
581 |
// Create the file helper. |
|
582 |
FileHelper fileHelper; |
|
583 |
||
584 |
// Configure the file to be written. |
|
585 |
fileHelper.ConfigureFile ("file-helper-example", |
|
586 |
FileAggregator::FORMATTED); |
|
587 |
||
588 |
// Set the labels for this formatted output file. |
|
589 |
fileHelper.Set2dFormat ("Time (Seconds) = %.3e\tCount = %.0f"); |
|
590 |
||
591 |
// Write the values generated by the probe. The path that we |
|
592 |
// provide helps to disambiguate the source of the trace. |
|
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
593 |
fileHelper.WriteProbe ("ns3::Uinteger32Probe", |
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
594 |
"/Names/Emitter/Counter", |
10120 | 595 |
"Output"); |
596 |
||
597 |
Scope and Limitations |
|
598 |
===================== |
|
599 |
||
600 |
Currently, only these Probes have been implemented and connected |
|
601 |
to the GnuplotHelper and to the FileHelper: |
|
602 |
||
603 |
- BooleanProbe |
|
604 |
- DoubleProbe |
|
605 |
- Uinteger8Probe |
|
606 |
- Uinteger16Probe |
|
607 |
- Uinteger32Probe |
|
608 |
- PacketProbe |
|
609 |
- ApplicationPacketProbe |
|
610 |
- Ipv4PacketProbe |
|
611 |
||
11027
e943837b17ad
bug 1997: fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
Tom Henderson <tomh@tomh.org>
parents:
10408
diff
changeset
|
612 |
These Probes, therefore, are the only TypeIds available to be used |
10120 | 613 |
in ``PlotProbe()`` and ``WriteProbe()``. |
614 |
||
615 |
In the next few sections, we cover each of the fundamental object |
|
616 |
types (Probe, Collector, and Aggregator) in more detail, and show |
|
617 |
how they can be connected together using lower-level API. |