OpenResty XRay YLua Analyzer
YLua 分析器让你能够用 Lua 的语法来写 Lua 分析器。很多时候,我们希望能够确认 Lua 的表中到底有哪些数据,数据的值是什么。这时候 YLua 分析器就可以派上用场。 下面的例子输出了 resty.core.regex 中缓存的正则表达式。
关于 YLua 分析器
YLua 分析器让你能够用 Lua 的语法来写 Lua 分析器。很多时候,我们希望能够确认 Lua 的表中到底有哪些数据,数据的值是什么。这时候 YLua 分析器就可以派上用场。
YLua 分析器实例
下面的例子输出了 resty.core.regex 中缓存的正则表达式。
probe process.begin
local max_output_cnt = 1000
local regex = package.loaded["resty.core.regex"]
local regex_match_cache = upval(regex.re_match_compile, "regex_match_cache")
if regex_match_cache ~= nil then
local match_regex_cache_count = 0
for key, _ in pairs(regex_match_cache.key2node) do
if match_regex_cache_count < max_output_cnt then
print("match-pattern: ", key)
end
match_regex_cache_count = match_regex_cache_count + 1
end
print("match_regex_cache_count: ", match_regex_cache_count)
end
exit()
end
执行该工具后,我们得到如下的输出:

在 YLua 标签栏的右边有 Learn YLua 快捷链接指向 YLua 的用户手册。用户可以点击
该链接查询 YLua 的语法和功能说明。