Утилита gping заменяет текстовый вывод ping графиком в терминале

2026-08-01 291 комментарии
gping – консольная утилита, которая выводит задержки ping в виде кривой в реальном времени. Поверх графика показаны последний, минимальный, максимальный и средний отклик, джиттер, 95-й процентиль и счётчик оставшихся без ответа запросов

gping заменяет привычные строки вывода ping кривой, которая рисуется в окне терминала в реальном времени. Всплеск задержки виден на ней сразу, а не вычитывается из ленты одинаковых строк. Поверх графика идёт строка с семью значениями по каждому адресу, включая джиттер и 95-й процентиль, которых штатный ping не считает. Своих ICMP-пакетов утилита не формирует: она запускает системный ping и разбирает его вывод, поэтому часть ключей зависит от платформы. Работает в Linux, macOS и Windows, исходный код открыт по лицензии MIT.

comss img 2026 08 01 140346

Что показывает график и строка статистики

По горизонтали откладывается системное время, по вертикали – время отклика. Ширина видимого окна задаётся ключом -b, по умолчанию это 30 секунд: старые точки уходят за левый край, новые появляются справа. Интервал между запросами меняется ключом -n и по умолчанию равен 0,2 секунды.

Над графиком по каждому хосту выводится строка из семи полей: last – задержка последнего ответа, min и max – крайние значения за показанный интервал, avg – среднее, jtr – джиттер, p95 – 95-й процентиль, t/o – счётчик оставшихся без ответа запросов. Штатный ping в Linux печатает по завершении min, avg, max и mdev, но не показывает их по ходу опроса и не считает процентиль.

Джиттер – разброс задержки от пакета к пакету. Для голосовой связи и видеозвонков скачущая задержка мешает сильнее, чем высокая, но ровная: буфер приёма рассчитан на предсказуемое время доставки.

95-й процентиль – значение, ниже которого укладываются 95% измерений. В отличие от среднего, показывает, на что похожи худшие ответы, и при этом не тянется за единичными выбросами, как максимум.

Кривая по умолчанию собирается из символов Брайля – за счёт восьми точек в знакоместе разрешение получается выше, чем при обычной псевдографике. Если шрифт терминала передаёт эти символы плохо, ключ -s переключает отрисовку на точки.

Несколько адресов на одном графике

Хост указывается явно – запуск без аргументов заканчивается сообщением об ошибке. Адресов может быть сразу несколько, и все кривые ложатся на общее поле, что удобно для сравнения маршрута до провайдера и до целевого сайта:

gping example.com example.org example.net

Цвета назначаются ключом -c: значения перечисляются через запятую и сопоставляются с хостами по порядку. Принимаются имена (black, red, green, yellow, blue, magenta, cyan, gray, white и осветлённые варианты вроде light-blue) и коды вида #RRGGBB.

gping -c red,blue example.com example.org

Для облачных площадок предусмотрена короткая запись: aws:eu-west-1 разворачивается в ec2.eu-west-1.amazonaws.com, а gcp:me-central2 – в storage.me-central2.rep.googleapis.com. В readme проекта упомянут только AWS, но в исходном коде начиная с версии 1.19.0 обрабатываются оба префикса.

С ключом --cmd на график попадает время выполнения команд, а не задержка сети. Так измеряют, например, скорость ответа веб-сервера целиком, вместе с установкой соединения:

gping --cmd "curl example.com"

Остальные ключи запуска

Ключи -4 и -6 заставляют разрешать имена только в IPv4 или только в IPv6, -i выбирает сетевой интерфейс, --ping-args передаёт системному ping дополнительные аргументы, набор которых зависит от платформы. Последние два ключа в сборке для Windows отсутствуют, поскольку опираются на поведение конкретной реализации ping.

Отступы вокруг поля графика настраиваются через --vertical-margin и --horizontal-margin, а ключ --clear убирает график из терминала после выхода, не оставляя картинку в истории прокрутки. Полный перечень с описаниями лежит в man-странице и выводится по gping --help.

Установка в Arch Linux и производных дистрибутивах

Собирать из исходников не нужно: пакет лежит в официальном репозитории extra.

sudo pacman -S gping

Та же команда подходит для EndeavourOS, CachyOS, Garuda Linux и Manjaro. Единственная зависимость – iputils, то есть системный ping, вывод которого утилита и разбирает; в подавляющем большинстве установок этот пакет уже стоит. В AUR есть gping-git, но сборочный сценарий не обновлялся с августа 2021 года, и при наличии готового пакета в extra смысла собирать его нет.

Установка в Ubuntu, Debian и других системах

В Ubuntu пакет находится в разделе universe:

sudo apt install gping

В 22.04 LTS пакета нет, а сборка из 24.04 LTS заметно старше нынешней, из-за чего в ней недоступны ключ --ping-args и короткая запись для регионов Google Cloud. Тем, кому эти возможности нужны, остаются установка через cargo (по документации проекта нужен rustc не ниже 1.67.0) и готовые архивы со страницы релизов, где выложены варианты для glibc и musl. В Debian, по той же документации, пакет доступен начиная с 13-го выпуска.

Для macOS в описании проекта перечислены Homebrew и MacPorts, для Windows – Scoop и Chocolatey. Там же указаны пакеты для Alpine, Fedora, Gentoo и FreeBSD и образ для Docker.

Заключение

gping не заменяет полноценный мониторинг, но закрывает частую бытовую задачу: понять, где именно теряется связь – на домашнем канале, у провайдера или на стороне сайта. Одновременный опрос нескольких адресов и строка с джиттером и 95-м процентилем дают ответ за десяток секунд наблюдения. Ставится одной командой пакетного менеджера, отдельной настройки не требует, при выходе с ключом --clear не оставляет следов в терминале.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте