52
2961 Chapter 44 Latency Analyzer (LANZ) Arista Networks’ Latency Analyzer (LANZ) is a family of EOS features that provide enhanced visibility into network dynamics, particularly in areas related to the delay packets experience through the network. The LANZ feature is available on the FM6000, Arad, Trident II, Trident 3, Jericho, Tomahawk and XP80 switch platforms. This chapter describes the purpose, behavior, and configuration of LANZ features. Topics covered by this chapter include: Section 44.1: Introduction to LANZ Section 44.2: LANZ Overview Section 44.3: Configuring LANZ Section 44.4: LANZ Commands 44.1 Introduction to LANZ LANZ tracks interface congestion and queuing latency with real-time reporting. With LANZ application layer event export, external applications can predict impending congestion and latency. This enables the application layer to make traffic routing decisions with visibility into the network layer. With LANZ, network operations teams and administrators have near real-time visibility into the network, enabling early detection of microbursts. LANZ continually monitors congestion, allowing for rapid detection of congestion and sending of application layer messages. 44.2 LANZ Overview LANZ monitors output queue lengths to provide congestion information for individual interfaces. This allows for more detailed analysis of congestion events, and allows identification of potential latency problems before they arise. On some platforms, LANZ also monitors global buffer usage. Output queues for each port are monitored, and information about queue congestion events can be accessed in the form of system log messages, reports, or streaming. 44.2.1 LANZ Monitoring Mechanism LANZ provides congestion data by continuously monitoring each port’s output queue lengths. When the length of an output queue exceeds the upper threshold for that port, LANZ generates an over-threshold event.

Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2961

Chapter 44

Latency Analyzer (LANZ)

Arista Networks’ Latency Analyzer (LANZ) is a family of EOS features that provide enhanced visibility into network dynamics, particularly in areas related to the delay packets experience through the network. The LANZ feature is available on the FM6000, Arad, Trident II, Trident 3, Jericho, Tomahawk and XP80 switch platforms.

This chapter describes the purpose, behavior, and configuration of LANZ features. Topics covered by this chapter include:

• Section 44.1: Introduction to LANZ

• Section 44.2: LANZ Overview

• Section 44.3: Configuring LANZ

• Section 44.4: LANZ Commands

44.1 Introduction to LANZLANZ tracks interface congestion and queuing latency with real-time reporting. With LANZ application layer event export, external applications can predict impending congestion and latency. This enables the application layer to make traffic routing decisions with visibility into the network layer.

With LANZ, network operations teams and administrators have near real-time visibility into the network, enabling early detection of microbursts. LANZ continually monitors congestion, allowing for rapid detection of congestion and sending of application layer messages.

44.2 LANZ OverviewLANZ monitors output queue lengths to provide congestion information for individual interfaces. This allows for more detailed analysis of congestion events, and allows identification of potential latency problems before they arise. On some platforms, LANZ also monitors global buffer usage.

Output queues for each port are monitored, and information about queue congestion events can be accessed in the form of system log messages, reports, or streaming.

44.2.1 LANZ Monitoring Mechanism

LANZ provides congestion data by continuously monitoring each port’s output queue lengths. When the length of an output queue exceeds the upper threshold for that port, LANZ generates an over-threshold event.

Page 2: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2962

LANZ Overview Chapter 44: Latency Analyzer (LANZ)

44.2.1.1 Notifying and Polling Modes

Notifying Mode

In Notifying Mode (available on all platforms), LANZ monitors congestions on all queues and generates Start, Update, and End events every five seconds or at user-configured intervals.

• Start event is generated when any queue on an interface exceeds the upper threshold.

• Update events are generated periodically while the congested queue remains above the lower threshold. The interval at which Update events are generated is configured using the queue-monitor length update-interval command.

• End event is generated when the congested queue drops below the lower threshold.

Polling Mode

Polling Mode is available only on Arad and Jericho switches. On these switches, LANZ can be configured to use Notifying Mode, but it operates in Polling Mode by default. In Polling Mode, LANZ polls the most congested queue in each ASIC and continues to report an over-threshold state every 800 microseconds until all queue lengths for the port pass below the lower threshold.

44.2.2 LANZ Logging

Over-threshold events generated by LANZ can be logged as system log messages. Log messages are generated for events on all ports, at a maximum rate of one message per second per interface. The interval between messages can be configured globally.

Log messages indicate the time of the event, the interface affected, the threshold set for that interface, and the actual number of entries in the port’s queue.

44.2.3 LANZ Reporting

Detailed LANZ data can be viewed through the CLI or exported as a CSV-formatted report.

A circular FIFO event buffer is dynamically shared by all interfaces. When an interface begins generating LANZ over-threshold events it can fill all available buffer space. However, each interface is guaranteed sufficient resources for a minimum of 500 entries.

44.2.4 LANZ Streaming

On some platforms, external client applications can also receive congestion event information as a data stream. The switch can stream LANZ data to up to 100 clients via TCP through port 50001. Streamed data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information.

44.2.5 Platforms

The LANZ feature is available on the FM6000, Arad, Trident II, Trident 3, Jericho and Tomahawk switch platforms. To determine the switch platform from the CLI, enter show platform ? at the prompt.

Settings and capabilities differ slightly between the platforms:

• Arad chips measure threshold values in bytes; all others measure threshold values in segments:

• FM6000 480-byte segments

• Trident II and Tomahawk 208-byte segments

• Trident 3 256-byte segments

Page 3: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Overview

2963

• FM6000, Trident II, Trident 3, and Tomahawk chips allow configuration of both upper and lower threshold values.

• FM6000, Arad, Jericho, Trident II, Trident 3, and Tomahawk chips support LANZ data streaming.

• Only FM6000 chips support global buffer monitoring.

• While the FM6000, Trident II, Trident 3, Jericho and Tomahawk chips can monitor congestion events for all queues, the Arad chips only monitor the most congested queues.

• Polling Mode is available on Arad and Jericho platforms.

• LANZ is available on CPU ports on Arad, Jericho, Trident II and Tomahawk platforms.

• LANZ is available on fabric ports on Trident, Trident II, Trident 3, and Tomahawk platforms.

Page 4: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2964

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

44.3 Configuring LANZLANZ is disabled by default and must be enabled to function. Upper and lower queue-length thresholds can be defined for individual interfaces.

These sections describe the basic LANZ configuration steps:

• Section 44.3.1: Enabling and Disabling LANZ

• Section 44.3.2: Specifying the LANZ Mode on Jericho and Arad Switches

• Section 44.3.3: Configuring LANZ Congestion Thresholds

• Section 44.3.4: Setting LANZ Traffic Sampling

• Section 44.3.5: Logging LANZ Congestion Events

• Section 44.3.6: Viewing LANZ Data

• Section 44.3.7: Streaming LANZ Data

44.3.1 Enabling and Disabling LANZ

For the switch to collect and display latency information, LANZ must be enabled. The queue-monitor length (global configuration mode) command enables LANZ with the current settings, or with the default settings if none have been configured. LANZ is disabled by default.

When LANZ is enabled, the switch monitors queue lengths on all front-panel ports, and on CPU and fabric ports on selected platforms. Queue length data is available in the following forms:

• syslog data (see queue-monitor length log)

• CLI display or CSV-format output (see show queue-monitor length)

• data stream (see queue-monitor streaming)

To disable LANZ globally, enter the no queue-monitor length command in global configuration mode. Disabling LANZ globally also discards LANZ log data, but retains settings. To disable LANZ on an individual interface, enter the no queue-monitor length command in interface Ethernet configuration mode.

Examples

• This command enables LANZ on the switch.

switch(config)#queue-monitor length

• This command disables LANZ on the switch.

switch(config)#no queue-monitor length

• These commands disable LANZ on Ethernet interface 7.

switch(config)#interface ethernet 7switch(config-if-Et7)#no queue-monitor length

44.3.2 Specifying the LANZ Mode on Jericho and Arad Switches

On Jericho and Arad switches, LANZ operates by default in Polling Mode, which provides congestion data for the most congested queue per ASIC. They also support Notifying Mode (the LANZ mode used on all other switches), which generates Start, Update, and End events for all queues.

Notifying Mode is enabled using the queue-monitor length notifying command.

Page 5: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2965

Examples

• This command enables Notifying Mode on a Jericho or Arad switch.

switch(config)#queue-monitor length notifying

• This command disables Notifying Mode on a Jericho or Arad switch, returning LANZ to the default Polling Mode.

switch(config)#no queue-monitor length notifying

44.3.3 Configuring LANZ Congestion Thresholds

When LANZ is enabled on the switch, it generates over-threshold events when queue lengths on any monitored interface exceed the upper threshold value and continues generating them until all the queue lengths on that interface drop back below the lower threshold.

44.3.3.1 Setting the Congestion Update Interval

The queue-monitor length update-interval command specifies the frequency with which congestion information is updated in microseconds.

• This command sets the time between congestion updates to 10 seconds.

switch(config)#queue-monitor length update-interval 10000000switch(config)#

• This command resets the time between congestion updates to its default value of 5 seconds.

switch(config)#default queue-monitor length update-intervalswitch(config)#

44.3.3.2 Congestion Thresholds on FM6000, Trident II, Trident 3, and Tomahawk Switches

