OpenResty XRay Nov 11, 2024 OpenResty XRay 更新日 Nov 11, 2024 読了時間 約10分 C++ による C++ アプリケーションの動的トレース技術 対象 C++ プログラムを設定 C++(または Y++)アナライザーの作成 対象プログラムとアナライザーの実行 複雑な C++ アプリケーションのサポート強化 デバッグシンボルについて 結論 対象 C++ プログラムを設定 C++(または Y++)アナライザーの作成 対象プログラムとアナライザーの実行 複雑な C++ アプリケーションのサポート強化 デバッグシンボルについて 結論
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約8分 OpenResty XRay による Core Dump の自動分析技術 core dump ファイルの確認 core dump ファイルを分析 全自動分析とレポート作成 core dump ファイルの確認 core dump ファイルを分析 全自動分析とレポート作成
OpenResty XRay Nov 22, 2024 OpenResty XRay 更新日 Nov 22, 2024 読了時間 約18分 Ylang: eBPF、Stap+、GDB などのフレームワーク向け汎用言語(第4回、全4回) コンテナを透過的に横断するトレース機能 効率的なスタックアンワインディング 終了したプロセスの分析(core dumps) 極めて低いトレーシングオーバーヘッド 標準 Ylang ライブラリとツール ネットワークフィルタリングと制御 Ylang コンパイラの実装 オペレーティングシステムのサポート オープンソースコミュニティへの貢献 結論 謝辞 コンテナを透過的に横断するトレース機能 効率的なスタックアンワインディング 終了したプロセスの分析(core dumps) 極めて低いトレーシングオーバーヘッド 標準 Ylang ライブラリとツール ネットワークフィルタリングと制御 Ylang コンパイラの実装 オペレーティングシステムのサポート オープンソースコミュニティへの貢献 結論 謝辞
OpenResty XRay Nov 22, 2024 OpenResty XRay 更新日 Nov 22, 2024 読了時間 約13分 Ylang: eBPF、Stap+、GDB などのフレームワーク向け汎用言語(第3回、全4回) Ylang の文法(前回の続き) 文字列 組み込み正規表現サポート 完全な制御フロー機能のサポート 浮動小数点数のサポート オープンソースツールチェーンとの比較 明確なデバッグシンボルの手法 デバッグシンボル:実行時のシステムオーバーヘッドなし 集中管理されたパッケージデータベース デバッグシンボルのファジーマッチング Ylang の文法(前回の続き) 文字列 組み込み正規表現サポート 完全な制御フロー機能のサポート 浮動小数点数のサポート オープンソースツールチェーンとの比較 明確なデバッグシンボルの手法 デバッグシンボル:実行時のシステムオーバーヘッドなし 集中管理されたパッケージデータベース デバッグシンボルのファジーマッチング
OpenResty XRay Nov 22, 2024 OpenResty XRay 更新日 Nov 22, 2024 読了時間 約17分 Ylang: eBPF、Stap+、GDB などのフレームワーク向け汎用言語(第2回、全4回) 言語文法(前述の続き) マクロ拡張 トレーサー空間とトレーシー空間 プローブ 拡張変数型 言語文法(前述の続き) マクロ拡張 トレーサー空間とトレーシー空間 プローブ 拡張変数型
OpenResty XRay Nov 13, 2024 OpenResty XRay 更新日 Nov 13, 2024 読了時間 約7分 OpenResty XRay を使用して Linux カーネルのトレースサブシステムにおける 2 つのバグを捕捉 ユーザー空間メモリ読み取り時のカーネルデッドロック カーネル内の x86 ブレークポイント挿入におけるデータ競合 ユーザー空間メモリ読み取り時のカーネルデッドロック カーネル内の x86 ブレークポイント挿入におけるデータ競合
OpenResty XRay Nov 22, 2024 OpenResty XRay 更新日 Nov 22, 2024 読了時間 約16分 Ylang: eBPF、Stap+、GDB などのフレームワーク向け汎用言語(第1回、全4回) 動的トレーシングとは なぜ「Y」と名付けたのか はじめに 各種バックエンドとランタイム なぜ統一されたフロントエンド言語が必要なのか 言語の構文 続く 動的トレーシングとは なぜ「Y」と名付けたのか はじめに 各種バックエンドとランタイム なぜ統一されたフロントエンド言語が必要なのか 言語の構文 続く
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約9分 OpenResty XRay による B 站(ビリビリ動画)の重大なオンライン障害の分析と解決 障害の説明 障害分析のプロセス 障害後の修復と強化 OpenResty XRay の製品とサービス 障害の説明 障害分析のプロセス 障害後の修復と強化 OpenResty XRay の製品とサービス
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約14分 OpenResty または Nginx プロセスにおける最も遅い PCRE 正規表現のトレース システム環境 推測せずに原因を絞り込む PCRE の実行オーバーヘッドの制限 バックトラッキングを行わない正規表現エンジン Lua の組み込みパターン コンテナ内のアプリケーションのトレース ツールの実装方法 ツールのオーバーヘッド システム環境 推測せずに原因を絞り込む PCRE の実行オーバーヘッドの制限 バックトラッキングを行わない正規表現エンジン Lua の組み込みパターン コンテナ内のアプリケーションのトレース ツールの実装方法 ツールのオーバーヘッド
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約11分 OpenResty または Nginx プロセスにおける読み込み済み Lua モジュールの一覧表示 システム環境 読み込み済み Lua モジュールの名前 Web コンソールで直接実行 コンテナ内のアプリケーションのトレース ツールの実装方法 ツールのオーバーヘッド システム環境 読み込み済み Lua モジュールの名前 Web コンソールで直接実行 コンテナ内のアプリケーションのトレース ツールの実装方法 ツールのオーバーヘッド
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約24分 Lua レベル CPU フレームグラフの概要 フレームグラフとは何か 簡単な Lua の例 複雑な Lua アプリケーション サンプリングのオーバーヘッド セキュリティ 互換性 その他の種類の Lua レベルフレームグラフ フレームグラフとは何か 簡単な Lua の例 複雑な Lua アプリケーション サンプリングのオーバーヘッド セキュリティ 互換性 その他の種類の Lua レベルフレームグラフ
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約12分 OpenResty と Nginx の共有メモリ領域におけるメモリフラグメンテーションの問題 空の共有メモリ領域 類似サイズのエントリで埋める 奇数キーの削除 前半部分のキーの削除 メモリフラグメンテーションの緩和 空の共有メモリ領域 類似サイズのエントリで埋める 奇数キーの削除 前半部分のキーの削除 メモリフラグメンテーションの緩和
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約16分 OpenResty と Nginx の共有メモリ領域が物理メモリをどのように消費するか Slab とメモリページ 割り当てられたメモリが必ずしも消費されるわけではない 偽のメモリリーク HUP による再読み込み Slab とメモリページ 割り当てられたメモリが必ずしも消費されるわけではない 偽のメモリリーク HUP による再読み込み
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約14分 OpenResty と Nginx のメモリ割り当てと管理方法 システムレベル アプリケーションレベル 従来の Nginx サーバー システムレベル アプリケーションレベル 従来の Nginx サーバー
OpenResty XRay Dec 17, 2024 OpenResty XRay 更新日 Dec 17, 2024 読了時間 約17分 LuaJIT GC64 モード 旧メモリ制限 このメモリ制限に遭遇する時期 メモリ制限はプロセスごと GC が管理するメモリ GC が管理しないメモリ x64 モードのメモリ上限を 4 GB に引き上げる 新しい GC64 モード GC64 モードの有効化方法 パフォーマンスへの影響 デバッグ分析ツールチェーン 旧メモリ制限 このメモリ制限に遭遇する時期 メモリ制限はプロセスごと GC が管理するメモリ GC が管理しないメモリ x64 モードのメモリ上限を 4 GB に引き上げる 新しい GC64 モード GC64 モードの有効化方法 パフォーマンスへの影響 デバッグ分析ツールチェーン
OpenResty XRay Nov 22, 2024 OpenResty XRay 更新日 Nov 22, 2024 読了時間 約57分 動的トレース技術についての雑談 動的トレーシングとは 動的トレーシングの利点 DTrace と SystemTap SystemTap の実運用での活用 フレームグラフ 方法論 知識は力なり オープンソースとデバッグシンボル Linux カーネルのサポート ハードウェアトレーシング 終了プロセスの解析 従来のデバッグ技術 混沌としたデバッグの世界 OpenResty XRay 動的トレーシングとは 動的トレーシングの利点 DTrace と SystemTap SystemTap の実運用での活用 フレームグラフ 方法論 知識は力なり オープンソースとデバッグシンボル Linux カーネルのサポート ハードウェアトレーシング 終了プロセスの解析 従来のデバッグ技術 混沌としたデバッグの世界 OpenResty XRay