diff options
author | Siri Hansen <[email protected]> | 2016-05-26 15:29:03 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2016-05-26 15:29:03 +0200 |
commit | e5f436615f0649a4d19b03762c016e91e0dce0eb (patch) | |
tree | d6095deb384ed356c775bff0c923152a27b677ab /lib/runtime_tools | |
parent | 89adc0eec23c1a3ac552650004863de4cf82422e (diff) | |
parent | ab22fe599d0e6918cea46d620acaf7f8e16d36b6 (diff) | |
download | otp-e5f436615f0649a4d19b03762c016e91e0dce0eb.tar.gz otp-e5f436615f0649a4d19b03762c016e91e0dce0eb.tar.bz2 otp-e5f436615f0649a4d19b03762c016e91e0dce0eb.zip |
Merge branch 'siri/observer/improve-trace/OTP-13481'
* siri/observer/improve-trace/OTP-13481:
[observer] Update user guide
[observer] Automatically add active node
[observer] Allow more trace flags on procs/ports from GUI
[runtime_tools] Don't trace the trace client port
[runtime_tools] Allow setting trace flag 'exiting' with dbg
[observer] Add more default match specs for messages
[observer] Add test of new Ports tab
[observer] Improve appearance in Trace tab
[observer] Allow multiple select in Ports tab
[observer] Make right click menu act on the "expected pid"
[observer] In Trace tab, show procs/ports for selected node only
[observer] Add right click menu in Table tab
[observer] Add menu option to set default MS for send/receive
[observer] Add tracing of ports
[ttb] Allow setting trace flags on ports
[observer] Set correct parent in Label dialog
[observer] Add Ports tab in GUI
[observer] Add functionality in GUI for trace pattern on messages
[ttb] Set trace patterns on messages
Conflicts:
lib/observer/src/observer_wx.erl
Diffstat (limited to 'lib/runtime_tools')
-rw-r--r-- | lib/runtime_tools/src/dbg.erl | 5 | ||||
-rw-r--r-- | lib/runtime_tools/src/observer_backend.erl | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/runtime_tools/src/dbg.erl b/lib/runtime_tools/src/dbg.erl index 8cdb5a43e3..c0d4665bda 100644 --- a/lib/runtime_tools/src/dbg.erl +++ b/lib/runtime_tools/src/dbg.erl @@ -1155,7 +1155,7 @@ all() -> [send,'receive',call,procs,ports,garbage_collection,running, set_on_spawn,set_on_first_spawn,set_on_link,set_on_first_link, timestamp,monotonic_timestamp,strict_monotonic_timestamp, - arity,return_to,silent,running_procs,running_ports]. + arity,return_to,silent,running_procs,running_ports,exiting]. display_info([Node|Nodes]) -> io:format("~nNode ~w:~n",[Node]), @@ -1313,6 +1313,9 @@ tc_loop(Other, _Handler, _HData) -> gen_reader(ip, {Host, Portno}) -> case gen_tcp:connect(Host, Portno, [{active, false}, binary]) of {ok, Sock} -> + %% Just in case this is on the traced node, + %% make sure the port is not traced. + p(Sock,clear), mk_reader(fun ip_read/2, Sock); Error -> exit(Error) diff --git a/lib/runtime_tools/src/observer_backend.erl b/lib/runtime_tools/src/observer_backend.erl index 66653c5b7f..cedb677178 100644 --- a/lib/runtime_tools/src/observer_backend.erl +++ b/lib/runtime_tools/src/observer_backend.erl @@ -23,7 +23,8 @@ -export([vsn/0]). %% observer stuff --export([sys_info/0, get_table/3, get_table_list/2, fetch_stats/2]). +-export([sys_info/0, get_port_list/0, + get_table/3, get_table_list/2, fetch_stats/2]). %% etop stuff -export([etop_collect/1]). @@ -139,6 +140,15 @@ get_mnesia_loop(Parent, {Match, Cont}) -> Parent ! {self(), Match}, get_mnesia_loop(Parent, mnesia:select(Cont)). +get_port_list() -> + [begin + [{port_id,P}|erlang:port_info(P)] ++ + case erlang:port_info(P,monitors) of + undefined -> []; + Monitors -> [Monitors] + end + end || P <- erlang:ports()]. + get_table_list(ets, Opts) -> HideUnread = proplists:get_value(unread_hidden, Opts, true), HideSys = proplists:get_value(sys_hidden, Opts, true), |