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 的語法和功能說明。