Changes between Initial Version and Version 1 of 802.11/wlan_exp/examples/txrx_log_analysis


Ignore:
Timestamp:
Apr 13, 2014, 3:06:15 PM (10 years ago)
Author:
welsh
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 802.11/wlan_exp/examples/txrx_log_analysis

    v1 v1  
     1{{{#!comment
     2[[Include(wiki:802.11/beta-note)]]
     3}}}
     4
     5[[TracNav(802.11/TOC)]]
     6
     7= 802.11 Reference Design:  TX/RX Log Process Examples =
     8
     9This set of examples of the Experiments Framework explores the information contained in the HDF5 log files.  The first example, log_process_summary.py, will show at a quick summary of the the experiment, packets per rate for both Tx and Rx, Tx MPDU packet counts and number of bytes, and finally Rx packet counts and number of bytes.  The second example, log_process_details.py, goes a bit deeper and looks at the number of re-transmissions as well as the average time it took to transmit a packet.  Finally, the last example, log_process_throughput_vs_time.py, utilizes the [http://pandas.pydata.org/ pandas framework] to plot the throughput vs time of the AP and station.
     10
     11By default these scripts will use [wiki:../../sample_data sample data] but generally you can override this behavior with a command line argument or by modifying the *LOGFILE variable in the script.
     12
     13These examples demonstrates how to:
     14 * Extract information from an HDF5 log file
     15 * Use python packages to extract and process the log data
     16
     17
     18== Log Process Summary ==
     19
     20The flow of the log_process_summary.py script is:
     21 1. Extract the log data from the HDF5 file
     22 1. Extract the raw log index from the HDF5 file
     23 1. Filter the raw log index to extract log entry types we desire
     24 1. Convert the log data and filtered log index in to [http://www.numpy.org/ numpy] arrays.
     25 1. Extract and print information from the NODE_INFO and TIME_INFO log entries.
     26 1. Extract and process information from the TX and RX_OFDM log entries.
     27 
     28
     29To run this example:
     30 * Setup wlan_exp (see [wiki:../../GettingStarted Getting Started] for details)
     31 * Open a Python shell
     32 * CD to the '''Python_Reference/examples/txrx_log''' directory from the expanded 802.11 Reference design archive
     33 * Run {{{python log_process_summary.py}}}
     34
     35The script will run, then display its results:
     36{{{
     37Reading log file 'raw_log_dual_flow_ap.hdf5' ( 20.2 MB)
     38
     39Raw Log Index Contents:
     40         1 of Type 1
     41    18,243 of Type 10
     42    93,459 of Type 20
     43    96,068 of Type 21
     44         1 of Type 6
     45--------------------------
     46   207,772 total entries
     47
     48Filtered Log Index:
     49    18,243 of Type RX_OFDM
     50         1 of Type NODE_INFO
     51    93,459 of Type TX
     52         1 of Type TIME_INFO
     53--------------------------
     54   111,704 total entries
     55
     56Node Info:
     57  Node Type    : WLAN Exp (AP/DCF)
     58  MAC Address  : 40:d8:55:04:21:3a
     59  Serial Number: W3-a-00189
     60  WLAN Exp Ver : 0.9.0
     61
     62Experiment Started at: Fri Apr 11 15:32:13 2014
     63
     64Example 1: Pkts per Rate:
     65  Rate       Tx      Rx
     66  6 Mbps:     941       0
     67  9 Mbps:       0       0
     68 12 Mbps:       0       0
     69 18 Mbps:   92518   18243
     70 24 Mbps:       0       0
     71 36 Mbps:       0       0
     72 48 Mbps:       0       0
     73 54 Mbps:       0       0
     74
     75Example 2: Tx MPDU Counts:
     76Dest Addr                # Pkts    # Bytes      MAC Addr Type
     7740:d8:55:04:20:bc         92518  131745632      Mango WARP Hardware
     78ff:ff:ff:ff:ff:ff           941      65870      Broadcast
     79
     80Example 3: Rx Counts (including duplicates):
     81Src Addr                 # Pkts    # Bytes      MAC Addr Type
     8240:d8:55:04:20:bc         18243   25978032      Mango WARP Hardware
     83}}}
     84
     85To run the script on your own file, for example the one created by the [wiki:../txrx_log_capture two node, two flow log capture] example, then you would just need to run:
     86{{{
     87python log_process_summary.py log_files/ap_log_stats.hdf5
     88}}}
     89
     90----
     91'''Source:''' the script is included in the 802.11 Reference Design archive at '''Python_Reference/examples/txrx_log/log_process_summary.py'''.
     92----
     93
     94== Log Process Details ==
     95
     96The flow of the log_process_details.py script is:
     97 1. Extract the log data from the HDF5 file
     98 1. Extract the raw log index from the HDF5 file
     99 1. Filter the raw log index to extract log entry types we desire
     100 1. Convert the log data and filtered log index in to [http://www.numpy.org/ numpy] arrays.
     101 1. Extract and process information from the TX and TX_LOW log entries.
     102 1. Extract and process information from the TX, TX_LOW and RX_OFDM log entries.
     103 
     104
     105To run this example:
     106 * Setup wlan_exp (see [wiki:../../GettingStarted Getting Started] for details)
     107 * Open a Python shell
     108 * CD to the '''Python_Reference/examples/txrx_log''' directory from the expanded 802.11 Reference design archive
     109 * Run {{{python log_process_details.py}}}
     110
     111The script will run, then display its results:
     112{{{
     113Reading log file 'raw_log_dual_flow_ap.hdf5' ( 20.2 MB)
     114
     115Log Index Contents:
     116         1 of Type 1
     117    18,243 of Type 10
     118    93,459 of Type 20
     119    96,068 of Type 21
     120         1 of Type 6
     121--------------------------
     122   207,772 total entries
     123
     124Filtered Log Index:
     125    18,243 of Type RX_OFDM
     126    96,068 of Type TX_LOW
     127         1 of Type NODE_INFO
     128    93,459 of Type TX
     129--------------------------
     130   207,771 total entries
     131
     132
     133Example 1: Tx Information per Rate:
     134Rate                 # Tx Pkts               Avg Tx time (us)
     135            CPU High    CPU Low   Re-trans   CPU High
     136  6 Mbps:        941        941          0        431
     137  9 Mbps:          0          0          0          0
     138 12 Mbps:          0          0          0          0
     139 18 Mbps:      92518      95127       2609        961
     140 24 Mbps:          0          0          0          0
     141 36 Mbps:          0          0          0          0
     142 48 Mbps:          0          0          0          0
     143 54 Mbps:          0          0          0          0
     144
     145Total Retransmissions: 2609
     146
     147Example 2: Tx Counts (CPU High):
     148Dest Addr                # Pkts    # Bytes      MAC Addr Type
     14940:d8:55:04:20:bc         92518  131745632      Mango WARP Hardware
     150ff:ff:ff:ff:ff:ff           941      65870      Broadcast
     151
     152Example 2: Tx Counts (CPU Low - includes retransmissions):
     153Dest Addr                # Pkts    # Bytes      MAC Addr Type
     15440:d8:55:04:20:bc         95127  135460848      Mango WARP Hardware
     155ff:ff:ff:ff:ff:ff           941      65870      Broadcast
     156
     157Example 3: Rx Counts (including duplicates):
     158Dest Addr                # Pkts    # Bytes      MAC Addr Type
     15940:d8:55:04:20:bc         18243   25978032      Mango WARP Hardware
     160}}}
     161
     162To run the script on your own file, for example the one created by the [wiki:../txrx_log_capture two node, two flow log capture] example, then you would just need to run:
     163{{{
     164python log_process_details.py log_files/ap_log_stats.hdf5
     165}}}
     166
     167----
     168'''Source:''' the script is included in the 802.11 Reference Design archive at '''Python_Reference/examples/txrx_log/log_process_details.py'''.
     169----
     170
     171== Log Process Throughput vs Time ==
     172
     173The flow of the log_process_throughput_vs_time.py script is:
     174 1. Extract the log data from the HDF5 file
     175 1. Extract the raw log index from the HDF5 file
     176 1. Filter the raw log index to extract log entry types we desire
     177 1. Convert the log data and filtered log index in to [http://www.numpy.org/ numpy] arrays.
     178 1. Extract and print information from the NODE_INFO and TIME_INFO log entries.
     179 1. Extract and process information from the TX and RX_OFDM log entries.
     180 
     181
     182To run this example:
     183 * Setup wlan_exp (see [wiki:../../GettingStarted Getting Started] for details)
     184 * Open a Python shell
     185 * CD to the '''Python_Reference/examples/txrx_log''' directory from the expanded 802.11 Reference design archive
     186 * Run {{{python log_process_throughput_vs_time.py}}}
     187
     188The script will run, then display its results:
     189{{{
     190
     191}}}
     192
     193----
     194'''Source:''' the script is included in the 802.11 Reference Design archive at '''Python_Reference/examples/txrx_log/log_process_throughput_vs_time.py'''.
     195----