/**@page mypage4 Analyzing results | |
* | |
* Analyzing the results from pktlogger can be done in many different ways. The following sections show some of | |
* the methods used. | |
* | |
* @section mysection4_1 Excel graphing of CSV files | |
* | |
* The simplest method to analyse shorter test runs is to use Microsoft Excel (or another spreadsheet program) | |
* to quickly analyse rows/columns of data, and graph trends in the data. | |
* | |
* Each file generated from pktlogger is stored in two forms. The first is an incremental CSV (comma separated | |
* value) format. The second is a raw data CSV format. | |
* | |
* The incremental CSV format file is a post-processed version of the raw data file, and contains the difference | |
* from one sample of data to the next. The raw CSV file format contains the raw data as received by the data source. | |
* For example, see the following image showing some fields from both the raw and incremental CSV files for | |
* comparison. | |
* | |
* \anchor raw-processed-csv | |
* \image latex raw-processed-csv.png "Raw CSV (left) and processed CSV (right)" width=\textwidth | |
* | |
* \note For the processed CSV file, the first row of data will generally contain a large value. For plotting and | |
* analysing data, this row should be ommitted to prevent skewing of data. | |
* | |
* \note Even in the incremental CSV format, some fields are kept as raw values. For example: tx_channel is constant | |
* at it is not an incremental stat. | |
* | |
* An example of a graph created in excel is shown in the following figure. | |
* | |
* \anchor sys-temp-excel-graph | |
* \image latex sys-temp-graph-excel.png "Example graph of system temperature" width=\textwidth | |
* | |
* The different fields within the CSV file are defined in section [ref]. | |
* | |
* @subsection mysection_4_1_1 CSV file formats | |
* | |
* This section details the format of the various pktlogger CSV files generated. | |
* | |
* @subsubsection mysection_4_1_2 Stat logger file format | |
* | |
* The format of the CSV file for the stat logger (the 'traditional' pktlogger) is as per the following diagram: | |
* | |
* \anchor packetlogger-main-format | |
* \image latex packetlogger-main-format.png "Main packetlogger CSV format" width=\textwidth | |
* | |
* The following table details where to find additional documentation for the different parts of the CSV file. | |
* | |
* <TABLE> | |
* <TR> <TH>Section name</TH><TH>Description</TH><TH>C structure</TH></TR> | |
* <TR> <TD>Common header</TD><TD>Shared header across some different pktlogger formats.</TD> | |
* <TD><c>struct qdrv_netdebug_hdr</c></TD></TR> | |
* <TR> <TD>stats_muc_rx</TD><TD>Statistics on the RX path from the MuC.</TD> | |
* <TD><c>struct muc_rx_stats</c></TD></TR> | |
* <TR> <TD>rates_muc_rx</TD><TD>RX MCS packet counts from the MuC.</TD> | |
* <TD><c>struct muc_rx_rates</c></TD></TR> | |
* <TR> <TD>stats_muc_tx</TD><TD>Statistics on the TX path from the MuC.</TD> | |
* <TD><c>struct muc_tx_stats</c></TD></TR> | |
* <TR> <TD>stats_qdisc</TD><TD>Statistics from the LHost QDisc (queue discipline).</TD> | |
* <TD><c>struct qdrv_qdisc_stats</c></TD></TR> | |
* <TR> <TD>stats_emac</TD><TD>Statistics from the EMAC (Ethernet).</TD> | |
* <TD><c>struct qdrv_emac_stats</c></TD></TR> | |
* <TR> <TD>stats_wlan_rx</TD><TD>Statistics from the WLAN driver for the RX path.</TD> | |
* <TD><c>struct qdrv_wlan_rx_stats</c></TD></TR> | |
* <TR> <TD>stats_wlan_tx</TD><TD>Statistics from the WLAN driver for the TX path.</TD> | |
* <TD><c>struct qdrv_wlan_tx_stats</c></TD></TR> | |
* <TR> <TD>stats_wlan_sm</TD><TD>Statistics from the WLAN 802.11 state machine.</TD> | |
* <TD><c>struct qdrv_wlan_sm_stats</c></TD></TR> | |
* <TR> <TD>stats_phy_rx</TD><TD>Statistics from the PHY RX.</TD> | |
* <TD><c>struct qtn_rx_stats</c></TD></TR> | |
* <TR> <TD>stats_phy_tx</TD><TD>Statistics from the PHY TX.</TD> | |
* <TD><c>struct qtn_tx_stats</c></TD></TR> | |
* <TR> <TD>stats_mem</TD><TD>Statistics from the LHost memory subsystem.</TD> | |
* <TD><c>struct qdrv_mem_stats</c></TD></TR> | |
* <TR> <TD>stats_evm</TD><TD>Statistics from the MuC EVM calculations.</TD> | |
* <TD><c>struct qdrv_rx_evm_array</c></TD></TR> | |
* <TR> <TD>stats_skb_qdrv</TD><TD>Statistics the QDRV for Linux skb usage.</TD> | |
* <TD><c>struct qtn_skb_recycle_stats</c></TD></TR> | |
* <TR> <TD>stats_skb_kfree</TD><TD>Statistics the QDRV for Linux skb usage.</TD> | |
* <TD><c>struct qtn_skb_recycle_stats</c></TD></TR> | |
* </TABLE> | |
* | |
* @subsubsection mysection_4_1_3 Rate logger file format | |
* | |
* The format of the CSV file for the rate logger is as per the following diagram: | |
* | |
* \anchor ratelogger-csv-format | |
* \image latex ratelogger-csv-format.png "Ratelogger CSV format" width=\textwidth | |
* | |
* @section mysection4_2 Packetlogger parser | |
* | |
* For each test run performed, the pktlogger parser script can be run across the resultant pktlogger logs to | |
* generate graphs, and perform rudimentary analysis of the results. | |
*/ |