aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/src
AgeCommit message (Collapse)Author
2018-02-22erts,observer: Add port-suspended pids to crash dumpSverker Eriksson
2018-02-22erts,observer: Add port states and flags to crash dumpSverker Eriksson
2018-02-20erts,observer: Add dirty schedulers to crash dumpSverker Eriksson
2018-02-20observer: Refactor get_schedulerinfo1Sverker Eriksson
to prepare for dirty schedulers with common run queues
2018-02-20erts,observer: Add more port info to crash dumpSverker Eriksson
2018-02-20erts: Add binary vheap sizes to crash dumpSverker Eriksson
2018-01-22Merge branch 'dgud/observer/opt-tv-tab/OTP-14856' into maintDan Gudmundsson
* dgud/observer/opt-tv-tab/OTP-14856: observer: Fix change accum Remove double calls observer: Don't crash for late messages observer: Optimize tv tab for many tables
2018-01-11observer: Fix change accumDan Gudmundsson
Wrong data types was stored in the accum list.
2018-01-11Remove double callsDan Gudmundsson
2018-01-11observer: Don't crash for late messagesDan Gudmundsson
2018-01-11observer: Optimize tv tab for many tablesDan Gudmundsson
Make it a virtual table, the only table which was not a virtual table. Updating 10000 rows with many columns and alternating colors takes too long time to be a viable solution.
2018-01-10[observer] Improve performance for many links or monitorsSiri Hansen
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.
2018-01-09Merge branch 'siri/etop/include/ERL-534/OTP-14842' into maintSiri Hansen
* siri/etop/include/ERL-534/OTP-14842: [observer] Use include_lib instead of include with relative path Add runtime_tools/include to tertiary bootstrap
2018-01-03[cdv] Don't crash when dump is truncated in module attributesSiri Hansen
This bug was introduced by commit 3b964e8dbaa0cd73ca7a983b3ce948e0dbd2c35c
2017-12-20[observer] Use include_lib instead of include with relative pathSiri Hansen
2017-11-21Use base64 encoding in crash dumpsBjörn Gustavsson
This will reduce the size of crash dumps, especially if there are large binaries.
2017-11-21Correct parsing of sub binariesBjörn Gustavsson
Correct several problems parsing sub binaries. A sub binary would often be replaced with '#CDVNonexistingBinary'. When parsing a sub binary, we must scan ahead to find the definition of the refc or heap binary being referenced.
2017-11-20Generalize passing of options for decodingBjörn Gustavsson
The functions that decode Erlang terms from the crash dump file take a BinAddrAdj argument to adjust binary addresses in old crash dumps. To be able to add more decode options in the future, rename the argument to DecodeOpts and let it be a record.
2017-11-08Merge branch 'siri/cdv/misc-improvements/OTP-14755' into maintSiri Hansen
* siri/cdv/misc-improvements/OTP-14755: [cdv] Fix test of size limit reached on crash dump [cdv] Display warning if heap is incomplete [cdv] Check if dump version is newer than cdv can handle [cdv] Add comment about ets tables
2017-11-08[cdv] Display warning if heap is incompleteSiri Hansen
2017-10-26[cdv] Check if dump version is newer than cdv can handleSiri Hansen
If the version of the given crash dump is newer than what crashdump_viewer is prepared to read, then crashdump_viewer will display an info dialog and then terminate. This is to allow major updates of the format of crash dumps.
2017-10-26[cdv] Add comment about ets tablesSiri Hansen
2017-10-24[observer] Don't crash on empty binarySiri Hansen
Commit e1310b8f introduced a bug which caused the observer tool (and crashdump_viewer) to crash when trying to display an empty binary. The same change would also cause leading zeros in a binary to disappear in the preview. The bug is now corrected.
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