有什么方法可以浏览 erlang 术语存储 (ETS)
Is there some way to browse erlang term storage (ETS)
我有一个使用 erlang 术语存储的小型 Elixir 应用程序,我想浏览它并查看存储的内容。有没有办法用 Elixir 或 Erlang 做到这一点?
我想看看它有多大,里面有什么。
编辑:我知道我可以使用 :observer.start
查看进程,但是没有进程或应用程序被列为 ets
。有 Elixir.Hex.Registry.ETS
,但状态或其他进程信息看起来并不正确。
我也可以在 iex
中打印出来,但这不是很好的体验。
您可以为此使用 Observer 应用程序。它可以显示许多不同的东西,包括 ETS 表的内容。通过输入 Elixir shell:
来启动它
:observer.start
或者在 Erlang 中 shell:
observer:start().
为此,必须使用 WX 库构建 Erlang。
Observer User's Guide. Also, this blog post中有一些文档描述了如何使用 Observer 来观察远程 Elixir 节点,这对于生产系统是可取的。
如前所述,您可以使用 Observer
。要查看 ETS tables,请单击 Table Viewer
选项卡,然后单击 select 您需要的 table,然后右键单击您可以选择查看 Table Info
或 Show Table Content
.
要启动观察器,运行:
:observer.start
截图:
ets:i/1 是一种交互式浏览表格的方式:
我有一个使用 erlang 术语存储的小型 Elixir 应用程序,我想浏览它并查看存储的内容。有没有办法用 Elixir 或 Erlang 做到这一点?
我想看看它有多大,里面有什么。
编辑:我知道我可以使用 :observer.start
查看进程,但是没有进程或应用程序被列为 ets
。有 Elixir.Hex.Registry.ETS
,但状态或其他进程信息看起来并不正确。
我也可以在 iex
中打印出来,但这不是很好的体验。
您可以为此使用 Observer 应用程序。它可以显示许多不同的东西,包括 ETS 表的内容。通过输入 Elixir shell:
来启动它:observer.start
或者在 Erlang 中 shell:
observer:start().
为此,必须使用 WX 库构建 Erlang。
Observer User's Guide. Also, this blog post中有一些文档描述了如何使用 Observer 来观察远程 Elixir 节点,这对于生产系统是可取的。
如前所述,您可以使用 Observer
。要查看 ETS tables,请单击 Table Viewer
选项卡,然后单击 select 您需要的 table,然后右键单击您可以选择查看 Table Info
或 Show Table Content
.
要启动观察器,运行:
:observer.start
截图:
ets:i/1 是一种交互式浏览表格的方式: