🇺🇸 English · 🇨🇳 中文 | Table of Contents ↗️
✨ Features
| Feature | Description |
|---|---|
| Pure Rust | No runtime dependencies, produces a tiny static binary |
| ICMP-free | Works where traditional ping is blocked; relies solely on TCP handshake |
| Cross-platform | Linux, macOS, Windows, *BSD, and any Tier-1 Rust target |
| Continuous / Burst modes | -t for continuous, -c for specific count, plus -e early exit |
| Machine-readable output | JSON / CSV via -o, ideal for scripts & monitoring |
| Jitter stats | -j flag shows latency variance (p95) |
| Docker image | Multi-arch (amd64 / arm64) for pipelines or Kubernetes Jobs |
Usage
Where:
host:portis the host and port to ping-c countspecifies the number of times to ping the host (default: 4)-tenables continuous pinging-eexits immediately after a successful probe-jcalculates and displays jitter-o modesets the output mode (normal,json,csv)-hdisplays help-Vdisplays version
Example
Installation
Download from Releases
Download the precompiled binaries from the Releases Page.
- Navigate to the Releases section.
- Download the appropriate binary for your operating system.
- Extract the executable and place it in a directory included in your PATH.
Using Docker
Run tcping-rs using the Docker image:
docker run --rm docker.io/lvillis/tcping:latest <host:port> [options]
Using Nix
tcping-rs is available in nixpkgs. To install it system wide:
environment.systemPackages = [
pkgs.tcping-rs
];
Or spawn in a nix-shell:
nix-shell -p tcping-rs
About
This tool allows you to measure the latency to a server using TCP. It is built with Rust and uses the clap library for command line argument parsing.