httptap¶
httptap は、HTTP リクエストをあらゆる意味のあるフェーズ(DNS、TCP 接続、TLS ハンドシェイク、サーバー待機、ボディ転送)に分解し、その結果をタイムラインテーブル、コンパクトなサマリー、またはマシンで扱いやすいメトリクスとして描画する Rich 製の CLI です。対話的なトラブルシューティング、リグレッション分析、パフォーマンスのベースライン記録のために設計されています。
特別オファー
GitKraken Client、VS Code 向け GitLens、そして強力な CLI ツールをまとめて、あらゆるリポジトリのワークフローを加速しましょう。
httptap コミュニティ限定
ハイライト¶
- フェーズごとのタイミング計測 – httpcore のトレースフックから構築した精密な計測(低レベルのデータが利用できない場合には妥当なフォールバックを使用)
- すべての HTTP メソッド – GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS をリクエストボディ対応でサポート
- リクエストボディ対応 – JSON、XML、または任意のデータをインラインまたはファイルから送信し、Content-Type を自動検出
- IPv4/IPv6 対応 – リゾルバと TLS インスペクタがアドレスとそのファミリの両方を報告
- TLS インサイト – 証明書の CN、SAN、発行者、シリアル、有効期間と有効期限までのカウントダウン、加えて暗号スイートとプロトコルバージョンを、ライブ接続から自動的に取得(追加のハンドシェイクは不要)
- 複数の出力モード – リッチなウォーターフォールビュー、コンパクトな 1 行サマリー、またはスクリプト向けの
--metrics-only - JSON エクスポート – 後処理のためにステップの全データ(リダイレクトチェーンを含む)を保存
- 拡張可能 – DNS、TLS、タイミング、可視化、エクスポート向けのクリーンな Protocol インターフェースにより、独自の挙動を差し込み可能
クイックサンプル¶
GET リクエスト:
JSON データ付きの POST:

主な機能¶
リッチなウォーターフォールの可視化¶
Rich を活用した美しいターミナル UI で、HTTP リクエストの各フェーズの詳細なタイミングの内訳を表示します。
複数の出力形式¶
- リッチモード(デフォルト): 色付きで整形された美しいウォーターフォールテーブル
- コンパクトモード(
--compact): ログに適した 1 行サマリー - メトリクスモード(
--metrics-only): スクリプトや自動化のための生のメトリクス - JSON エクスポート(
--json): リダイレクトチェーンを含むリクエストの全データ
高度なネットワークインサイト¶
- IP ファミリ検出(IPv4/IPv6)付きの名前解決のタイミング
- TCP 接続確立のタイミング
- 証明書情報付きの TLS ハンドシェイク分析
- 最初のバイトまでの時間(TTFB)の計測
- レスポンスボディ転送のタイミング
リダイレクトチェーンのサポート¶
--follow フラグで HTTP のリダイレクトを追跡し、チェーンの各ステップのタイミングの内訳を確認できます。
次のステップ¶
-
httptap を数秒で使い始める
-
シンプルな例で基本を学ぶ
-
すべての機能とオプションを探索する
-
独自コンポーネントで httptap を拡張する
動作要件¶
- Python 3.10-3.15
- macOS、Linux、または Windows
- 標準的なネットワーク機能以外にシステム依存関係は不要
ライセンス¶
Apache License 2.0 © Sergei Ozeranskii
つながる¶
実務経験からの知見を得るには、作者をフォローしてください:
- Telegram チャンネル - 開発、DevOps、アーキテクチャ、セキュリティ。誇張なしの実体験と実践的な知見。
- GitHub - オープンソースプロジェクトとコントリビューション
謝辞¶
素晴らしいライブラリの肩の上に築かれています: