aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/src
AgeCommit message (Collapse)Author
2017-10-18Dump literals separately to avoid incomplete heap dataBjörn Gustavsson
When a literal was used from several processes, the literal would be dumped in only one of the processes. The other processes that referenced the literals would have incomplete heap data.
2017-10-18Implement dumping of maps in crash dumpsBjörn Gustavsson
Maps would be dumped as the atom 'undefined', which is not very informative.
2017-09-29Allow multiple clauses in match specSiri Hansen
2017-09-20Merge branch 'dgud/update-runtime-deps' into maintDan Gudmundsson
* dgud/update-runtime-deps: Update runtime deps to depend on new stdlib functionality
2017-09-19Update runtime deps to depend on new stdlib functionalityDan Gudmundsson
~tw and new string functions are new since OTP-20 (stdlib-3.4)
2017-09-18cdv: Add ~tw as formatting option when expanding a termSiri Hansen
2017-09-18cdv: Warn about unsafe crashdumpSiri Hansen
Warn the user if the node executing the crashdump viewer potentially could overwrite the crashdump under inspection.
2017-09-18cdv: Show progress bar while reading big dataSiri Hansen
2017-09-15cdv: Optimize reading of crashdump with many binariesSiri Hansen
Earlier, crashdump_viewer stored an index of all binaries in a gb_tree on startup. The binary index was also stored in the cdv_dump_index_table along with all other "=xxx" tags from the dump. The difference between the indices was that the ets table contained the addresses of the binaries as strings (the hex address found after the "=binary:" tag) and in the gb_tree this hex address was instead converted to its integer value. The index in the ets table was only used once - when creating the gb_tree. The gb_tree was used for all later looups (to map integer address to file position). This commit replaces the two storages with one new ets table, cdv_binary_index_table, using the integer value of the hex address as key, and the position in the crashdump file as value. In the case of many binaries, this makes the start of crashdump viewer faster (only one place to write), and the data usage smaller (hex address strings are no longer stored). And it avoids the gc of the gb_tree.
2017-09-13cdv: Find end of 'Last calls' sectionSiri Hansen
This is a bug fix: the end of the 'Last calls' section is meant to be an empty line, but in some situations this is not the case. This could cause the complete dump to be read and stored as 'Last calls', causing very unexpected behavior in the crashdump viewer. This commit adds a check for ": ", which indicates that a new heading has occured and thus the 'Last calls' section is completly read.
2017-09-13cdv: Don't mark process as truncated if truncation is after all proc_heapsSiri Hansen
2017-09-05observer: Improve handling of UnicodeSiri Hansen
2017-08-11Add System statistics / limit panelGabriele Santomaggio
Show the statistics, limits and percentage for atoms, processes,ports and ETS. Backward compatibility with old versions, In case the valuse is missing it shows the string Not available.
2017-06-19Update copyright yearHans Nilsson
2017-06-16[ttb] Handle unicode atoms in trace data and config filesSiri Hansen
2017-06-16[etop] Fix handling of unicode atomsSiri Hansen
Print function names and registered names with ~tw. Open dump file with encoding utf8.
2017-06-14Update copyright yearHans Nilsson
2017-05-31observer: Allow edit of pid, port and refsDan Gudmundsson
Use lib:extended_parse_term/1 to allow editing terms which contains pids, ports and terms. ERL-178
2017-05-22Merge branch 'dgud/observer/fix-bytes'Dan Gudmundsson
* dgud/observer/fix-bytes: observer: Fix words to bytes
2017-05-19Merge branch 'siri/etop/many-procs-timeout/OTP-14393'Siri Hansen
* siri/etop/many-procs-timeout/OTP-14393: [etop] Extend timer when fetching process info from node
2017-05-18observer: Fix words to bytesDan Gudmundsson
heap and stack size in erlang:process_info/2 are reported as words not as bytes.
2017-05-10observer: Fix alpabetic ordering when sorting on NameDan Gudmundsson
Ref: ERL-297 Now sorts 'Name or Initial Func' column in 'Processes' tab in (us-ascii) order for both names and initial functions.
2017-05-09observer: Handle crash when node goes downDan Gudmundsson
Do not crash if observed node stops
2017-05-09observer: listen on correct notebook changeDan Gudmundsson
Only listen to toplevel notebook changes, otherwise if another windows have a notebook and do not handle the event this process gets it and handles it wrongly.
2017-05-09observer: chunk process list infoDan Gudmundsson
2017-05-08[etop] Extend timer when fetching process info from nodeSiri Hansen
Originally, etop would only wait for 1 second after starting the collection of process info from the observed node. If data was not received in time, etop would exit with reason 'connection_lost'. In some cases, however, this timer would expire due to the amount of processes on the observed node. To avoid this, the timer is now extended to the same as the update interval, which means that if the problem occurs, it can be helped by extending the interval time.
2017-05-04Update copyright yearRaimo Niskanen
2017-04-25[observer] Don't crash if port info can not be fetchedSiri Hansen
When the observed node is older than OTP-19.0, observer_backend:get_port_list/1 does not exist. Observer would earliger crash in this situation. This is now corrected and a popup is displayed instead.
2017-03-28observer: (re)store configDan Gudmundsson
Store config when exiting app and restore config when starting again.
2017-03-28observer: Use event info to get active tabDan Gudmundsson
Previously changing tabs during high cpu-load, could make the change go unnoticed, and thus the graphs did not get updated.
2017-03-28observer: Keep sel after column change tvDan Gudmundsson
2017-03-28observer: Keep port selection after refreshDan Gudmundsson
2017-03-28observer: Keep tv selection after refreshDan Gudmundsson
Selection was lost after updates
2017-03-22Merge branch 'sverker/ets-table-identifiers/OTP-14094'Sverker Eriksson
* sverker/ets-table-identifiers: observer: Polish crashdump viewer for ETS observer: Polish Table Viewer tab stdlib: Remove ets_SUITE:memory_check_summary erts: Improve reduction count during table cleanup erts: Cleanup table status bits erts: Remove now redundant 'id' from DbTableCommon erts: Remove meta_main_tab erts: Pass tid argument down to trapping functions erts: Print table id as ref in crashdump and break menu erts: Replace meta_pid_to{_fixed}_tab with linked lists erts: Correct erl_rbtree comments about yielding erts: Add ERTS_RBT_YIELD_STAT_INIT to erl_rbtree Fix node_container_SUITE list_to_ref/1 Implement ets:all() using scheduler specific data Rename fixation count in ets table to avoid confusion Introduce references as table identifiers
2017-03-22observer: Polish crashdump viewer for ETSSverker Eriksson
Replaced "Id" column with "Is Named". Removed "Slot" column. Sort by name instead if id. Use name in right-click menu instead of id.
2017-03-22observer: Polish Table Viewer tabSverker Eriksson
to adapt to new ref table identifiers. I moved the "Table Id" column last.
2017-03-14Merge pull request #1342 from dgud/dgud/observer/max_and_dirty_sched/OTP-14137Dan Gudmundsson
2017-03-10observer: Add a max carrier size columnDan Gudmundsson
Users wanted to see the maximum value seen by observer during it's uptime. Note changes faster than the sample rate will still be missed.
2017-03-10observer: Draw dotted lines for dirty cpu threadsDan Gudmundsson
In OTP-20 dirty_schedulers are default on. Draw them dotted so we can difference between real schedulers and dirty schedulers.
2017-03-03Merge branch 'maint'Björn Gustavsson
* maint: tools: Use portable lookup of home directory dialyzer, observer: Use portable lookup of home directory
2017-03-02dialyzer, observer: Use portable lookup of home directoryBjörn Gustavsson
Use init:get_argument(home) to find the location of the home directory. That will work on all platforms (including Windows). Note that the run-time system will fail to start if HOME (or the equivalent on Windows) is not set. Therefore, it can be assumed that init:get_argument(home) will not fail. ERL-161
2017-02-09Merge branch 'maint'Björn Gustavsson
* maint: Fix observer term conversion error spelling
2017-02-08Fix observer term conversion error spellingDave Jeffrey
In the observer UI, when inspecting state, the error given when attempting to convert a bad term contains a spelling mistake.
2017-01-26Merge branch 'maint'Siri Hansen
2017-01-26Fix observer application crash (#1296)visciang
Fix observer application crash When clicking an HTML-link to a port before the port tab has been opened for the first time, observer would crash since port info is not initiated. This is now corrected. Also, when clicking on an HTML link to a port, and the port does not exist, then pop up an info dialog saying "No such port". OTP-14151
2016-12-20Merge branch 'maint'Siri Hansen
2016-12-20Merge branch 'siri/cdv/multi-line-slogan/ERL-318/OTP-14093' into maintSiri Hansen
* siri/cdv/multi-line-slogan/ERL-318/OTP-14093: [crashdump_viewer] Allow multiple lines in Slogan
2016-12-14[crashdump_viewer] Allow multiple lines in SloganSiri Hansen
2016-12-12[etop] Show CPU utilization for last interval onlySiri Hansen
Since commit 265998a7e412cd382315632964846569c370a5a2, etop reports the CPU (scheduler) utilization since the tool was started instead of for the last interval only. This is now corrected.
2016-12-07Merge branch 'maint'Dan Gudmundsson
* maint: Update copyright-year Conflicts: lib/dialyzer/src/dialyzer.hrl lib/dialyzer/src/dialyzer_options.erl lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl lib/hipe/icode/hipe_icode.erl lib/hipe/main/hipe.erl lib/hipe/main/hipe.hrl.src lib/hipe/main/hipe_main.erl