diff --git a/README.md b/README.md index 55c0e71..d93faec 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Visualize Erlang/Elixir Nodes On The Command Line base on [recon](https://github %% rebar.config {deps, [observer_cli]} %% erlang.mk -dep_observer_cli = hex 1.7.5 +dep_observer_cli = hex 1.8.0 ``` **Elixir** @@ -35,7 +35,7 @@ dep_observer_cli = hex 1.7.5 ```elixir # mix.exs def deps do - [{:observer_cli, "~> 1.7"}] + [{:observer_cli, "~> 1.8"}] end ``` @@ -89,7 +89,7 @@ _build/dev/rel/example/bin/example rpc ":observer_cli.start" ### DEMO -Home +Home ### How to write your own plugin? @@ -255,7 +255,12 @@ Support F/B to page up/down. --- ### Changelog - +- 1.8.0 + - Support ` 2.5.1"}, + {:recon, "~> 2.5.6"}, ] ] end diff --git a/mix.lock b/mix.lock index 7636f67..da4116d 100644 --- a/mix.lock +++ b/mix.lock @@ -1,3 +1,3 @@ %{ - "recon": {:hex, :recon, "2.5.1", "430ffa60685ac1efdfb1fe4c97b8767c92d0d92e6e7c3e8621559ba77598678a", [:mix, :rebar3], [], "hexpm"}, + "recon": {:hex, :recon, "2.5.6", "9052588e83bfedfd9b72e1034532aee2a5369d9d9343b61aeb7fbce761010741", [:mix, :rebar3], [], "hexpm", "96c6799792d735cc0f0fd0f86267e9d351e63339cbe03df9d162010cefc26bb0"}, } diff --git a/src/observer_cli.app.src b/src/observer_cli.app.src index 406c247..fe17530 100644 --- a/src/observer_cli.app.src +++ b/src/observer_cli.app.src @@ -1,39 +1,39 @@ -{application, observer_cli, - [ - {description, "Visualize Erlang Nodes On The Command Line"}, - {vsn, "1.7.5"}, - {modules, [ - observer_cli - ]}, - {registered, []}, - {applications, [ - kernel, - stdlib, - recon - ]}, - {files, ["include", - "LICENSE*", - "mix.exs", - "mix.lock", - "README.md", - "rebar.config", - "rebar.lock", - "src"]}, - {build_tools, ["mix", "rebar3"]}, - {env, [ - {scheduler_usage, disable}, - {plugins, - [ - %% module - Specific module implements plugin behavior. It's mandatory. - %% title - Menu title. It's mandatory. - %% shortcut - Switch plugin by shortcut. It's mandatory. - %% interval - Refresh interval ms. It's options. default is 1500ms. - %% sort_column - Sort the sheet by this index. It's options default is 2. - - %% #{module => observer_cli_plug_1, title => "Example-1", interval => 1500, shortcut => "S", sort_column => 3}, - %% #{module => observer_cli_plug_2, title => "Example-2", interval => 1600, shortcut => "D", sort_column => 2} - ]} - ]}, - {licenses, ["MIT"]}, - {links, [{"Github", "https://github.com/zhongwencool/observer_cli"}]} - ]}. +{application, observer_cli, [ + {description, "Visualize Erlang Nodes On The Command Line"}, + {vsn, "1.8.0"}, + {modules, [ + observer_cli + ]}, + {registered, []}, + {applications, [ + kernel, + stdlib, + recon + ]}, + {files, [ + "include", + "LICENSE*", + "mix.exs", + "mix.lock", + "README.md", + "rebar.config", + "rebar.lock", + "src" + ]}, + {build_tools, ["mix", "rebar3"]}, + {env, [ + {scheduler_usage, disable}, + {plugins, [ + %% module - Specific module implements plugin behavior. It's mandatory. + %% title - Menu title. It's mandatory. + %% shortcut - Switch plugin by shortcut. It's mandatory. + %% interval - Refresh interval ms. It's options. default is 1500ms. + %% sort_column - Sort the sheet by this index. It's options default is 2. + + %% #{module => observer_cli_plug_1, title => "Example-1", interval => 1500, shortcut => "S", sort_column => 3}, + %% #{module => observer_cli_plug_2, title => "Example-2", interval => 1600, shortcut => "D", sort_column => 2} + ]} + ]}, + {licenses, ["MIT"]}, + {links, [{"Github", "https://github.com/zhongwencool/observer_cli"}]} +]}. diff --git a/src/observer_cli.erl b/src/observer_cli.erl index 89da740..1e84bfc 100644 --- a/src/observer_cli.erl +++ b/src/observer_cli.erl @@ -23,7 +23,8 @@ -spec start() -> no_return | {badrpc, term()}. start() -> start(#view_opts{}). --spec start(Node) -> no_return | {badrpc, term()} when Node :: atom() | non_neg_integer(). +-spec start(Node) -> no_return | {badrpc, term()} when + Node :: atom() | non_neg_integer() | #view_opts{}. start(Node) when Node =:= node() -> start(#view_opts{}); start(Node) when is_atom(Node) -> diff --git a/src/observer_cli_help.erl b/src/observer_cli_help.erl index 84866e5..b15f085 100644 --- a/src/observer_cli_help.erl +++ b/src/observer_cli_help.erl @@ -61,24 +61,24 @@ render_help() -> "| \e[48;2;80;80;80m1.3\e[0m observer_start:start(Node, Cookie).\n", "|\e[44m2. HOME(H) Commands\e[49m \n", - "| \e[48;2;80;80;80m` \e[0m enable/disable schedule usage.\n", - "| \e[48;2;80;80;80mPageDown \e[0m pd or F(forward).\n", - "| \e[48;2;80;80;80mPageUp \e[0m pu or B(back).\n", - "| \e[48;2;80;80;80mr \e[0m switch mode to reduction(proc_count).\n", - "| \e[48;2;80;80;80mrr \e[0m switch mode to reduction(proc_window).\n", - "| \e[48;2;80;80;80mm \e[0m switch mode to memory(proc_count).\n", - "| \e[48;2;80;80;80mmm \e[0m switch mode to memory(proc_window).\n", - "| \e[48;2;80;80;80mb \e[0m switch mode to bin memory(proc_count).\n", - "| \e[48;2;80;80;80mbb \e[0m switch mode to bin memory(proc_window).\n", - "| \e[48;2;80;80;80mmq \e[0m switch mode to message queue len(proc_count).\n", - "| \e[48;2;80;80;80mmmq \e[0m switch mode to message queue len(proc_window).\n", - "| \e[48;2;80;80;80mt \e[0m switch mode to total heap size(proc_count).\n", - "| \e[48;2;80;80;80mtt \e[0m switch mode to total heap size(proc_window).\n", - "| \e[48;2;80;80;80m3000 \e[0m set interval time to 3000ms, the integer must >= 1500.\n", - "| \e[48;2;80;80;80m13 \e[0m choose the 13th process(green line), the integer must in top list.\n", - "| \e[48;2;80;80;80m<0.43.0> \e[0m choose the <0.43.0> process, the pid does not need to be in the top list.\n", - "| \e[48;2;80;80;80m<43 or >43 \e[0m choose the <0.43.0> process, the pid does not need to be in the top list.\n", - "| \e[48;2;80;80;80mp \e[0m pause/unpause the view.\n", + "| \e[48;2;80;80;80m` \e[0m enable/disable schedule usage.\n", + "| \e[48;2;80;80;80mPageDown \e[0m pd or F(forward).\n", + "| \e[48;2;80;80;80mPageUp \e[0m pu or B(back).\n", + "| \e[48;2;80;80;80mr \e[0m switch mode to reduction(proc_count).\n", + "| \e[48;2;80;80;80mrr \e[0m switch mode to reduction(proc_window).\n", + "| \e[48;2;80;80;80mm \e[0m switch mode to memory(proc_count).\n", + "| \e[48;2;80;80;80mmm \e[0m switch mode to memory(proc_window).\n", + "| \e[48;2;80;80;80mb \e[0m switch mode to bin memory(proc_count).\n", + "| \e[48;2;80;80;80mbb \e[0m switch mode to bin memory(proc_window).\n", + "| \e[48;2;80;80;80mmq \e[0m switch mode to message queue len(proc_count).\n", + "| \e[48;2;80;80;80mmmq \e[0m switch mode to message queue len(proc_window).\n", + "| \e[48;2;80;80;80mt \e[0m switch mode to total heap size(proc_count).\n", + "| \e[48;2;80;80;80mtt \e[0m switch mode to total heap size(proc_window).\n", + "| \e[48;2;80;80;80m3000 \e[0m set interval time to 3000ms, the integer must >= 1500.\n", + "| \e[48;2;80;80;80m13 \e[0m choose the 13th process(green line), the integer must in top list.\n", + "| \e[48;2;80;80;80m<0.43.0> \e[0m choose the <0.43.0> process, the pid does not need to be in the top list.\n", + "| \e[48;2;80;80;80m<431 or >431 \e[0m choose the <0.431.0> process, the pid does not need to be in the top list.\n", + "| \e[48;2;80;80;80mp \e[0m pause/unpause the view.\n", "|\e[44m5. Reference\e[49m \n", "|More information about recon:proc_count/2 and recon:proc_window/3 \n",