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"
}
}