Queue lengths are measured in 480-byte segments on FM6000 switches, in 208-byte segments on Trident II and Tomahawk switches, and in 256-byte segments on Trident 3 switches. The default threshold values are 512 segments and 256 segments. To change the threshold values for a specific interface, use the queue-monitor length thresholds command.

FM6000 switches can also monitor global buffer usage. Global buffers are measured in 160-byte segments; the default threshold values are 10940 segments and 4376 segments. To enable global buffer monitoring, use the queue-monitor length global-buffer command. To change the threshold values for global buffer usage monitoring on the switch, use the queue-monitor length global-buffer thresholds command.

Examples

• These commands set the upper and lower queue-length thresholds on Ethernet interface 5 to 300 segments and 200 segments.

switch(config)#interface ethernet 5switch(config-if-Et5)#queue-monitor length thresholds 300 200switch(config-if-Et5)#

• These commands enable global buffer monitoring on the switch and set the upper and lower thresholds to 9000 segments and 4000 segments.

switch(config)#queue-monitor length global-bufferswitch(config)#queue-monitor length global-buffer thresholds 9000 4000switch(config)#

Page 6: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2966

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

44.3.3.3 Congestion Thresholds on Arad Switches

Queue lengths are measured in bytes. The top threshold value can be between 2 and 52428800 bytes (the default value is 52428800 bytes). To change the upper threshold value for a specific interface, use the queue-monitor length threshold (Arad/Jericho) command.

Example

• These commands set the upper queue-length threshold on Ethernet interface 5 to 2614400 bytes.

switch(config)#interface ethernet 5switch(config-if-Et5)#queue-monitor length thresholds 2614400switch(config-if-Et5)#

44.3.3.4 CPU Port Congestion Thresholds

CPU port queue lengths are also monitored on selected platforms. All CPU ports share common threshold values, which are configured using the queue-monitor length cpu thresholds command. Individual CPU port congestion thresholds cannot be separately configured.

Examples

• This command sets the upper queue-length threshold for congestion monitoring on all CPU ports to 1000 segments and the lower limit to 300 segments.

switch(config)#queue-monitor length cpu thresholds 1000 300switch(config)#

• This command resets the queue-length thresholds for CPU port congestion to the default values of 512 and 256.

switch(config)#default queue-monitor length cpu thresholdsswitch(config)#

44.3.3.5 Fabric Port Congestion Thresholds

Fabric port queue lengths are also monitored on selected platforms. All fabric ports share common threshold values, which are configured using the queue-monitor length fabric thresholds command. Individual fabric port congestion thresholds cannot be separately configured.

Examples

• This command sets the upper queue-length threshold for congestion monitoring on all fabric ports to 1000 segments and the lower limit to 300 segments.

switch(config)#queue-monitor length fabric thresholds 1000 300switch(config)#

• This command resets the queue-length thresholds for fabric port congestion to the default values of 512 and 256.

switch(config)#default queue-monitor length fabric thresholdsswitch(config)#

44.3.4 Setting LANZ Traffic Sampling

Traffic experiencing congestion can be configured to automatically send congested traffic to either the CPU or an Ethernet egress interface destination, once a queue threshold is crossed, by enabling LANZ mirroring through the command queue-monitor length mirror. The CPU or an egress interface mirror destination is then configured through the command queue-monitor length mirror destination. LANZ traffic sampling includes exporting congested traffic to a packet capture device or another tool for analysis, or directly to the switch CPU for inspection through the command tcpdump queue-monitor.

Page 7: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2967

Example

• This command enables LANZ traffic sampling.

switch(config)#queue-monitor length mirrorswitch(config)#

• This command disables LANZ traffic sampling.

switch(config)#no queue-monitor length mirrorswitch(config)#

Examples

• This command configures LANZ traffic sampling for a CPU interface mirror destination.

switch(config)#queue-monitor length mirror destination cpuswitch(config)#

• This command configures LANZ traffic sampling for an Ethernet interface mirror destination for ports 1 through 5.

switch(config)#queue-monitor length mirror destination Ethernet 1-5switch(config)#

• This command configures LANZ traffic sampling for an Ethernet interface mirror destination for ports 6, 10, and 12 through 14.

switch(config)#queue-monitor length mirror destination Ethernet 6,10,12-14switch(config)#

Example

• This command inspects traffic on the switch.

switch(config)#tcpdump queue-monitortcpdump: WARNING: lanz: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lanz, link-type EN10MB (Ethernet), capture size 65535 bytes...0 packets captured0 packets received by filter0 packets dropped by kernelswitch(config)#

44.3.5 Logging LANZ Congestion Events

To generate syslog messages when queue lengths on an interface exceed its upper threshold, enable logging with the queue-monitor length log command. When logging is enabled, a log message is generated each time one or more queues on an interface exceed the upper threshold value for that interface (see queue-monitor length threshold (Arad/Jericho) or queue-monitor length thresholds). Once an interface is over threshold, additional messages are generated at a maximum rate of one per interval as long as the queue length remains above the lower threshold for that interface. No syslog message is generated when queue length drops back under threshold.

Queue length information is not included in log messages, but can be accessed by displaying LANZ data or exporting reports.

On FM6000 platforms, log messages can also be created whenever global buffer usage exceeds its upper threshold value (see queue-monitor length global-buffer thresholds). To enable global buffer monitoring, use the queue-monitor length global-buffer command. To log over-threshold events for the global buffer, use the queue-monitor length global-buffer log command.

Page 8: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2968

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

Examples

• This command enables queue-length over-threshold logging with a minimum interval of 10 seconds between messages for a given interface.

switch(config)#queue-monitor length log 10

• This command disables queue-length over-threshold logging on the switch.

switch(config)#queue-monitor length log 0

• This is an example of a queue-length log message.

Oct 27 12:48:22 switch QUEUE_MONITOR-6-LENGTH_OVER_THRESHOLD: InterfaceEthernet6 queue length is over threshold of 512, current length is 1024.

• This command enables global buffer over-threshold logging on the switch with a minimum interval of 60 seconds between messages.

switch(config)#queue-monitor length global-buffer log 60

44.3.6 Viewing LANZ Data

LANZ status, and the data stored in the LANZ data buffer, can be viewed using the CLI. Output varies by switch platform, and can be limited to a specified number of records.

44.3.6.1 Viewing LANZ Data on Arad Platform Switches

When LANZ is enabled on an Arad platform switch, the show queue-monitor length command displays a report of recent over-threshold events for a range of interfaces or for all interfaces. By default, the command displays data for all interfaces, limited to the last 1000 records, with the most recent events listed first. To view a subset of the LANZ data, limited to a specified number of records, use the show queue-monitor length limit command.

Example

• This command displays the last 100 records for Ethernet interfaces 6 through 8.

switch#show queue-monitor length ethernet 6-8 limit 100Report generated at 2010-01-01 12:56:13

Time Interface Queue length (segments, 1 to 512 bytes)-------------------------------------------------------------------------------0:00:07.43393 ago Et6 10490:00:39.22856 ago Et7 20391 day, 4:33:23.12345 ago Et6 1077

To view the current LANZ configuration for the switch and for each interface, use the show queue-monitor length status command.

Page 9: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2969

Example

• This command displays LANZ configuration and status information.

switch(config)#show queue-monitor length statusPer-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is enabledMaximum queue length in bytes : 52428800Port threshold in bytes:Port High thresholdEt3/1 5242880Et3/2 5242880Et3/3 5242880Et3/4 5242880Et3/5 5242880

<-------OUTPUT OMITTED FROM EXAMPLE-------->

44.3.6.2 Viewing LANZ Data on FM6000, Trident II, Trident 3, and Tomahawk Platform Switches

When LANZ is enabled on an FM6000, Trident II, Trident 3, or Tomahawk platform switch, the show queue-monitor length command displays a report of recent over-threshold events for a range of interfaces or for all interfaces. By default, the command displays data for all interfaces, limited to the last 1000 records, with the most recent events listed first. To view a subset of the LANZ data, limited to a specified number of records, use the show queue-monitor length limit command.

Example

• This command displays the last 100 records for Ethernet interfaces 6 through 8.

switch#show queue-monitor length ethernet 6-8 limit 100Report generated at 2010-01-01 12:56:13

Time Interface Queue length (segments, 1 to 512 bytes)-------------------------------------------------------------------------------0:00:07.43393 ago Et6 10490:00:39.22856 ago Et7 20391 day, 4:33:23.12345 ago Et6 1077

To view the current LANZ configuration for the switch and for each interface, use the show queue-monitor length status command.

Page 10: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2970

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

Example

• This command displays LANZ configuration and status information.

switch(config)#show queue-monitor length statusqueue-monitor length enabledGlobal Buffer Monitoring------------------------Global buffer monitoring is enabledSegment size in bytes : 160Total buffers in segments : 36864High threshold : 10940Low threshold : 4376

Per-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is enabledSegment size in bytes : 480Maximum queue length in segments : 3647Port thresholds in segments:Port High threshold Low thresholdEt1 512 256Et2 512 256Et3 512 256Et4 512 256Et5 512 256

<-------OUTPUT OMITTED FROM EXAMPLE-------->

To view all available LANZ records, use the show queue-monitor length all command.

Page 11: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2971

Example

