TCP

Overview

TCP level detailed information

Module Name in API

tcp

Product Name in API

local-traffic

Dimensions

Dimension Name in API Description
Continent continent  
Subnet subnet Client IP subnet
City + Post Code city-postcode  
Virtual Server virtual  
Subscriber Name subscriber  
Subscriber Type subscriber-type  
BIG-IP Blade Number slot-id Used for BIG-IP Chassis with multiple blades. A value of 0 means this is a non chassis BIG-IP, any other value tells the serial number of the blade in the chassis
Radio Type radio-type  
User Provided Key user-key  
BIG-IP Host Name hostname The hostname given to the BIG-IP
Country + Region country-region Client Country and Region
Application Service applicationService  
Request Side request-side  
NextHop next-hop  
BIG-IP Service Cluster dsc-name Clusters of BIG-IPs grouped together to have the same config
Remote Host IP Address remote-host-ip  
Application applications  
Tower tower  

MetricSets

Delay State Nagle

Description

Delay in outgoing data delivery due to Nagle’s algorithm holding sub-MSS size packets. If the Nagle state shows up frequently, disable Nagle’s algorithm in the TCP profile

Name In API

delaystate-nagle

Metrics in the metricSet

Metric Name in API Unit Description
Delay State Nagle avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to Nagle’s algorithm, holding sub-MSS size packets

Packets Sent

Description

The overall packets sent by BIG-IP to the remote hosts

Name In API

packets-sent

Metrics in the metricSet

Metric Name in API Unit Description
Total Packets Sent count   Total number of packets sent by BIG-IPs to the remote hosts
Average Packets Sent avg-count-per-sec pps Average number of packets per second, sent by BIG-IPs to the remote hosts

Connections Opened

Description

Number of new TCP connections that were opened

Name In API

connections-opened

Metrics in the metricSet

Metric Name in API Unit Description
Total Connections Opened count conns Total number of new TCP connections that were opened
Average Connections Opened avg-count-per-sec conns/s Average per second, of number of new TCP connections that were opened

Delay State RWND

Description

Delay in outgoing data delivery due to retransmission. TCP is resending data and/or waiting for acknowledgment of those retransmissions. This may indicate lossy links in the data path, or overly aggressive congestion control (for example, a profile with Slow Start disabled or improperly set Packet Loss Ignore settings). Activating rate-pace in the TCP profile may also help.

Name In API

delaystate-retx

Metrics in the metricSet

Metric Name in API Unit Description
Delay State RETX avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to retransmission of data (RETX)

Delay State CWND

Description

Delay in outgoing data delivery due to limited congestion-window. The TCP congestion window is holding available data. This is usually a legitimate response to the bandwidth-delay product and congestion on the packet path. In some cases, it might be a poor response to non-congestion packet loss (fixable using the Packet Loss Ignore profile options) or inaccurate data in the congestion metrics cache

Name In API

delaystate-cwnd

Metrics in the metricSet

Metric Name in API Unit Description
Delay State CWND avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to limited congestion-window

Goodput Sent

Description

Amount of application-level (Goodput) bytes sent from BIG-IPs to the remote hosts

Name In API

goodput-sent

Metrics in the metricSet

Metric Name in API Unit Description
Total Goodput Sent sum bytes The total Goodput in bytes sent from BIG-IP to the remote hosts
Average Goodput Sent avg-value-per-sec Bps The average Goodput in bytes per second, sent from BIG-IP to the remote hosts

Delay State RWND

Description

Delay in outgoing data delivery due to limited receive-window, The remote host’s flow-control is forcing the BIG-IP system to an idle state

Name In API

delaystate-rwnd

Metrics in the metricSet

Metric Name in API Unit Description
Delay State RWND avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to limited receive window (RWND)

Round Trip Time

Description

The communication time (in ms) from a SYN to an ACK message between BIG-IP and the remote hosts

Name In API

round-trip-time

Metrics in the metricSet

Metric Name in API Unit Description
Total Round Trip Time Measurement Count count trans The number of times a round trip time was measured. This value provides insights about the data sampling’s strength.
Average Round Trip Time avg-value-per-event ms The average observed round trip time between BIG-IP and the remote hosts.

Delay State Closing

Description

Delay in ACK of the FIN request. The BIG-IP system has received acknowledgment of all data, sent the FIN, and is awaiting acknowledgment of the FIN.

Name In API

delaystate-closing

Metrics in the metricSet

Metric Name in API Unit Description
Delay State Closing avg-value-per-event % The percentage of time out of all delay states that a connection was waiting for ACK for the FIN request (Closing)

Connections Closed

Description

Number of TCP connections that were closed

Name In API

connections-closed

Metrics in the metricSet

Metric Name in API Unit Description
Total Connections Closed count conns Total number of TCP connections that were closed
Average Connections Closed avg-count-per-sec conns/s Average per second, of number of TCP connections that were closed

Packets Lost

Description

Packets lost over the TCP connection between BIG-IP and the remote hosts.

Name In API

packets-lost

Metrics in the metricSet

Metric Name in API Unit Description
Total Packets Lost count   The number of packets lost between BIG-IP and the hosts
Average Packets Lost avg-count-per-sec pps Average average number of packets per second lost between BIG-IP and the remote hosts

Goodput Received

Description

The number of application-level (Goodput) bytes received by BIG-IPs from the remote hosts

Name In API

goodput-recv

Metrics in the metricSet

Metric Name in API Unit Description
Total Goodput Received sum bytes The total Goodput in bytes, received by BIG-IPs from the remote hosts
Average Goodput Received avg-value-per-sec Bps The average Goodput in bytes per second, received by BIG-IPs from the remote hosts

Connection Duration

Description

Duration of TCP connections from the moment they are established until they are closed, this value is rough estimation and should not be treated as exact duration

Name In API

connections-duration

Metrics in the metricSet

Metric Name in API Unit Description
Connections Duration avg-value-per-event ms Average duration of TCP connections from the moment they are established until they are closed, this value is rough estimation and should not be treated as exact duration

Delay State Rate Pace

Description

Delay in outgoing data delivery due to rate pacing. This has no impact on throughput, and no action is required

Name In API

delaystate-ratepace

Metrics in the metricSet

Metric Name in API Unit Description
Delay State Rate Pace avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to rate pacing

Delay State 3WHS

Description

Delay in outgoing data delivery due to 3-way handshake that starts a TCP connection. This state is accrue only if round-trip-time of the SYN or SYN-ACK could be estimated

Name In API

delaystate-3whs

Metrics in the metricSet

Metric Name in API Unit Description
Delay State 3WHS avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to 3-way handshake that starts a TCP connection (3WHS)

Delay State App

Description

Delay in outgoing data delivery due to application layer. The BIG-IP system has successfully delivered all available data. There is a delay either at the client, the server, or in the layers above TCP on the BIG-IP system

Name In API

delaystate-app

Metrics in the metricSet

Metric Name in API Unit Description
Delay State App avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to application level

Delay State Send Buffer

Description

Delay in outgoing data delivery due to full send buffer. Correctable by increasing the Send Buffer size in the TCP profile

Name In API

delaystate-send-buffer

Metrics in the metricSet

Metric Name in API Unit Description
Delay State Send Buffer avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to full send buffer

Delay State Wait For Ack

Description

Delay in outgoing data delivery due to wait for ACK message. The BIG-IP system has sent all available data and is awaiting an ACK. If this state is prevalent, it could be a short connection, or the upper layers or the server are forcing TCP to frequently pause to accept new data

Name In API

delaystate-wait-for-ack

Metrics in the metricSet

Metric Name in API Unit Description
Delay State Wait For Ack avg-value-per-event % The percentage of time out of all delay states that outgoing data delivery was delayed due to wait for ack

Packets Received

Description

Packets received over the TCP connection between BIG-IP and the remote hosts.

Name In API

packets-recv

Metrics in the metricSet

Metric Name in API Unit Description
Total Packets Received count packets The number of packets received by BIG-IP from the remote hosts.
Average Packets Received avg-count-per-sec pps The average number of packets per second, received by BIG-IPs from the remote hosts

Examples

By Time Query

A query by time returns a series of data points in time, based on optional filters, time range, and time granularity. This query kind is identified by the keyword: “ap:query:stats:byTime”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, filters by dimension continent and get the avg-value-per-event of delaystate-nagle

{
    "kind": "ap:query:stats:byTime",
    "module": "tcp",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    },
    "timeGranularity": {
            "duration": 30,
            "unit": "SECONDS"
    },
    "aggregations": {
            "delaystate-nagle$avg-value-per-event": {
                    "metricSet": "delaystate-nagle",
                    "metric": "avg-value-per-event"
            }
    },
    "dimensionFilter": {
            "type": "eq",
            "dimension": "continent",
            "value": "value to filter by"
    }
}

By Entities Query

A query by entities returns a sort set of entities, based on optional filters, time range, and choosen metric to sort by. This query kind is identified by the keyword: “ap:query:stats:byEntities”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets top entities of type continent, sorted by avg-value-per-event of delaystate-nagle

{
    "kind": "ap:query:stats:byEntities",
    "module": "tcp",
    "timeRange": {
            "from": "-1H",
            "to": "now"
    },
    "dimension": "continent",
    "sortMetric": "delaystate-nagle$avg-value-per-event",
    "sortOrder": "desc",
    "aggregations": {
            "delaystate-nagle$avg-value-per-event": {
                    "metricSet": "delaystate-nagle",
                    "metric": "avg-value-per-event"
            }
    },
    "limit": 5
}

Entities Count Query

An entities count query returns the distinct count of entities, based on optional filters, time range, and choosen entity type. This query kind is identified by the keyword: “ap:query:stats:entitiesCount”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets the distinct count of entities of type continent

{
    "kind": "ap:query:stats:entitiesCount",
    "module": "tcp",
    "dimension": "continent",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    }
}