ethextractperf - Man Page
Name
ethextractperf
Provides a report of all the per port performance counters in a CSV format suitable for importing into a spreadsheet or parsed by other scripts for further analysis. It does this by generating a detailed ethreport component summary report and piping the result to ethxmlextract, extracting element values for NodeDesc, Chassis ID, PortNum, and all the performance counters. Extraction is performed only from the Systems portion of the report, which does not contain Neighbor information (the Neighbor portions are suppressed). This script can be used as a sample for creating custom per port reports.
Syntax
ethextractperf [ethreport options]
Options
- --help
Produces full help text.
- ethreport options
The following options are passed to ethreport. This subset is considered typical and useful for this command. By design, the tool ignores -o/--output report option.
-X/--infile snapshot_input Generates a report using the data in the snapshot_input file. snapshot_input must have been generated during a previous -o snapshot run. '-' may be used as the snapshot_input to specify stdin.
-T/--topology topology_input Uses topology_input file to augment and verify fabric information. When used, various reports can be augmented with information not available electronically. '-' may be used to specify stdin.
-E/--eth config_file Specifies the Ethernet management configuration file. Default is /etc/eth-tools/mgt_config.xml file.
-p plane Specifies the name of the enabled plane defined in Mgt config file, default is the first enabled plane.
-F/--focus point Specifies the focus area for report. Used to limit scope of report. Refer to Point Syntax for details.
Point Syntax
- ifid:value
value is numeric ifid.
- ifid:value:node
value is numeric ifid, selects node with given ifid.
- ifid:value:port:value2
value is numeric ifid of node, value2 is port number.
- ifid:value:portid:value2
value is numeric ifid of node, value2 is port id.
- mgmtifaddr:value
value is numeric port mgmtifaddr.
- ifaddr:value
value is numeric node ifaddr.
- ifaddr:value1:port:value2
value1 is numeric node ifaddr, value2 is port number.
- ifaddr:value1:portid:value2
value1 is numeric node ifaddr, value2 is port id.
- chassisid:value
value is numeric chassisid.
- chassisid:value1:port:value2
value1 is numeric chassisid, value2 is port number.
- chassisid:value1:portid:value2
value1 is numeric chassisid, value2 is port id.
- node:value
value is node description (node name).
- node:value1:port:value2
value1 is node description (node name), value2 is port number.
- node:value1:portid:value2
value1 is node description (node name), value2 is port id.
- nodepat:value
value is glob pattern for node description (node name).
- nodepat:value1:port:value2
value1 is the glob pattern for the node description (node name), value2 is port number.
- nodepat:value1:portid:value2
value1 is the glob pattern for the node description (node name), value2 is port id.
- nodedetpat:value
value is glob pattern for node details.
- nodedetpat:value1:port:value2
value1 is the glob pattern for the node details, value2 is port number.
- nodedetpat:value1:portid:value2
value1 is the glob pattern for the node details, value2 is port id.
- nodetype:value
value is node type (SW or NIC).
- nodetype:value1:port:value2
value1 is node type (SW or NIC), value2 is port number.
- nodetype:value1:portid:value2
value1 is node type (SW or NIC), value2 is port id.
- rate:value
value is string for rate (25g, 50g, 75g, 100g), omits switch mgmt port 0.
- portstate:value
value is a string for state (up, down, testing, unknown, dormant, notactive).
- portphysstate:value
value is a string for PHYs state (other, unknown, operational, standby, shutdown, reset).
- mtucap:value
value is MTU size (maximum size 65535), omits switch mgmt port 0.
- linkdetpat:value
value is glob pattern for link details.
- portdetpat:value
value is glob pattern for port details.
- nodepatfile:FILENAME
Specifies the name of file with the list of nodepats or node descriptions.
- nodepairpatfile:FILENAME
Specifies the name of file with the list of node pairs, separated by a colon.
- ldr
Specifies the ports with a non-zero link down reason or neighbor link down reason.
- ldr:value
Specifies the ports with a link down reason or neighbor link down reason equal to value.
The portion of the script that calls ethreport and ethxmlextract follows:
ethreport -o comps -x -d 10 "$@" | /usr/sbin/ethxmlextract -d \; \
-e NodeDesc -e ChassisID -e PortNum -e PortId -e LinkSpeedActive \
-e IfHCOutOctetsMB -e IfHCOutOctets -e IfHCOutUcastPkts \
-e IfHCOutMulticastPkts -e IfHCInOctetsMB -e IfHCInOctets \
-e IfHCInUcastPkts -e IfHCInMulticastPkts \
-e Dot3HCStatsInternalMacTransmitErrors \
-e Dot3HCStatsInternalMacReceiveErrors -e Dot3HCStatsSymbolErrors \
-e IfOutErrors -e IfInErrors -e IfInUnknownProtos \
-e Dot3HCStatsAlignmentErrors -e Dot3HCStatsFCSErrors \
-e Dot3HCStatsFrameTooLongs -e IfOutDiscards -e IfInDiscards \
-e Dot3StatsCarrierSenseErrors -e Dot3StatsSingleCollisionFrames \
-e Dot3StatsMultipleCollisionFrames -e Dot3StatsSQETestErrors \
-e Dot3StatsDeferredTransmissions -e Dot3StatsLateCollisions \
-e Dot3StatsExcessiveCollisions -s Neighbor
Example
ethextractperf