• This command displays all available LANZ records.

switch>show queue-monitor length all

Report generated at 2013-04-01 13:23:13E-End, U-Update, S-Start, TC-Traffic ClassGH-High, GU-Update, GL-LowSegment size for E, U and S congestion records is 480 bytesSegment size for GL, GU and GH congestion records is 160 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter--------------------------------------------------------------------------------Type Time Intf Congestion Queue Time of Max (TC) duration length Queue length (usecs) (segments) relative to congestion start (usecs)--------------------------------------------------------------------------------E 0:00:00.07567 ago Et22(7) >=71 mins 20* 30usGU 0:00:00.15325 ago N/A N/A 5695 N/A U 0:00:00.19859 ago Et4(1) N/A 5693 N/A GU 0:00:00.95330 ago N/A N/A 5696 N/A U 0:00:00.99859 ago Et4(1) N/A 5695 N/A E 0:00:01.28821 ago Et44(1) 9672us 2502* 7294usS 0:00:01.17591 ago Et22(7) N/A 26 N/AU 0:00:03.08248 ago Et44(1) N/A 50 N/AS 12days,8:56:44.07567 ago Et44(1) N/A 20 N/Aswitch>

On the FM6000, Trident II, Trident 3, and Tomahawk platforms, information is also available for the number of dropped packets (see show queue-monitor length drops) and transmission latency (see show queue-monitor length tx-latency); global buffer usage can also be viewed on FM6000 platforms (see show queue-monitor length global-buffer).

44.3.7 Streaming LANZ Data

To support analysis of latency conditions, the switch can be configured to stream LANZ congestion and configuration data. The switch streams LANZ data via TCP in Google protocol buffer format through port 50001 and through the management interface.

You must create a client application to receive the streaming data. By default, the switch will accept up to 10 client connections for streaming LANZ data. This limit can be configured up to a maximum of 100. Maximum connections can be configured when LANZ is disabled.

44.3.7.1 Enabling and Disabling LANZ Data Streaming

LANZ data streaming is disabled by default. To enable streaming, issue the no show queue-monitor streaming clients command in queue-monitor streaming configuration mode. To disable streaming, use the show queue-monitor streaming clients command.

When streaming is disabled, a message is sent to any connected clients and the connections are closed.

Page 12: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2972

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

To ensure client access to LANZ data, add a rule to any relevant ACL permitting traffic destined for the LANZ port (50001) before initiating a client connection for streaming from a remote host. A static rule (sequence number 130) in the default control plane ACL permits LANZ traffic, but a similar rule must be added to any user-created ACL.

Examples

• These commands enable the streaming of LANZ data from the switch.

switch(config)#queue-monitor streamingswitch(config-qm-streaming)#no shutdownswitch(config-qm-streaming)#

• These commands disable LANZ data streaming.

switch(config)#queue-monitor streamingswitch(config-qm-streaming)#shutdownswitch(config-qm-streaming)#

44.3.7.2 Configuring Maximum Connections

By default, the switch will accept a maximum of 10 client connections for LANZ data streaming. This maximum can be configured using the max-connections command. If a client connects to the switch after the limit has been reached, an error message is sent and the connection is closed.

Example

• This command sets the maximum number of client connections for LANZ data streaming to 50.

switch(config-qm-streaming)#max-connections 50

44.3.7.3 LANZ Streaming Messages

When streaming is enabled, LANZ sends a message whenever a congestion event or a configuration event occurs. The messages are streamed in Google protocol buffer format.

Configuration Messages

A configuration message is sent whenever a change is made to the LANZ configuration settings on the switch. The switch also sends a configuration message when a new client connection is established.

The configuration message includes the following information:

• timestamp time of change in configuration in tens of microseconds (UTC).

• lanzVersion LANZ feature version.

• numOfPorts number of ports in the switch.

• segmentSize segment size.

• maxQueueSize maximum queue size in segments.

• qLenInterval frequency of updates.

• intfName name of the port.

• switchId ID of the chip on a multi-chip system.

• portId ID of the port.

• internalPort “true” if it is an internal port.

• highThreshold higher threshold value.

• lowThreshold lower threshold value.

Page 13: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2973

Congestion Messages

A congestion message is sent whenever LANZ generates an over-threshold event.

The congestion message includes the following information:

• timestamp time of congestion in micro-seconds (UTC).

• intfName name of the port.

• switchId ID of the chip on a multi-chip system.

• portId ID of the port.

• queueSize queue size in segments at time of congestion.

44.3.7.4 Creating the LANZ Client

For a client device to receive streaming data from the LANZ server, it must be running a client application designed to receive LANZ data. Client programs must be based on the Google protocol buffer schema file describing the structure of the congestion and configuration messages which LANZ streams.

Google Protocol Buffers

Google protocol buffers provide an efficient mechanism for serializing LANZ data for streaming. A protocol buffer package is needed in order to run a LANZ client.

The latest version of the Google protocol buffer source code is available at this address: http://code.google.com/p/protobuf/downloads/list

LANZ Message Schema

LANZ client applications must be designed based on the LANZ protocol buffer schema, which defines the format and contents of the streamed messages. The schema file is shown below, and is also available in the Extensions/LANZ directory on this page: https://www.arista.com/en/support/software-download

Page 14: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2974

Configuring LANZ Chapter 44: Latency Analyzer (LANZ)

package LanzProtobuf;

message ConfigRecord { required uint64 timestamp = 1; // Time of change in configuration in micro-seconds (UTC) required uint32 lanzVersion = 2; // LANZ feature version required uint32 numOfPorts = 3; // Num of ports in the switch required uint32 segmentSize = 4; // Segement size required uint32 maxQueueSize = 5; // Maximum queue size in segments optional uint32 qLenInterval = 10; // Frequency of update message PortConfigRecord {

required string intfName = 1; // Name of the port required uint32 switchId = 2; // Id of the chip on a multi-chip system required uint32 portId = 3; // Id of the port required bool internalPort = 4; // 'True' if it's an internal port required uint32 highThreshold = 5; // Higher threshold required uint32 lowThreshold = 6; // Lower threshold

}

repeated PortConfigRecord portConfigRecord = 6; // Lanz config details of each port }

message CongestionRecord { required uint64 timestamp = 1; // Time of congestion in micro-seconds (UTC)required string intfName = 2; // Name of the port required uint32 switchId = 3; // Id of the chip on a multi-chip system required uint32 portId = 4; // Id of the port required uint32 queueSize = 5; // Queue size in segments at time of congestion

}

message ErrorRecord { required uint64 timestamp = 1; // Time of event in micro-seconds (UTC) required string errorMessage = 2; // Text message

}

message LanzRecord { optional ConfigRecord configRecord = 1; optional CongestionRecord congestionRecord = 2; optional ErrorRecord errorRecord = 3;

}

Implementation Procedure

The following steps create and install a functional client to receive streamed LANZ data. This procedure assumes a functional Python programming environment.

Step 1 Download the example client (lanz_client.py) from the Arista website. It is available in the Extensions/LANZ directory on this page: https://www.arista.com/en/support/software-download

Step 2 Decompress the GPB archive to a directory.

Step 3 Run the GPB C++ compilation and install. With default flags using GCC on *nix platforms, this will produce a binary called “protoc” in your /usr/local/bin directory.

Step 4 From the archive root, cd to python, and run the following commands:

python setup.py build

Page 15: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) Configuring LANZ

2975

python setup.py test

Step 5 Next, use the protoc compiler to convert the Lanz.proto file into a Python program called Lanz_pb2.py, used by the client. The command to do so is:

protoc --python_out=. Lanz.proto

The --python_out=. flag drops the compiled Python program in the directory where you ran the command.

Step 6 Run lanz_client.py -h to activate the LANZ client.

Page 16: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2976

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

44.4 LANZ CommandsLANZ Commands: Global Configuration

• clear queue-monitor length statistics • queue-monitor length (global configuration mode) • queue-monitor length cpu thresholds • queue-monitor length fabric thresholds • queue-monitor length global-buffer • queue-monitor length global-buffer log • queue-monitor length global-buffer thresholds • queue-monitor length log • queue-monitor length mirror • queue-monitor length mirror destination • queue-monitor length notifying • queue-monitor length update-interval • queue-monitor streaming • tcpdump queue-monitor

LANZ Commands: Interface Ethernet Configuration Mode

• queue-monitor length threshold (Arad/Jericho) • queue-monitor length thresholds

LANZ Commands: Queue-Monitor Streaming Configuration Mode

• max-connections

LANZ Display Commands

• show queue-monitor length • show queue-monitor length all • show queue-monitor length cpu • show queue-monitor length csv • show queue-monitor length drops • show queue-monitor length ethernet • show queue-monitor length global-buffer • show queue-monitor length limit • show queue-monitor length drops • show queue-monitor length statistics • show queue-monitor length status • show queue-monitor length tx-latency • show queue-monitor streaming clients

Page 17: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2977

clear queue-monitor length statistics

The clear queue-monitor length statistics command resets the occurrences of all over-threshold events on the switch including global buffer information (if supported).

Command Mode

Privileged EXEC

Command Syntaxclear queue-monitor length statistics

Example

• This command resets all over-threshold events and global buffer information on an FM6000 switch.

switch#clear queue-monitor length statisticsswitch#

Page 18: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2978

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

max-connections

The max-connections command sets the maximum number of client connections the switch accepts for streaming LANZ data. The default maximum is 10 connections. To stream LANZ data, you must use the queue-monitor streaming command to enable LANZ data streaming.

Command Mode

Queue-Monitor-Streaming Configuration

Command Syntaxmax-connections connections

Parameters

• connections maximum number of simultaneous LANZ streaming client connections the switch will accept. Values range from 1 through 100.

Related Commands

• queue-monitor streaming places the switch in queue-monitor-streaming configuration mode.

Examples

• This command sets the maximum number of client connections the switch accepts for LANZ data streaming to 50.

switch(config-qm-streaming)#max-connections 50switch(config-qm-streaming)#

Page 19: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2979

queue-monitor length (global configuration mode)

The queue-monitor length (global configuration mode) command enables LANZ with the current settings, or with the default settings if LANZ has not yet been configured. LANZ is disabled by default.

When LANZ is enabled, the switch monitors queue lengths on all ports and generates over-threshold events when an output queue becomes congested. Over-threshold event data is available in the following forms:

• syslog data (see queue-monitor length log)

• CLI display or CSV-format output (see show queue-monitor length)

• data stream (see queue-monitor streaming)

The no queue-monitor length and default queue-monitor length commands entered in global configuration mode disable LANZ and discard LANZ log data, but retain settings. LANZ settings include:

• logging settings (see queue-monitor length log)

• queue length thresholds (see queue-monitor length threshold (Arad/Jericho) or queue-monitor length thresholds)

• data streaming settings (see queue-monitor streaming)

Command Mode

Global Configuration

Command Syntaxqueue-monitor lengthno queue-monitor lengthdefault queue-monitor length

Examples

• This command enables LANZ on the switch.

switch(config)#queue-monitor lengthswitch(config)#

• This command disables LANZ on the switch.

switch(config)#no queue-monitor lengthswitch(config)#

Page 20: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2980

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length cpu thresholds

The queue-monitor length cpu thresholds command sets the queue length threshold to define “congested” on all CPU ports for purposes of LANZ reporting. If LANZ is enabled (see queue-monitor length (global configuration mode)), an over-threshold event is generated when one or more queues on a CPU interface exceed the upper threshold, and over-threshold events continue to be generated until all queue lengths on the interface drop below the lower threshold. (To log these events, use the queue-monitor length log command.) Different monitoring thresholds cannot be set for individual CPU ports.

The no queue-monitor length cpu thresholds and default queue-monitor length cpu thresholds commands reset thresholds to the default values (high: 512 segments; low: 256 segments).

Command Mode

Global Configuration

Command Syntaxqueue-monitor length cpu thresholds upper_limit lower_limitno queue-monitor length cpu thresholdsdefault queue-monitor length cpu thresholds

Parameters

• upper_limit is the queue length in segments that triggers an over-threshold event. Values range from 8 to 16382. Default setting is 512. Segment size varies by platform.

• lower_limit When logging is enabled, an over-threshold interface continues generating over-threshold events until all its queues drop back below this length. Must be lower than upper_limit. Values range from 1 to 16382. Default setting is 256.

Examples

• This command sets the upper queue-length threshold for congestion monitoring on all CPU ports to 1000 segments and the lower limit to 300 segments.

switch(config)#queue-monitor length cpu thresholds 1000 300switch(config)#

• This command resets the queue-length thresholds for CPU port congestion to the default values of 512 and 256.

switch(config)#default queue-monitor length cpu thresholdsswitch(config)#

Page 21: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2981

queue-monitor length fabric thresholds

The queue-monitor length fabric thresholds command sets the queue length threshold to define “congested” on all fabric ports for purposes of LANZ reporting. If LANZ is enabled (see queue-monitor length (global configuration mode)), an over-threshold event is generated when one or more queues on a fabric interface exceed the upper threshold, and over-threshold events continue to be generated until all queue lengths on the interface drop below the lower threshold. (To log these events, use the queue-monitor length log command.) Different monitoring thresholds cannot be set for individual fabric ports.

The no queue-monitor length fabric thresholds and default queue-monitor length fabric thresholds commands reset thresholds to the default values (high: 512 segments; low: 256 segments).

Command Mode

Global Configuration

Command Syntaxqueue-monitor length fabric thresholds upper_limit lower_limitno queue-monitor length fabric thresholdsdefault queue-monitor length fabric thresholds

Parameters

• upper_limit is the queue length in segments that triggers an over-threshold event. Values range from 8 to 16382. Default setting is 512. Segment size varies by platform.

• lower_limit When logging is enabled, an over-threshold interface continues generating over-threshold events until all its queues drop back below this length. Must be lower than upper_limit. Values range from 1 to 16382. Default setting is 256.

Examples

• This command sets the upper queue-length threshold for congestion monitoring on all fabric ports to 1000 segments and the lower limit to 300 segments.

switch(config)#queue-monitor length fabric thresholds 1000 300switch(config)#

• This command resets the queue-length thresholds for fabric port congestion to the default values of 512 and 256.

switch(config)#default queue-monitor length fabric thresholdsswitch(config)#

Page 22: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2982

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length global-buffer

The queue-monitor length global-buffer command includes global buffer usage in LANZ reporting.

When global buffer reporting is enabled, over-threshold events are generated when global buffer usage exceeds the upper threshold. To set the threshold value, use the queue-monitor length global-buffer thresholds command. Usage data may be viewed using the show queue-monitor length global-buffer command. To view status and threshold information, use the show queue-monitor length status command.

Global buffer usage is measured in segments of 160 bytes.

The no queue-monitor length global-buffer and default queue-monitor length global-buffer commands disable global buffer usage reporting by removing the corresponding queue-monitor length global-buffer command from running-config.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length global-bufferno queue-monitor length global-bufferdefault queue-monitor length global-buffer

Guidelines

This command is available on FM6000 platform switches.

Examples

• This command enables global buffer monitoring on the switch.

switch(config)#queue-monitor length global-bufferswitch(config)#

• This command disables global buffer monitoring on the switch.

switch(config)#no queue-monitor length global-bufferswitch(config)#

Page 23: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2983

queue-monitor length global-buffer log

The queue-monitor length global-buffer log command enables logging of global buffer over-threshold events. When logging is enabled, a log message is generated each time the contents of the global buffer exceed the upper threshold value set for the switch (see queue-monitor length global-buffer thresholds). Once the global buffer is over the threshold, additional messages are generated at a maximum rate of one per interval as long as the buffer value remains above the lower threshold for the switch.

Global buffer logging is disabled by default.

Log messages do not include buffer usage or congestion information. To view this information, use the show queue-monitor length global-buffer command.

The no queue-monitor length global-buffer log and default queue-monitor length global-buffer log commands disable global buffer logging by removing the corresponding queue-monitor length global-buffer log command from running-config. The queue-monitor length global-buffer log command with an interval value of 0 also disables global buffer logging.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length global-buffer log intervalno queue-monitor length global-buffer logdefault queue-monitor length global-buffer log

Parameters

• interval minimum interval in seconds between logged messages.

• 0 global buffer logging is disabled on the switch (the default setting).

• 1 to 65535 minimum logging interval (in seconds).

Guidelines

This command is available on FM6000 platform switches.

Examples

• This command enables global buffer logging with a minimum interval of 10 seconds between messages.

switch(config)#queue-monitor length global-buffer log 10

• This command disables global buffer logging on the switch.

switch(config)#no queue-monitor length global-buffer log

Page 24: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2984

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length global-buffer thresholds

The queue-monitor length global-buffer thresholds command sets global buffer thresholds for the switch. An over-threshold event is generated when usage of the global buffer exceeds the upper threshold, and over-threshold events continue to be generated until usage drops below the lower threshold. (To log these events, use the queue-monitor length global-buffer log command.)

The no queue-monitor length global-buffer and default queue-monitor length global-buffer commands disable global buffer reporting.

The no queue-monitor length global-buffer thresholds and default queue-monitor length global-buffer thresholds commands erase custom global buffer threshold settings.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length global-buffer thresholds max_segments min_segmentsno queue-monitor length global-buffer logdefault queue-monitor length global-buffer log

Parameters

• max_segments upper threshold in 160-byte segments. Value ranges from 2 to 36864. Default is 10940.

• min_segments lower threshold in 160-byte segments. Value ranges from 1 to 36864. Default is 4376.

Examples

• This command sets the upper and lower global buffer thresholds to 9000 segments and 3000 segments.

switch(config)#queue-monitor length global-buffer thresholds 9000 3000switch(config)#

• This command resets the upper and lower global buffer thresholds to their default values.

switch(config)#no queue-monitor length global-buffer thresholds 9000 3000switch(config)#

Page 25: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2985

queue-monitor length log

The queue-monitor length log command enables logging of queue-length over-threshold events when LANZ is enabled on the switch (see queue-monitor length (global configuration mode)). When logging is enabled, a log message is generated each time one or more queues on an interface exceed the upper threshold value for that interface (see queue-monitor length threshold (Arad/Jericho)). Once an interface is over threshold, additional messages are generated at a maximum rate of one per interval as long as the queue length remains above the lower threshold for that interface. No syslog message is generated when queue length drops back under threshold.

