1

У меня есть набор тестов для приложений, которые выполняют много HTTP-запросов.

Это число меняется каждый раз, когда вы запускаете тесты. Существует ли команда или программа Unix, которая "слушает" другую программу, считающую ее http-запросы?

2 ответа2

0

Любой перехватчик пакетов сделает это за вас. Проверьте tcpdump или wireshark. Вам нужно настроить несколько фильтров на собираемые ими данные, но это легко.

0
  • Вы можете отслеживать системные вызовы вашего приложения с помощью truss/trace/strace/... (имя, синтаксис командной строки и формат вывода зависят от ОС) и отслеживать вызовы connect . Если ваше приложение также использует не-HTTP сеть, вам, возможно, придется немного поработать, чтобы отфильтровать соответствующие соединения.

  • Вы можете использовать LD_PRELOAD или отладчик, чтобы изменить функцию, которая создает HTTP-соединения. Но это может быть слишком навязчиво для теста.

  • Вы можете поместить простой прокси между вашим приложением и сетью. И perl, и python поставляются с библиотеками, которые сделали бы его программой из 10–20 строк. Этот подход я бы предпочел, если вы специально не тестируете поведение своего приложения на конкретном сервере или прокси.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .