Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
3631-observer-add-button-to-trace-all-processes...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 3631-observer-add-button-to-trace-all-processes-and-ports.patch of Package erlang
From cb5b5b2b517da9c138f10714db85489142c81b31 Mon Sep 17 00:00:00 2001 From: Magnus Henoch <magnus.henoch@gmail.com> Date: Fri, 11 Jun 2021 12:44:58 +0100 Subject: [PATCH] observer: add button to trace all processes and ports --- lib/observer/src/observer_trace_wx.erl | 36 +++++++++++++++++--------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/lib/observer/src/observer_trace_wx.erl b/lib/observer/src/observer_trace_wx.erl index f458c8c34a..3f609a16ed 100644 --- a/lib/observer/src/observer_trace_wx.erl +++ b/lib/observer/src/observer_trace_wx.erl @@ -31,15 +31,16 @@ -define(SAVE_TRACEOPTS, 305). -define(LOAD_TRACEOPTS, 306). -define(TOGGLE_TRACE, 307). --define(ADD_NEW_PROCS, 308). --define(ADD_NEW_PORTS, 309). --define(ADD_TP, 310). --define(TRACE_OUTPUT, 311). --define(DEF_MS_FUNCS, 312). --define(DEF_MS_SEND, 313). --define(DEF_MS_RECV, 314). --define(DEF_PROC_OPTS, 315). --define(DEF_PORT_OPTS, 316). +-define(ADD_ALL, 308). +-define(ADD_NEW_PROCS, 309). +-define(ADD_NEW_PORTS, 310). +-define(ADD_TP, 311). +-define(TRACE_OUTPUT, 312). +-define(DEF_MS_FUNCS, 313). +-define(DEF_MS_SEND, 314). +-define(DEF_MS_RECV, 315). +-define(DEF_PROC_OPTS, 316). +-define(DEF_PORT_OPTS, 317). -define(NODES_WIN, 330). -define(ADD_NODES, 331). @@ -122,6 +123,9 @@ create_window(Notebook, ParentPid, Config) -> wxSizer:add(Buttons, ToggleButton, [{flag, ?wxALIGN_CENTER_VERTICAL}]), wxSizer:addSpacer(Buttons, 15), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NODES, [{label, "Add Nodes"}])), + AllButton = wxButton:new(Panel, ?ADD_ALL, [{label, "Add All"}]), + wxControl:setToolTip(AllButton, "Trace all processes and ports"), + wxSizer:add(Buttons, AllButton), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NEW_PROCS, [{label, "Add 'new' Processes"}])), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NEW_PORTS, [{label, "Add 'new' Ports"}])), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_TP, [{label, "Add Trace Pattern"}])), @@ -291,6 +295,14 @@ handle_event(#wx{obj=Obj, event=#wxSize{size={W,_}}}, State) -> end, {noreply, State}; +handle_event(#wx{id=?ADD_ALL}, State = #state{panel=Parent, def_proc_flags=TraceOpts}) -> + try + Opts = observer_traceoptions_wx:process_trace(Parent, TraceOpts), + Process = #titem{id=all, opts=Opts}, + {noreply, do_add_processes([Process], State#state{def_proc_flags=Opts})} + catch cancel -> {noreply, State} + end; + handle_event(#wx{id=?ADD_NEW_PROCS}, State = #state{panel=Parent, def_proc_flags=TraceOpts}) -> try Opts = observer_traceoptions_wx:process_trace(Parent, TraceOpts), @@ -885,15 +897,15 @@ update_functions_view(Funcs, LCtrl) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Trace items are processes and ports merge_trace_items([N1=#titem{id=NewP}|Ns], [N2=#titem{id=NewP}|Old]) - when NewP==new_processes; NewP==new_ports -> + when NewP==new_processes; NewP==new_ports; NewP==all -> {Ids, New, Changed} = merge_trace_items_1(Ns,Old), {[N1|Ids], New, [{N2,N2}|Changed]}; merge_trace_items([N1=#titem{id=NewP}|Ns], Old) - when NewP==new_processes; NewP==new_ports -> + when NewP==new_processes; NewP==new_ports; NewP==all -> {Ids, New, Changed} = merge_trace_items_1(Ns,Old), {[N1|Ids], [N1|New], Changed}; merge_trace_items(Ns, [N2=#titem{id=NewP}|Old]) - when NewP==new_processes; NewP==new_ports -> + when NewP==new_processes; NewP==new_ports; NewP==all -> {Ids, New, Changed} = merge_trace_items_1(Ns,Old), {[N2|Ids], New, Changed}; merge_trace_items(New, Old) -> -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor