---
title: TCP Ping
description: Measure connection latency at the TCP layer over the cellular connection.
lastUpdated: "2026-09-23"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

Measure latency by opening TCP connections to a host instead of sending ICMP packets. Use it when firewalls filter ICMP, or to measure the latency your applications actually experience at the transport layer.

## Parameters

| Parameter | Required | Description |
| ----------- | ---------- | ------------- |
| Url | Yes | Host (and port) to reach. |
| Ping count | No | Number of connection attempts. Default: 10. |
| TCP Ping should fail | No | Invert the verdict. |

Plus the shared [connection settings](/tests/actions/cellular/overview#connection-settings) and DNS override (`command.override_dns`, `command.dns`).

## Results and metrics

In the action report (`result`):

| Field | Description |
|-------|-------------|
| `rtt_mean` | Mean time to establish the TCP connection. |
| `packet_loss_pct` | Percentage of failed attempts. |
| `ping_count` | Number of attempts. |
| `dns_server` | DNS servers used for resolution. |
| `duration` | Total execution time in seconds. |

In Analytics, each run feeds the TCP ping measurement with `rtt_seconds`, `packet_loss_percent`, and `duration_seconds`, tagged by status, APN, DNS server, antenna, and access technology.

## What's next?

<Columns cols={2}>
  <Card title="Ping" icon="arrow-right-arrow-left" href="/tests/actions/cellular/ping">

    Plain ICMP latency

</Card>
  <Card title="API Call" icon="cloud" href="/tests/actions/cellular/api-call">

    Full HTTP requests with status and timing breakdown

</Card>
</Columns>
