Update docuentation for genchart

Change-Id: Idca3e09f93fd3a0e221044f51e1551127ccd9ef6
This commit is contained in:
ahothan 2015-04-28 00:19:44 -07:00
parent 07c0195c2c
commit 0db3502c03
4 changed files with 37 additions and 2 deletions

View File

@ -2,7 +2,7 @@
Overview Overview
======== ========
VMTP is a data path performance tool for OpenStack clouds. VMTP is a data path performance measurement tool for OpenStack clouds.
Features Features
@ -92,7 +92,11 @@ VMTP will display the results to stdout with the following data:
| | | average, min, max and stddev round trip time in ms | | | average, min, max and stddev round trip time in ms
Detailed results can also be stored in a file in JSON format using the *--json* command line argument and/or stored directly into a MongoDB server. See :download:`here <_static/example.json>` for an example JSON file that is generated by VMTP. Detailed results can also be stored in a file in JSON format using the *--json* command line argument and/or stored directly into a MongoDB server. See :download:`here <_static/example.json>` for an example JSON file that is generated by VMTP.
The packaged python tool genchart.py can be used to generate from the JSON result files column charts in HTML format visible from any browser.
Example of column chart generated by genchart.py:
.. image:: images/genchart-sample.png
Limitations and Caveats Limitations and Caveats
----------------------- -----------------------

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@ -275,3 +275,34 @@ It is possible to use VMTP to measure throughput for IPv6
Set ipv6_mode to slaac, dhcpv6-stateful or dhcpv6-stateless. If SLAAC or DHCPv6 stateless is enabled make sure to have radvd packaged in as part of openstack install. For DHCPv6 stateful you need dnsmasq version >= 2.68. The test creates 2 networks and creates 1 IPv4 and 1 IPv6 subnet inside each of these networks. The subnets are created based on the IPv6 mode that you set in the configuration file. The Floating IP result case is skipped for IPv6 since there is no concept of a floating ip with IPv6. Set ipv6_mode to slaac, dhcpv6-stateful or dhcpv6-stateless. If SLAAC or DHCPv6 stateless is enabled make sure to have radvd packaged in as part of openstack install. For DHCPv6 stateful you need dnsmasq version >= 2.68. The test creates 2 networks and creates 1 IPv4 and 1 IPv6 subnet inside each of these networks. The subnets are created based on the IPv6 mode that you set in the configuration file. The Floating IP result case is skipped for IPv6 since there is no concept of a floating ip with IPv6.
Generating charts from JSON results
-----------------------------------
.. code::
usage: genchart.py [-h] [-c <file>] [-b] [-p <all|tcp|udp>] [-v]
<file> [<file> ...]
VMTP Chart Generator V0.0.1
positional arguments:
<file> vmtp json result file
optional arguments:
-h, --help show this help message and exit
-c <file>, --chart <file>
create and save chart in html file
-b, --browser display (-c) chart in the browser
-p <all|tcp|udp>, --protocol <all|tcp|udp>
select protocols:all, tcp, udp
-v, --version print version of this script and exit
Examples of use:
Generate charts from the JSON results file "tb172.json", store resulting html to "tb172.html" and open that file in the browser:
.. code::
python genchart.py --chart tb172.html --browser tb172.json
Same but only show UDP numbers:
.. code::
python genchart.py --chart tb172.html --browser --protocol udp tb172.json

View File

@ -216,7 +216,7 @@ class GoogleChartsBarChart:
def plot(self, dest_file): def plot(self, dest_file):
with open(dest_file, 'w') as dest: with open(dest_file, 'w') as dest:
print('Plotting bar chart to ' + dest_file + '...') print('Generating chart drawing code to ' + dest_file + '...')
self._plot(dest) self._plot(dest)
def gen_chart(files, chart_dest, browser, protocols=''): def gen_chart(files, chart_dest, browser, protocols=''):