OpenResty XRay Nov 1, 2024 OpenResty XRay 更新于 Nov 1, 2024 预计阅读 6 分钟 使用 C++ 动态追踪 C++ 应用 设置目标 C++ 程序 编写 C++(或 Y++)分析器 将目标和分析器投入运行 支持复杂 C++ 应用的进展 关于调试符号 结论 设置目标 C++ 程序 编写 C++(或 Y++)分析器 将目标和分析器投入运行 支持复杂 C++ 应用的进展 关于调试符号 结论
OpenResty XRay Apr 12, 2024 OpenResty XRay 更新于 Apr 12, 2024 预计阅读 5 分钟 自动分析 Core Dump(使用 OpenResty XRay) 查看 core dump 文件 使用 OpenResty XRay 的引导式分析功能分析 core dump 文件 全自动分析与报告 查看 core dump 文件 使用 OpenResty XRay 的引导式分析功能分析 core dump 文件 全自动分析与报告
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 12 分钟 Ylang:适用于 eBPF、Stap+、GDB 等框架的通用语言(第四集,全四集) 透明的跨容器追踪 高效的栈展开 分析已终止进程(core dumps) 极低的追踪开销 标准 Y 语言库和工具 网络过滤和控制 Y 语言编译器的实现 操作系统支持 对开源社区的贡献 结论 致谢 透明的跨容器追踪 高效的栈展开 分析已终止进程(core dumps) 极低的追踪开销 标准 Y 语言库和工具 网络过滤和控制 Y 语言编译器的实现 操作系统支持 对开源社区的贡献 结论 致谢
OpenResty XRay Apr 12, 2024 OpenResty XRay 更新于 Apr 12, 2024 预计阅读 9 分钟 Ylang: 适用于 eBPF、Stap+、GDB 等框架的通用语言(第三集,全四集) Y 语言的语法(接上文) 字符串 内置的正则表达式支持 完整控制流支持 浮点数支持 与开源工具链的比较 清晰的调试符号方式 调试符号:无运行期系统开销 集中的软件包数据库 模糊匹配调试符号 Y 语言的语法(接上文) 字符串 内置的正则表达式支持 完整控制流支持 浮点数支持 与开源工具链的比较 清晰的调试符号方式 调试符号:无运行期系统开销 集中的软件包数据库 模糊匹配调试符号
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 12 分钟 Ylang:适用于 eBPF、Stap+、GDB 等框架的通用语言(第二集,全四集) 语言语法(接上文) 宏拓展 追踪者与被追踪者空间 探针 拓展变量类型 语言语法(接上文) 宏拓展 追踪者与被追踪者空间 探针 拓展变量类型
OpenResty XRay Apr 12, 2024 OpenResty XRay 更新于 Apr 12, 2024 预计阅读 4 分钟 捕捉 Linux 内核追踪子系统中的两个 bug(使用 OpenResty XRay) 读取用户空间内存时的内核死锁 内核中 x86 断点插入的数据竞争 读取用户空间内存时的内核死锁 内核中 x86 断点插入的数据竞争
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 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 Apr 12, 2024 OpenResty XRay 更新于 Apr 12, 2024 预计阅读 5 分钟 OpenResty XRay 分析和解决 B 站重大线上事故 事故描述 事故分析过程 事故后续修复和加固 OpenResty XRay 产品和服务 事故描述 事故分析过程 事故后续修复和加固 OpenResty XRay 产品和服务
OpenResty XRay Jan 29, 2023 OpenResty XRay 更新于 Jan 29, 2023 预计阅读 4 分钟 内存减少 60%,OpenResty XRay 精准定位问题代码,快速完成修复上线 worker 进程内存占用高 分析过程 worker 进程内存不释放的疑问 worker 进程内存占用高 分析过程 worker 进程内存不释放的疑问
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 16 分钟 Lua 级别 CPU 火焰图简介 什么是火焰图 简单的 Lua 样例 复杂的 Lua 应用 采样开销 安全性 兼容性 其他类型的 Lua 级别火焰图 什么是火焰图 简单的 Lua 样例 复杂的 Lua 应用 采样开销 安全性 兼容性 其他类型的 Lua 级别火焰图
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 8 分钟 OpenResty 与 Nginx 共享内存区的内存碎片问题 空的共享内存区 填充类似大小的条目 删除奇数键 删除前半部分的键 缓解内存碎片 空的共享内存区 填充类似大小的条目 删除奇数键 删除前半部分的键 缓解内存碎片
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 11 分钟 OpenResty 和 Nginx 的共享内存区是如何消耗物理内存的 Slab 与内存页 分配的内存不一定有消耗 虚假的内存泄漏 HUP 重新加载 Slab 与内存页 分配的内存不一定有消耗 虚假的内存泄漏 HUP 重新加载
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 9 分钟 OpenResty 和 Nginx 如何分配和管理内存 系统层面 应用层面 传统的 Nginx 服务器 系统层面 应用层面 传统的 Nginx 服务器
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 12 分钟 LuaJIT GC64 模式 老的内存限制 何时会碰到这个内存限制 内存限制是每进程的 GC 管理的内存 不由 GC 管理的内存 提升 x64 模式的内存上限到 4 GB 新的 GC64 模式 如何开启 GC64 模式 性能影响 调试分析工具链 老的内存限制 何时会碰到这个内存限制 内存限制是每进程的 GC 管理的内存 不由 GC 管理的内存 提升 x64 模式的内存上限到 4 GB 新的 GC64 模式 如何开启 GC64 模式 性能影响 调试分析工具链
OpenResty XRay Apr 10, 2024 OpenResty XRay 更新于 Apr 10, 2024 预计阅读 39 分钟 动态追踪技术漫谈 什么是动态追踪 动态追踪的优点 DTrace 与 SystemTap SystemTap 在生产上的应用 火焰图 方法论 知识就是力量 开源与调试符号 Linux 内核的支持 硬件追踪 死亡进程的遗骸分析 传统的调试技术 凌乱的调试世界 OpenResty XRay 什么是动态追踪 动态追踪的优点 DTrace 与 SystemTap SystemTap 在生产上的应用 火焰图 方法论 知识就是力量 开源与调试符号 Linux 内核的支持 硬件追踪 死亡进程的遗骸分析 传统的调试技术 凌乱的调试世界 OpenResty XRay