OpenResty XRay Apr 4, 2024 OpenResty XRay 更新於 Apr 4, 2024 預計閱讀 6 分鐘 使用 C++ 動態追蹤 C++ 應用 設定目標 C++ 程式 編寫 C++(或 Y++)分析器 將目標和分析器投入執行 支援複雜 C++ 應用的進展 關於除錯符號 結論 設定目標 C++ 程式 編寫 C++(或 Y++)分析器 將目標和分析器投入執行 支援複雜 C++ 應用的進展 關於除錯符號 結論
OpenResty XRay Mar 13, 2024 OpenResty XRay 更新於 Mar 13, 2024 預計閱讀 5 分鐘 自動分析 Core Dump(使用 OpenResty XRay) 檢視 core dump 檔案 使用 OpenResty XRay 的引導式分析功能分析 core dump 檔案 全自動分析與報告 檢視 core dump 檔案 使用 OpenResty XRay 的引導式分析功能分析 core dump 檔案 全自動分析與報告
OpenResty XRay Sep 20, 2023 OpenResty XRay 更新於 Sep 20, 2023 預計閱讀 12 分鐘 Ylang:適用於 eBPF、Stap+、GDB 等框架的通用語言(第四集,全四集) 透明的跨容器追蹤 高效的棧展開 分析已終止程序(core dumps) 極低的追蹤開銷 標準 Y 語言庫和工具 網路過濾和控制 Y 語言編譯器的實現 作業系統支援 對開源社群的貢獻 結論 致謝 透明的跨容器追蹤 高效的棧展開 分析已終止程序(core dumps) 極低的追蹤開銷 標準 Y 語言庫和工具 網路過濾和控制 Y 語言編譯器的實現 作業系統支援 對開源社群的貢獻 結論 致謝
OpenResty XRay Aug 22, 2023 OpenResty XRay 更新於 Aug 22, 2023 預計閱讀 9 分鐘 Ylang: 適用於 eBPF、Stap+、GDB 等框架的通用語言(第三集,全四集) Y 語言的語法(接上文) 字串 內建的正規表示式支援 完整控制流支援 浮點數支援 與開源工具鏈的比較 清晰的除錯符號方式 除錯符號:無執行期系統開銷 集中的軟體包資料庫 模糊匹配除錯符號 Y 語言的語法(接上文) 字串 內建的正規表示式支援 完整控制流支援 浮點數支援 與開源工具鏈的比較 清晰的除錯符號方式 除錯符號:無執行期系統開銷 集中的軟體包資料庫 模糊匹配除錯符號
OpenResty XRay Aug 21, 2023 OpenResty XRay 更新於 Aug 21, 2023 預計閱讀 12 分鐘 Ylang:適用於 eBPF、Stap+、GDB 等框架的通用語言(第二集,全四集) 語言語法(接上文) 宏拓展 追蹤者與被追蹤者空間 探針 拓展變數型別 語言語法(接上文) 宏拓展 追蹤者與被追蹤者空間 探針 拓展變數型別
OpenResty XRay Aug 6, 2023 OpenResty XRay 更新於 Aug 6, 2023 預計閱讀 4 分鐘 捕捉 Linux 核心追蹤子系統中的兩個 bug(使用 OpenResty XRay) 讀取使用者空間記憶體時的核心死鎖 核心中 x86 斷點插入的資料競爭 讀取使用者空間記憶體時的核心死鎖 核心中 x86 斷點插入的資料競爭
OpenResty XRay Jul 6, 2023 OpenResty XRay 更新於 Jul 6, 2023 預計閱讀 12 分鐘 Ylang: 適用於 eBPF、Stap+、GDB 等框架的通用語言(第一集,全四集) 甚麼是動態追蹤 為甚麼命名為 “Y” 入門 各種後端和執行時 為甚麼要使用一個統一的前端語言 語言的語法 未完待續 甚麼是動態追蹤 為甚麼命名為 “Y” 入門 各種後端和執行時 為甚麼要使用一個統一的前端語言 語言的語法 未完待續
OpenResty XRay Feb 7, 2023 OpenResty XRay 更新於 Feb 7, 2023 預計閱讀 2 分鐘 QCon 北京 2023 大會上關於深度分析和診斷 K8s 容器應用的演講 本週我受邀在 QCon 北京 2023 大會上作了一次遠端分享。 本週我受邀在 QCon 北京 2023 大會上作了一次遠端分享。
OpenResty XRay Jul 18, 2022 OpenResty XRay 更新於 Jul 18, 2022 預計閱讀 5 分鐘 OpenResty XRay 分析和解決 B 站重大線上事故 事故描述 事故分析過程 事故後續修復和加固 OpenResty XRay 產品和服務 事故描述 事故分析過程 事故後續修復和加固 OpenResty XRay 產品和服務
OpenResty XRay Nov 19, 2020 OpenResty XRay 更新於 Nov 19, 2020 預計閱讀 4 分鐘 記憶體減少 60%,OpenResty XRay 精準定位問題程式碼,快速完成修復上線 worker 程序記憶體佔用高 分析過程 worker 程序記憶體不釋放的疑問 worker 程序記憶體佔用高 分析過程 worker 程序記憶體不釋放的疑問
OpenResty XRay Oct 3, 2020 OpenResty XRay 更新於 Oct 3, 2020 預計閱讀 16 分鐘 Lua 級別 CPU 火焰圖簡介 甚麼是火焰圖 簡單的 Lua 樣例 複雜的 Lua 應用 取樣開銷 安全性 相容性 其他型別的 Lua 級別火焰圖 甚麼是火焰圖 簡單的 Lua 樣例 複雜的 Lua 應用 取樣開銷 安全性 相容性 其他型別的 Lua 級別火焰圖
OpenResty XRay Aug 11, 2020 OpenResty XRay 更新於 Aug 11, 2020 預計閱讀 8 分鐘 OpenResty 與 Nginx 共享記憶體區的記憶體碎片問題 空的共享記憶體區 填充類似大小的條目 刪除奇數鍵 刪除前半部分的鍵 緩解記憶體碎片 空的共享記憶體區 填充類似大小的條目 刪除奇數鍵 刪除前半部分的鍵 緩解記憶體碎片
OpenResty XRay Aug 8, 2020 OpenResty XRay 更新於 Aug 8, 2020 預計閱讀 11 分鐘 OpenResty 和 Nginx 的共享記憶體區是如何消耗實體記憶體的 Slab 與記憶體頁 分配的記憶體不一定有消耗 虛假的記憶體洩漏 HUP 重新載入 Slab 與記憶體頁 分配的記憶體不一定有消耗 虛假的記憶體洩漏 HUP 重新載入
OpenResty XRay Feb 1, 2020 OpenResty XRay 更新於 Feb 1, 2020 預計閱讀 10 分鐘 OpenResty 和 Nginx 如何分配和管理記憶體 系統層面 應用層面 傳統的 Nginx 伺服器 系統層面 應用層面 傳統的 Nginx 伺服器
OpenResty XRay Jan 30, 2020 OpenResty XRay 更新於 Jan 30, 2020 預計閱讀 12 分鐘 LuaJIT GC64 模式 老的記憶體限制 何時會碰到這個記憶體限制 記憶體限制是每程序的 GC 管理的記憶體 不由 GC 管理的記憶體 提升 x64 模式的記憶體上限到 4 GB 新的 GC64 模式 如何開啟 GC64 模式 效能影響 除錯分析工具鏈 老的記憶體限制 何時會碰到這個記憶體限制 記憶體限制是每程序的 GC 管理的記憶體 不由 GC 管理的記憶體 提升 x64 模式的記憶體上限到 4 GB 新的 GC64 模式 如何開啟 GC64 模式 效能影響 除錯分析工具鏈
OpenResty XRay Feb 12, 2020 OpenResty XRay 更新於 Feb 12, 2020 預計閱讀 39 分鐘 動態追蹤技術漫談 甚麼是動態追蹤 動態追蹤的優點 DTrace 與 SystemTap SystemTap 在生產上的應用 火焰圖 方法論 知識就是力量 開源與除錯符號 Linux 核心的支援 硬體追蹤 死亡程序的遺骸分析 傳統的除錯技術 凌亂的除錯世界 OpenResty XRay 甚麼是動態追蹤 動態追蹤的優點 DTrace 與 SystemTap SystemTap 在生產上的應用 火焰圖 方法論 知識就是力量 開源與除錯符號 Linux 核心的支援 硬體追蹤 死亡程序的遺骸分析 傳統的除錯技術 凌亂的除錯世界 OpenResty XRay