Logging is disabled by default.

Log messages do not include queue length information. To view queue length information, use the show queue-monitor length command.

The queue-monitor length log command with an interval value of 0 disables event logging.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length log interval

Parameters

• interval minimum interval in seconds between logged messages from a single interface.

• 0 queue-length logging is disabled on the switch (the default setting).

• 1 to 65535 minimum logging interval (in seconds).

Examples

• This command enables over-threshold logging with a minimum interval of 10 seconds between messages for a given interface.

switch(config)#queue-monitor length log 10

• This command disables queue-length over-threshold logging on the switch.

switch(config)#queue-monitor length log 0

• This is an example of a queue-length log message.

Oct 27 12:48:22 switch QUEUE_MONITOR-6-LENGTH_OVER_THRESHOLD: InterfaceEthernet6 queue length is over threshold of 512, current length is 1024.

Page 26: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2986

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length mirror

The queue-monitor length mirror command enables LANZ mirroring. As a result, traffic experiencing congestion can be configured to automatically send congested traffic to either the CPU or an Ethernet egress interface destination, once a queue threshold is crossed (see queue-monitor length mirror destination).

Command Mode

Global Configuration

Command Syntaxqueue-monitor length mirror

Example

• This command enables LANZ traffic sampling.

switch(config)#queue-monitor length mirrorswitch(config)#

• This command disables LANZ traffic sampling.

switch(config)#no queue-monitor length mirrorswitch(config)#

Page 27: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2987

queue-monitor length mirror destination

The queue-monitor length mirror destination command results in automatically sending traffic experiencing congestion to either the CPU or an Ethernet egress interface destination, once a queue threshold is crossed. Before using this command, first enable LANZ mirroring through the command queue-monitor length mirror.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length mirror destination cpu | Ethernet <ports 1-24>

Parameters

• ports any combination of Ethernet ports 1 through 24.

Examples

• This command configures LANZ traffic sampling for a CPU interface mirror destination.

switch(config)#queue-monitor length mirror destination cpuswitch(config)#

• This command configures LANZ traffic sampling for an Ethernet interface mirror destination for ports 3, 11, and 15 through 20.

switch(config)#queue-monitor length mirror destination Ethernet 3,11,15-20switch(config)#

Page 28: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2988

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length notifying

The queue-monitor length notifying command enables Notifying Mode on Arad and Jericho switches. By default, LANZ operates in Polling Mode on Arad and Jericho switches. On all other switches, LANZ operates only in Notifying Mode.

When Notifying Mode is enabled, the switch provides detailed congestion information including Start, Update, and End events, rather than only polling the most congested queue in each ASIC. Notifying Mode uses both upper and lower threshold values. Both can be set with the queue-monitor length thresholds command. While a queue is congested, the maximum queue size is updated every five seconds by default; this interval can be configured using the queue-monitor length update-interval command.

The no queue-monitor length notifying and default queue-monitor length notifying commands reset LANZ to the default Polling Mode.

Command Mode

Global Configuration

Command Syntaxqueue-monitor length notifyingno queue-monitor length notifyingdefault queue-monitor length notifying

Guidelines

• Polling mode is available only on Arad and Jericho platform switches.

• On Jericho platforms, LANZ will revert to Polling Mode if there are not enough counter resources to operate in Notifying Mode.

• On Arad platforms, Notifying Mode is incompatible with SSO. Enabling SSO while Notifying Mode is enabled will cause LANZ to revert to Polling Mode.

• On Arad platforms, Notifying Mode is not available for CPU queues. Use Polling Mode when monitoring congestion on CPU queues on Arad switches.

• If the switch is rebooted while Notifying Mode is enabled, queue threshold values may be lost.

Examples

• This command enables Notifying Mode on an Arad or Jericho switch.

switch(config)#queue-monitor length notifyingswitch(config)#

• This command disables Notifying Mode on an Arad or Jericho switch, returning LANZ to the default Polling Mode.

switch(config)#no queue-monitor length notifyingswitch(config)#

Page 29: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2989

queue-monitor length threshold (Arad/Jericho)

The queue-monitor length threshold command sets the upper queue-length threshold to define “congested” on the command-mode interface for purposes of LANZ reporting. If LANZ is enabled (see queue-monitor length (global configuration mode)), an over-threshold event is generated when one or more queues on the interface exceed the upper threshold, and over-threshold events continue to be generated until all queue lengths on the interface drop below the lower threshold. (To log these events, use the queue-monitor length log command.)

Entering the no queue-monitor length command in interface configuration mode disables LANZ on the interface. Entering either the queue-monitor length threshold command or the default queue-monitor length threshold command enables LANZ on the interface by removing the no queue-monitor length command from the configuration.

The no queue-monitor length threshold and default queue-monitor length threshold commands erase custom queue length threshold settings for the interface.

Command Mode

Interface-Ethernet Configuration

Command Syntaxqueue-monitor length threshold upper_limitno queue-monitor lengthdefault queue-monitor length

Parameters

• upper_limit is the queue length in bytes that triggers an over-threshold event. Values range from 40962 to 52428800 bytes. Default setting is 52428800.

Guidelines

On Arad and Jericho switches, the queue length is measured in bytes. Only the upper threshold is configurable using this command, and it is set at a default value of 52428800 bytes. Both upper and lower thresholds can be set using the queue-monitor length thresholds command.

Examples

• These commands set the upper queue-length threshold on Ethernet interface 3/30 to 40000000 bytes.

switch(config)#interface ethernet 3/30switch(config-if-Et3/30)#queue-monitor length threshold 40000000switch(config-if-Et3/30)#

• These commands reset the upper queue-length threshold on Ethernet interface 3/30 to its default value of 52428800 bytes.

switch(config)#interface ethernet 3/30switch(config-if-Et3/30)#default queue-monitor length thresholdswitch(config-if-Et3/30)#

Page 30: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2990

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor length thresholds

The queue-monitor length thresholds command sets both upper and lower queue length thresholds to define “congested” on the command-mode interface for purposes of LANZ reporting. If LANZ is enabled (see queue-monitor length (global configuration mode)), an over-threshold event is generated when one or more queues on the interface exceed the upper threshold, and over-threshold events continue to be generated until all queue lengths on the interface drop below the lower threshold. (To log these events, use the queue-monitor length log command.)

Entering the no queue-monitor length command in interface configuration mode disables LANZ on the interface. Entering either the queue-monitor length command or the default queue-monitor length command in interface configuration mode enables LANZ on the interface by removing the no queue-monitor length command from the configuration.

The no queue-monitor length thresholds and default queue-monitor length thresholds commands in interface configuration mode both erase custom queue length threshold settings for the interface.

Command Mode

Interface-Ethernet Configuration

Command Syntaxqueue-monitor length thresholds upper_limit lower_limitno queue-monitor lengthdefault queue-monitor length

Parameters

• upper_limit queue length in segments that triggers an over-threshold event. Must be higher than lower_limit. The minimum value is 2. The maximum is the largest number of segments which can be queued before packets are dropped, and varies based on factors including flow control state and private buffer settings. Default setting is 512.

• lower_limit lower queue length threshold in segments. When logging is enabled, an over-threshold interface continues generating over-threshold events until all its queues drop back below this length. Must be lower than upper_limit. Values range from 1 to 4806. Default setting is 256.

Guidelines

Queue lengths are measured in 480-byte segments on FM6000 switches, in 208-byte segments on Trident II and Tomahawk switches, in 256-byte segments on Trident 3 switches, and in bytes on Arad and Jericho switches. Default thresholds vary by platform. Both upper and lower thresholds are configurable.

Examples

• These commands set the upper and lower queue-length thresholds on Ethernet interface 5 to 300 segments and 200 segments.

switch(config)#interface ethernet 5switch(config-if-Et5)#queue-monitor length thresholds 300 200switch(config-if-Et5)#

• These commands reset the upper and lower queue-length thresholds on Ethernet interface 5 to their default values.

switch(config)#interface ethernet 5switch(config-if-Et5)#default queue-monitor length thresholdsswitch(config-if-Et5)#

Page 31: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2991

queue-monitor length update-interval

The queue-monitor length update-interval command sets the interval between congestion updates when LANZ is in Notifying Mode.

The no queue-monitor length update-interval and default queue-monitor length update-interval command reset the update interval to its default value of 5000000 (5 seconds).

Command Mode

Global Configuration

Command Syntaxqueue-monitor length update-interval intervalno queue-monitor lengthdefault queue-monitor length

Parameters

• interval is the time in microseconds between congestion updates. Values range from 80-10000000; default setting is 5000000 (5 seconds).

Examples

• This command sets the time between congestion updates to 10 seconds.

switch(config)#queue-monitor length update-interval 10000000switch(config)#

• This command resets the time between congestion updates to its default value of 5 seconds.

switch(config)#default queue-monitor length update-intervalswitch(config)#

Page 32: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2992

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

queue-monitor streaming

The queue-monitor streaming command places the switch in queue-monitor-streaming configuration mode. Queue-monitor-streaming configuration mode is not a group change mode; running-config is changed immediately upon command entry. The exit command does not affect running-config.

To enable LANZ data streaming on the switch, use the no show queue-monitor streaming clients command.

The exit command returns the switch to global configuration mode.

Command Mode

Global Configuration

Command Syntaxqueue-monitor streaming

Commands Available in queue-monitor streaming Configuration Mode

• max-connections

• show queue-monitor streaming clients

Example

• This command places the switch in queue-monitor streaming configuration mode.

switch(config)#queue-monitor streamingswitch(config-qm-streaming)#

Page 33: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2993

show queue-monitor length

The show queue-monitor length command displays a report of recent over-threshold events for all interfaces, limited to the last 1000 records, with the newest events listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

To limit the output to a specified number of seconds and/or records, use the show queue-monitor length limit command.

Command Mode

EXEC

Command Syntaxshow queue-monitor length

Example

• This command displays the last 1000 LANZ records on an Arad or Jericho platform switch in Polling Mode.

switch>show queue-monitor lengthReport generated at 2017-03-10 16:04:28E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress

Length Port-set(bytes) (usecs)

---------- ----------------------- -------------------------- -------------- -------------- --------P 0:00:04.81587 ago Et15(3) 36126720 4030092 Et1-24switch>

• This command displays the last 1000 LANZ records on an Arad or Jericho platform switch in Notifying Mode.

switch>show queue-monitor lengthReport generated at 2017-03-10 16:08:58E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress

Length Port-set(bytes) (usecs)

---------- ----------------------- -------------------------- --------------- -------------- --------E 0:00:03.11739 ago Et24(2) 36126720* 20700629 Et9-20,54/1-4U 0:00:04.01513 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:08.94918 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:13.88323 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:18.81728 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:23.74758 ago Et24(2) 36126720 N/A Et9-20,54/1-4S 0:00:23.81802 ago Et24(2) 36126720 N/A Et9-20,54/1-4switch>

Note The non-sequential listing of ingress ports shown here is specific to Jericho switches; interfaces on Arad switches are always displayed sequentially.

Page 34: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2994

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

• This command displays the last 1000 LANZ records on an FM6000, Trident II, Trident 3, or Tomahawk platform switch.

switch>show queue-monitor lengthReport generated at 2017-03-10 14:57:12E-End, U-Update, S-Start, TC-Traffic ClassSegment size for E, U and S congestion records is 208 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter-----------------------------------------------------------------------------------------------Type Time Interface Congestion Queue Time of Max Fabric (TC) duration length Queue length Peer (usecs) (segments) relative to congestion start (usecs)----------------------------------------------------------------------------------------------- E 0:08:04.45352 ago Et23/3(13) 22704753 5743* 0 U 0:08:07.10807 ago Et23/3(13) N/A 5742 N/A U 0:08:12.10808 ago Et23/3(13) N/A 5742 N/A U 0:08:17.10809 ago Et23/3(13) N/A 5742 N/A U 0:08:22.10810 ago Et23/3(13) N/A 5742 N/A U 0:08:27.10810 ago Et23/3(13) N/A 5742 N/A U 0:08:27.11311 ago Et23/3(13) N/A 5741 N/A U 0:08:27.11811 ago Et23/3(13) N/A 5742 N/A U 0:08:27.12312 ago Et23/3(13) N/A 5742 N/A U 0:08:27.12812 ago Et23/3(13) N/A 5743 N/A U 0:08:27.13315 ago Et23/3(13) N/A 5743 N/A U 0:08:27.13816 ago Et23/3(13) N/A 5743 N/A U 0:08:27.14319 ago Et23/3(13) N/A 5742 N/A U 0:08:27.14822 ago Et23/3(13) N/A 5743 N/A U 0:08:27.15322 ago Et23/3(13) N/A 5742 N/A S 0:08:27.15828 ago Et23/3(13) N/A 2064 N/Aswitch>

Page 35: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2995

show queue-monitor length all

The show queue-monitor length all command displays all available over-threshold event records on the switch including global buffer information, with the most recent events listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length all

Guidelines

This command is available on FM6000 platform switches.

Example

• This command displays all available LANZ records from the switch.

switch>show queue-monitor length all

Report generated at 2013-04-01 13:23:13E-End, U-Update, S-Start, TC-Traffic ClassGH-High, GU-Update, GL-LowSegment size for E, U and S congestion records is 480 bytesSegment size for GL, GU and GH congestion records is 160 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter--------------------------------------------------------------------------------Type Time Intf Congestion Queue Time of Max

(TC) duration length Queue length(usecs) (segments) relative to

congestionstart(usecs)

--------------------------------------------------------------------------------E 0:00:00.07567 ago Et22(7) >=71 mins 20* 30usGU 0:00:00.15325 ago N/A N/A 5695 N/A U 0:00:00.19859 ago Et4(1) N/A 5693 N/A GU 0:00:00.95330 ago N/A N/A 5696 N/A U 0:00:00.99859 ago Et4(1) N/A 5695 N/A E 0:00:01.28821 ago Et44(1) 9672us 2502* 7294usS 0:00:01.17591 ago Et22(7) N/A 26 N/AU 0:00:03.08248 ago Et44(1) N/A 50 N/AS 12days,8:56:44.07567 ago Et44(1) N/A 20 N/Aswitch>

Page 36: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2996

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

show queue-monitor length cpu

The show queue-monitor length cpu command displays LANZ data for CPU ports on the switch. On Trident II and Tomahawk platforms, the “Interface” column identifies the CPU port by its card slot and chip index.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length cpu

Examples

• This command displays LANZ data for CPU ports on a Trident II or Tomahawk switch.switch>show queue-monitor length cpuReport generated at 2017-03-10 15:24:11E-End, U-Update, S-Start, TC-Traffic ClassSegment size for E, U and S congestion records is 208 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter-----------------------------------------------------------------------------------------------Type Time Interface Congestion Queue Time of Max Fabric (TC) duration length Queue length Peer (usecs) (segments) relative to congestion start (usecs)----------------------------------------------------------------------------------------------- E 0:02:24.19153 ago Cpu0/0(39) 16669811 271* 0 U 0:02:25.81126 ago Cpu0/0(39) N/A 270 N/A U 0:02:30.81126 ago Cpu0/0(39) N/A 270 N/A U 0:02:35.81128 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.81129 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.81630 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.82130 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.82631 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.83132 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.83632 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.84132 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.84633 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.85133 ago Cpu0/0(39) N/A 270 N/A U 0:02:40.85634 ago Cpu0/0(39) N/A 270 N/A S 0:02:40.86134 ago Cpu0/0(39) N/A 271 N/A

Page 37: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2997

• This command displays LANZ data for CPU ports on an FM6000 switch.

switch>show queue-monitor length cpuReport generated at 2017-03-10 15:17:57E-End, U-Update, S-Start, TC-Traffic ClassGH-High, GU-Update, GL-LowSegment size for E, U and S congestion records is 480 bytesSegment size for GL, GU and GH congestion records is 160 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter-------------------------------------------------------------------------------Type Time Intf Congestion Queue Time of Max

(TC) duration length Queue length(usecs) (segments) relative to

congestionstart(usecs)

------------------------------------------------------------------------------- E 0:04:41.17456 ago Cpu(11) 29 1024* 0 S 0:04:41.17459 ago Cpu(11) N/A 1024 N/A E 0:04:41.17463 ago Cpu(11) 15926108 206* 33872 U 0:04:42.09651 ago Cpu(11) N/A 205 N/A U 0:04:47.09710 ago Cpu(11) N/A 205 N/A U 0:04:52.09769 ago Cpu(11) N/A 205 N/A U 0:04:57.09826 ago Cpu(11) N/A 205 N/A

• This command displays LANZ data for CPU ports on an Arad or Jericho switch in Polling Mode.switch>show queue-monitor length cpuReport generated at 2017-03-10 16:04:28E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress Length Port-set (bytes) (usecs)---------- ----------------------- -------------------------- -------------- -------------- --------P 0:00:31.48474 ago CoppSystemL2Ucast(5) 10486080 20184965 Et1-24

• This command displays LANZ data for CPU ports on an Arad or Jericho switch in Notifying Mode.switch>show queue-monitor length cpuReport generated at 2017-03-10 16:08:58E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress Length Port-set (bytes) (usecs)---------- ----------------------- -------------------------- --------------- -------------- --------E 0:00:03.11739 ago CoppSystemL2Ucast(5) 10485760* 20700629 Et1-24U 0:00:04.01513 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24U 0:00:08.94918 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24U 0:00:13.88323 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24U 0:00:18.81728 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24U 0:00:23.74758 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24S 0:00:23.81802 ago CoppSystemL2Ucast(5) 10485760 N/A Et1-24

Page 38: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

2998

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

show queue-monitor length csv

The show queue-monitor length csv command displays LANZ records in comma-separated value (CSV) format with the oldest samples displayed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length csv

Example

• This command displays LANZ records in CSV format.

switch>show queue-monitor length csv

Report generated at 2016-02-09 22:57:50Type,Time,Interface,Duration(usecs),Queue-Length,Time-Of-Max-Queue(usecs),Latency(usecs),Tx-Drops S,2016-02-09 22:53:05.70596,Et29(11),N/A,2590,N/A,60.088,0 U,2016-02-09 22:53:05.71098,Et29(11),N/A,2590,N/A,60.088,216555 U,2016-02-09 22:53:05.71600,Et29(11),N/A,2590,N/A,60.088,215546switch>

Page 39: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

2999

show queue-monitor length drops

The show queue-monitor length drops command displays a report of cumulative transmission drop totals for a range of interfaces or for all interfaces. Output can be limited to a specified number of seconds or records. The most recent events are listed first. By default, the command displays data for all interfaces, limited to the last 1000 records. Newest events are listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length [INTERFACES] [FACTOR] drops

Parameters

• INTERFACES interface type and number for report. Values include:

• <no parameter> displays information for all interfaces.

• ethernet e-range e-range formats include a number, number range, or comma-delimited list of numbers and ranges

• FACTOR limiting parameter for report. Values include:

• <no parameter> displays the last 1000 records.

• limit number samples displays the last number records.

• limit number seconds displays all records generated during the last number seconds.

Value of number ranges from 1 to 1000000.

Guidelines

This command is available on FM6000, Trident II, Trident 3, and Tomahawk platform switches.

Example

• This command displays the last 10 records of transmission drop data on an FM6000 switch.

switch>show queue-monitor length limit 10 samples drops Report generated at 2017-03-10 15:25:29Time Interface TX Drops-----------------------------------------------------------------0:12:13.34425 ago Cpu 4190:12:13.34428 ago Cpu 3710:12:13.34433 ago Cpu 99138260:12:14.26621 ago Cpu 537758120:12:19.26680 ago Cpu 537757400:12:24.26738 ago Cpu 537757140:12:29.26796 ago Cpu 10730:12:29.26806 ago Cpu 10680:12:29.26816 ago Cpu 10740:12:29.26825 ago Cpu 1071

Page 40: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3000

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

• This command displays the last 10 records of transmission drop data on a Trident II or Tomahawk switch.

switch>show queue-monitor length limit 10 samples drops

Report generated at 2017-03-10 15:25:34Time Interface(TC) TX Drops-----------------------------------------------------------------0:03:47.06553 ago Cpu0/0(39) 174198180:03:48.68527 ago Cpu0/0(39) 537737070:03:53.68527 ago Cpu0/0(39) 537737700:03:58.68528 ago Cpu0/0(39) 537737630:04:03.68529 ago Cpu0/0(39) 538780:04:03.69030 ago Cpu0/0(39) 537770:04:03.69530 ago Cpu0/0(39) 539170:04:03.70031 ago Cpu0/0(39) 538800:04:03.70532 ago Cpu0/0(39) 537860:04:03.71032 ago Cpu0/0(39) 53782switch>

Page 41: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3001

show queue-monitor length ethernet

The show queue-monitor length ethernet command displays a report of recent over-threshold events for a range of interfaces, with the newest events listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length ethernet e-range

Parameters

e-range the range of interfaces to be included in the report; formats include a number, number range, or comma-delimited list of numbers and ranges

Examples

• This command displays the last 1000 records for Ethernet interface 9 on an FM6000 platform switch.

switch>show queue-monitor length ethernet 9Report generated at 2017-03-10 15:33:35E-End, U-Update, S-Start, TC-Traffic ClassGH-High, GU-Update, GL-LowSegment size for E, U and S congestion records is 480 bytesSegment size for GL, GU and GH congestion records is 160 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter-------------------------------------------------------------------------------Type Time Intf Congestion Queue Time of Max (TC) duration length Queue length (usecs) (segments) relative to congestion start (usecs)------------------------------------------------------------------------------- E 0:00:24.82515 ago Et9(1) 22737967 5623* 26651 U 0:00:27.55841 ago Et9(1) N/A 5620 N/A U 0:00:32.55899 ago Et9(1) N/A 5620 N/A U 0:00:37.55957 ago Et9(1) N/A 5621 N/A U 0:00:42.56015 ago Et9(1) N/A 5621 N/A U 0:00:47.56073 ago Et9(1) N/A 5621 N/A U 0:00:47.56083 ago Et9(1) N/A 5620 N/A U 0:00:47.56093 ago Et9(1) N/A 5620 N/A U 0:00:47.56103 ago Et9(1) N/A 5620 N/A U 0:00:47.56113 ago Et9(1) N/A 5620 N/Aswitch>

Page 42: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3002

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

• This command displays the last 1000 records for Ethernet interface 23/3 on a Trident II or Tomahawk platform switch.

switch>show queue-monitor length Ethernet 23/3Report generated at 2017-03-10 15:38:01E-End, U-Update, S-Start, TC-Traffic ClassSegment size for E, U and S congestion records is 208 bytes* Max queue length during period of congestion+ Period of congestion exceeded counter-----------------------------------------------------------------------------------------------Type Time Interface Congestion Queue Time of Max Fabric (TC) duration length Queue length Peer (usecs) (segments) relative to congestion start (usecs)----------------------------------------------------------------------------------------------- E 0:00:29.49376 ago Et23/3(1) 22388908 7879* 365268 U 0:00:31.83332 ago Et23/3(1) N/A 7877 N/A U 0:00:36.83288 ago Et23/3(1) N/A 7877 N/A U 0:00:41.83289 ago Et23/3(1) N/A 7877 N/A U 0:00:46.83289 ago Et23/3(1) N/A 7877 N/A U 0:00:51.83260 ago Et23/3(1) N/A 7877 N/A U 0:00:51.83760 ago Et23/3(1) N/A 7877 N/A U 0:00:51.84261 ago Et23/3(1) N/A 7878 N/A U 0:00:51.84762 ago Et23/3(1) N/A 7877 N/A U 0:00:51.85263 ago Et23/3(1) N/A 7877 N/A U 0:00:51.85763 ago Et23/3(1) N/A 7877 N/A U 0:00:51.86264 ago Et23/3(1) N/A 7877 N/A U 0:00:51.86765 ago Et23/3(1) N/A 7878 N/A U 0:00:51.87265 ago Et23/3(1) N/A 7877 N/A U 0:00:51.87766 ago Et23/3(1) N/A 7877 N/A S 0:00:51.88267 ago Et23/3(1) N/A 1710 N/Aswitch>

• This command displays the last 1000 records for Ethernet interface 24 on an Arad or Jericho platform switch in Polling Mode.

switch>show queue-monitor length Ethernet 24Report generated at 2017-03-10 16:04:28E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress Length Port-set (bytes) (usecs)---------- ----------------------- -------------------------- -------------- -------------- --------P 0:00:04.81587 ago Et24(3) 36126720 4030092 Et1-24switch>

• This command displays the last 1000 records for Ethernet interface 24 on an Arad or Jericho platform switch in Notifying Mode.

switch>show queue-monitor length Ethernet 24Report generated at 2017-03-10 16:08:58E-End, S-Start, P-Polling, TC-Traffic Class* Max queue length during period of congestionType Time Intf(TC) Queue Duration Ingress Length Port-set (bytes) (usecs)---------- ----------------------- -------------------------- --------------- -------------- --------E 0:00:03.11739 ago Et24(2) 36126720* 20700629 Et9-20,54/1-4U 0:00:04.01513 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:08.94918 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:13.88323 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:18.81728 ago Et24(2) 36126720 N/A Et9-20,54/1-4U 0:00:23.74758 ago Et24(2) 36126720 N/A Et9-20,54/1-4S 0:00:23.81802 ago Et24(2) 36126720 N/A Et9-20,54/1-4switch>

Note The non-sequential listing of ingress ports shown here is specific to Jericho switches; interfaces on Arad switches are always displayed sequentially.

Page 43: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3003

show queue-monitor length global-buffer

The show queue-monitor length global-buffer command displays a report of recent high usage, low usage and update events for the global buffer. Newest events are listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length global-buffer

Guidelines

This command is available on FM6000 platform switches.

Example

• This command displays the global buffer event records for the switch.

switch>show queue-monitor length global bufferReport generated at 2013-04-01 14:30:07GH-High, GU-Update, GL-LowSegment size = 160 bytes* Max buffer usage during period of congestion--------------------------------------------------------------------------------Type Time Buffer Congestion Time of Max

usage duration buffer usage(segments) (usecs) relative to

GH (usecs)--------------------------------------------------------------------------------GE 0:04:04.49547 ago 3121* 20786516 3418GU 0:04:05.27967 ago 3120 N/A N/AGU 0:04:10.27968 ago 3120 N/A N/AGU 0:04:25.28163 ago 3118 N/A N/AGU 0:04:25.28173 ago 3118 N/A N/AGU 0:04:25.28182 ago 2963 N/A N/AGU 0:04:25.28192 ago 1916 N/A N/AGS 0:04:25.28201 ago 913 N/A N/Aswitch>

Page 44: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3004

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

show queue-monitor length limit

The show queue-monitor length limit command displays a report of recent over-threshold events for a range of interfaces or for all interfaces, limited by a specified number of records.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length limit [INTERFACES] number

Parameters

• INTERFACES interface type and number for report. Values include:

• <no parameter> displays information for all interfaces.

• ethernet e-range e-range formats include a number, number range, or comma-delimited list of numbers and ranges

• number number of records to display. Values range from 1 to 1000000.

Example

• This command displays the last 100 records for Ethernet interfaces 6 through 8.

switch>#show queue-monitor length ethernet 6-8 limit 100 samplesReport generated at 2010-01-01 12:56:13Time Interface Queue length (segments, 1 to 512 bytes)----------------------------------------------------------------------------0:00:07.43393 ago Et6 10490:00:39.22856 ago Et7 20391 day, 4:33:23.12345 ago Et6 1077switch>

Page 45: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3005

show queue-monitor length statistics

The show queue-monitor length statistics command displays LANZ statistics for all interfaces, showing the traffic class and number of recorded congestion events for each interface.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length statistics

Example

• This command displays LANZ statistics for all interfaces on the switch.

switch>show queue-monitor length statistics

Report generated at 2016-02-09 22:59:56Interface Traffic Class Count-----------------------------------------------------------------Et29 11 1

Page 46: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3006

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

show queue-monitor length status

The show queue-monitor length status command displays the current LANZ configuration for the switch and for each interface. On certain platforms, the status of global buffer monitoring and per-linecard LANZ mode are displayed.

Command Mode

EXECGlobal Configuration

Command Syntaxshow queue-monitor length status

Guidelines

On FM6000 platform switches, this command includes status information about global buffer monitoring.

On Arad and Jericho based linecards, if LANZ is globally enabled (using the queue-monitor length command), the command displays the monitoring mode per-linecard.

On Arad and Jericho switches, even when all linecards are configured in Notifying Mode (using the queue-monitor length notifying command), some linecards may still run LANZ in Polling Mode under the following circumstances:

• On Arad-based linecards, LANZ falls back to Polling Mode when SSO redundancy mode is configured on the card (here, the mode is shown as “polling due to SSO configured”).

• On Jericho-based linecards, LANZ may run in Polling Mode when many features that use the switch’s statistic capabilities have been configured (here, the mode is shown as “polling due to counters exhausted”).

Page 47: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3007

Examples

• This command displays the current LANZ configuration on an FM6000 device.

switch#show queue-monitor length statusqueue-monitor length enabledqueue-monitor length packet sampling is disabledqueue-monitor length update interval in micro seconds: 5000000Global Buffer Monitoring------------------------Global buffer monitoring is enabledSegment size in bytes : 160Total buffers in segments : 49152High threshold : 16862Low threshold : 6745

Per-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is enabledSegment size in bytes : 480Maximum queue length in segments : 5621Port thresholds in segments:Port High threshold Low threshold Mirroring EnabledCpu 512 256 TrueEt1 512 256 TrueEt2 512 256 TrueEt3 512 256 TrueEt4 512 256 TrueEt5 512 256 TrueEt6 512 256 TrueEt7 512 256 True

<-------OUTPUT OMITTED FROM EXAMPLE-------->switch#

• This command displays the current LANZ configuration on a Trident II or Tomahawk device.

switch#show queue-monitor length statusqueue-monitor length enabledqueue-monitor length packet sampling is disabledqueue-monitor length update interval in micro seconds: 5000000Per-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is enabledSegment size in bytes : 208Maximum queue length in segments : 16382Port thresholds in segments:Port High threshold Low threshold Cpu 512 256Et1/1 512 256Et1/2 512 256Et1/3 512 256Et1/4 512 256Et2/1 512 256Et2/2 512 256Et2/3 512 256

<-------OUTPUT OMITTED FROM EXAMPLE-------->switch#

Page 48: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3008

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

• This command displays the current LANZ configuration on an Arad or Jericho device.

switch#show queue-monitor length statusqueue-monitor length enabledqueue-monitor length packet sampling is disabledqueue-monitor length update interval in micro seconds: 5000000Per-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is enabledQueue length monitoring mode is notifyingQueue length monitoring status is:

Linecard3 polling due to SSO configuredLinecard4 polling due to SSO configuredLinecard5 polling due to SSO configuredLinecard6 polling due to SSO configured

Maximum queue length in bytes : 524288000Port thresholds in bytes:Port High threshold Low threshold WarningsCpu 65536 32768Et3/1/1 5242880 2621440Et3/1/2 5242880 2621440Et3/1/3 5242880 2621440Et3/1/4 5242880 2621440Et3/1/5 5242880 2621440Et3/1/6 5242880 2621440Et3/1/7 5242880 2621440Et3/1/8 5242880 2621440

• This command displays the current LANZ configuration on an Arad or Jericho device with LANZ disabled globally. Per-linecard LANZ mode status is not displayed.

switch(config)#show queue-monitor length statusqueue-monitor length disabledqueue-monitor length packet sampling is disabledqueue-monitor length update interval in micro seconds: 5000000Per-Interface Queue Length Monitoring-------------------------------------Queue length monitoring is disabledQueue length monitoring mode is notifyingMaximum queue length in bytes : 524288000Port thresholds in bytes:Port High threshold Low threshold WarningsCpu 65536 32768Et3/1/1 5242880 2621440Et3/1/2 5242880 2621440Et3/1/3 5242880 2621440Et3/1/4 5242880 2621440Et3/1/5 5242880 2621440Et3/1/6 5242880 2621440Et3/1/7 5242880 2621440Et3/1/8 5242880 2621440

<-------OUTPUT OMITTED FROM EXAMPLE-------->

Page 49: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3009

show queue-monitor length tx-latency

The show queue-monitor length tx-latency command displays the latency data of recent LANZ events for a range of interfaces or for all interfaces. Output can be limited to a specified number of seconds or records. The most recent events are listed first. By default, the command displays data for all interfaces, limited to the last 1000 records. Newest events are listed first.

LANZ must be enabled to use this command (see queue-monitor length (global configuration mode)). If LANZ is disabled, the command displays “queue-monitor is disabled.”

Command Mode

EXEC

Command Syntaxshow queue-monitor length [INTERFACES] [FACTOR] tx-latency

Parameters

• INTERFACES interface type and number for report. Values include:

• <no parameter> displays information for all interfaces.

• ethernet e-range e-range formats include a number, number range, or comma-delimited list of numbers and ranges

• FACTOR limiting parameter for report. Values include:

• <no parameter> displays the last 1000 records.

• limit number samples displays the last number records.

• limit number seconds displays all records generated during the last number seconds.

Value of number ranges from 1 to 1000000.

Guidelines

This command is available on FM6000, Trident II, Trident 3, and Tomahawk platform switches.

Example

• This command displays transmission latency data for the last 1000 LANZ events on the switch.

switch>show queue-monitor length tx-latency

Report generated at 2017-03-10 15:40:02Time Interface(TC) Tx-Latency (usecs)-----------------------------------------------------------------0:02:29.99222 ago Et23/3(1) 724.8680:02:32.33178 ago Et23/3(1) 724.6840:02:37.33134 ago Et23/3(1) 724.6840:02:42.33135 ago Et23/3(1) 724.6840:02:47.33135 ago Et23/3(1) 724.6840:02:52.33106 ago Et23/3(1) 730.985switch>

Page 50: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3010

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

show queue-monitor streaming clients

The show queue-monitor streaming clients command displays the number of presently connected clients through LANZ streaming, and also displays their host-names. Ensure that both LANZ and LANZ streaming are enabled in order to use this command.

Command Mode

EXEC

Command Syntaxshow queue-monitor streaming clients

Example

• This command displays the number of clients connected to LANZ streaming.

switch#show queue-monitor streaming clientsNumber of clients connected: 3--------------------------------172.20.63.161:6565172.24.17.58:42172.38.54.142:333

Page 51: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

Chapter 44: Latency Analyzer (LANZ) LANZ Commands

3011

shutdown (queue-monitor-streaming configuration)

The shutdown command disables the streaming of LANZ data to external clients. The no shutdown command enables LANZ data streaming. Streaming is disabled by default.

Command Mode

Queue-Monitor-Streaming Configuration

Command Syntaxshutdownno shutdown

Example

• These commands enable the streaming of LANZ data on the switch.

switch(config)#queue-monitor streamingswitch(config-qm-streaming)#no shutdownswitch(config-qm-streaming)#

Page 52: Latency Analyzer (LANZ) · data is in Google protocol buffer format, and includes both over-threshold events and LANZ configuration information. 44.2.5 Platforms The LANZ feature

3012

LANZ Commands Chapter 44: Latency Analyzer (LANZ)

tcpdump queue-monitor

The tcpdump queue-monitor command exports congested traffic to a packet capture device or another tool for analysis, or directly to the switch CPU for inspection.

Command Mode

Global Configuration

Command Syntaxtcpdump queue-monitortcpdump queue-monitor <file | filecount | filter | lookup-names | max-file-size | packet-count | size | verbose>

Parameters

• file output file.

• certificate: certificate file.

• file: standard file.

• flash: flash file.

• sslkey: sslkey file.

• usb1: usb1 file.

• filecount specify the number of output files: 1 to 100.

• filter set the filtering expression to select which packets will be dumped.

• lookup-names enable reverse DNS lookups.

• max-file-size specify the maximum file size by entering 1 to 100 million bytes.

• packet-count specify 1 to 10000 packets to capture.

• size specify the maximum number of bytes to dump per packet with a size of 1 to 65536 bytes.

• verbose enable verbose mode.

Example

• This command inspects traffic on the switch.

switch(config)#tcpdump queue-monitortcpdump: WARNING: lanz: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lanz, link-type EN10MB (Ethernet), capture size 65535 bytes...0 packets captured0 packets received by filter0 packets dropped by kernelswitch(config)#