aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/src/observer_port_wx.erl
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2018-01-10 17:49:35 +0100
committerSiri Hansen <[email protected]>2018-01-10 17:49:35 +0100
commitebc81123499da2e0fa03f8eb989dfeb785a04bd3 (patch)
tree36e4aee5f84adeb3322956e7a2e40e641b5cb9b9 /lib/observer/src/observer_port_wx.erl
parentdf8499995b4994d3f85f4b80fc3c2cf941a99cdc (diff)
downloadotp-ebc81123499da2e0fa03f8eb989dfeb785a04bd3.tar.gz
otp-ebc81123499da2e0fa03f8eb989dfeb785a04bd3.tar.bz2
otp-ebc81123499da2e0fa03f8eb989dfeb785a04bd3.zip
[observer] Improve performance for many links or monitors
When a process has many links and/or monitors, it could earlier take very long time to display the process information window. This is now improved by only showing a few links and monitors, and then an link named "more..." to expand the rest. Reading of the "Link list" from a crashdump is also improved.
Diffstat (limited to 'lib/observer/src/observer_port_wx.erl')
-rw-r--r--lib/observer/src/observer_port_wx.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/observer/src/observer_port_wx.erl b/lib/observer/src/observer_port_wx.erl
index 5908e99e36..f7ae07fb85 100644
--- a/lib/observer/src/observer_port_wx.erl
+++ b/lib/observer/src/observer_port_wx.erl
@@ -242,6 +242,10 @@ handle_event(#wx{id=?ID_REFRESH_INTERVAL},
Timer = observer_lib:interval_dialog(Grid, Timer0, 10, 5*60),
{noreply, State#state{timer=Timer}};
+handle_event(#wx{obj=MoreEntry,event=#wxMouse{type=left_down},userData={more,More}}, State) ->
+ observer_lib:add_scroll_entries(MoreEntry,More),
+ {noreply, State};
+
handle_event(#wx{event=#wxMouse{type=left_down}, userData=TargetPid}, State) ->
observer ! {open_link, TargetPid},
{noreply, State};