summaryrefslogtreecommitdiff
path: root/lib/runtime_tools/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | Prepare releaseErlang/OTP2020-03-241-2/+2
| |
* | Revert "Prepare release"Henrik Nord2020-02-271-2/+2
| | | | | | | | This reverts commit 50e614e7d5fee9e3bfe8a58e7f390c6ea6caf271.
* | Prepare releaseErlang/OTP2020-02-261-2/+2
| |
* | pg: distributed named process groupsMaxim Fedorov2020-02-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replacement for pg2 module. Differences (compared to pg2): * non-existent and empty group treated the same (empty list of pids), thus create/1 and delete/1 have no effect (and not implemented). which_groups() return only non-empty groups * no cluster lock required, and no dependency on global * all join/leave operations require local process (it's not possible to join a process from a different node) * multi-join: join/leave several processes with a single call Empty groups are not supported: unlike a process, group does not have originating node. So it's possible that during net split one node deletes the group, that still exists for another partition. pg2 will re-create deleted group as soon as net split converges, which is quite unexpected. Process groups can be organised into multiple scopes. Scopes are completely independent of each other. A process may join any number of groups in any number of scopes. Scopes are designed to decouple single mesh into a set of overlay networks, reducing amount of traffic required to propagate group membership information.
* | Merge branch 'john/erts/cleanup-allocator-statistics/OTP-16327'John Högberg2020-01-082-9/+18
|\ \ | | | | | | | | | | | | | | | * john/erts/cleanup-allocator-statistics/OTP-16327: erts: Include block types in allocation statistics instrument: Include allocation types in carrier statistics
| * | erts: Include block types in allocation statisticsJohn Högberg2020-01-072-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that carriers can migrate freely, a binary allocator may find itself responsible for a bunch of heap fragments. We used to present such blocks as if they were still in the pool ("foreign blocks") but it was a bit too counter-intuitive. This commit presents all blocks on the allocator that employs their carrier, regardless of their type.
* | | Distributed spawn improvementsRickard Green2019-12-182-5/+19
|/ /
* | runtime_tools: dbg:stop_clear should clear trace pattern eventsLukas Larsson2019-09-031-0/+2
| | | | | | | | | | Also make sure that the dbg_SUITE cleans up after itself so that it does not interfere with the lttng suite coming next.
* | erts,runtime_tools: Remove some vfork residuesSverker Eriksson2018-07-021-1/+0
|/ | | | | The use of vfork was removed in OTP-19 with the introduction of the dedicated forker process.
* Use bif for counting ets tables in observer backendArtur Cygan2018-06-201-1/+1
|
* Update copyright yearHenrik Nord2018-06-186-6/+6
|
* Remove error_logger process and add logger processSiri Hansen2018-04-261-1/+1
|
* Merge branch 'maint'John Högberg2018-02-211-20/+20
|\
| * Fix regression introduced in d468fcbb / OTP-14816John Högberg2018-02-201-20/+20
| | | | | | | | | | | | | | | | | | The ~p format specifier made file:consult/1 hysterically slow on one of our test machines that had a unicode character in the root of the code path; all paths were printed as lists and indented with way too much whitespace. Using ~w avoids this issue by never indenting.
| * Merge branch 'maint-20' into maintSverker Eriksson2018-02-131-1/+7
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-20: Updated OTP version Update release notes Update version numbers erts: Add system_flags(erts_alloc,"+M?sbct *") erts: Add age order first fit allocator strategies erts: Refactor erl_ao_firstfit_alloc erts: Add migration options "acnl" and "acfml" kernel: Add os:cmd/2 with max_size option erts: Add more stats for mbcs_pool erts: Fix alloc_SUITE:migration stdlib: Make ets_SUITE memory check try again erts: Improve carrier pool search erts: Improve alloc_SUITE:migration erts: Refactor carrier dealloc migration
* | \ Merge 'sverker/maint-20/alloc-n-migration/ERIERL-88'Sverker Eriksson2018-02-121-1/+7
|\ \ \ | | |/ | |/| | | | into 'sverker/master/alloc-n-migration/ERIERL-88'
| * | Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson2018-02-121-1/+7
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
| | * | erts: Add age order first fit allocator strategiesSverker Eriksson2018-02-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ageffcaoff: Age First Fit Carrier, Address Order First Fit (within carrier) ageffcbf : Age First Fit Carrier, Best Fit (within carrier) ageffcaobf: Age First Fit Carrier, Address Order Best Fit (within carrier) Prefer old carriers, the older the better.
* | | | runtime_tools: Do not call erlang:get_stacktrace()Hans Bolinder2018-02-061-1/+1
| | | |
* | | | Merge PR-1639 from sverker/scheduler_utilization OTP-14904Sverker Eriksson2018-01-293-0/+154
|\ \ \ \ | | | | | | | | | | runtime_tools: Add scheduler module
| * | | | runtime_tools: Add scheduler moduleSverker Eriksson2018-01-293-0/+154
| |/ / /
* | | | Merge branch 'maint'John Högberg2018-01-151-74/+158
|\ \ \ \ | | |_|/ | |/| |
| * | | Reduce memory use of system_information:to_file/1John Högberg2018-01-111-74/+158
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation generated a term, converted it to plain text with io_lib:format/2, and then converted that to a binary before writing it to disk. We now emit the term as we go, which should make it a bit safer to extract this information under load.
* | | Turn on scheduler_wall_time in an alive processDan Gudmundsson2017-12-191-3/+3
| | | | | | | | | | | | | | | scheduler_wall_time is ref-counted so it will turn off if process dies, keep the process that turns it on alive.
* | | Merge branch 'lukas/erts/poll-thread/OTP-14346'Lukas Larsson2017-10-051-1/+2
|\ \ \ | | | | | | | | | | | | | | | | * lukas/erts/poll-thread/OTP-14346: erts: Update +IOt and msacc docs
| * | | erts: Update +IOt and msacc docsLukas Larsson2017-10-021-1/+2
| |/ /
* | | Merge branch 'siri/string-new-api'Siri Hansen2017-09-152-14/+18
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * siri/string-new-api: (28 commits) hipe (test): Do not use deprecated functions in string(3) dialyzer (test): Do not use deprecated functions in string(3) eunit (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) mnesia (test): Do not use deprecated functions in string(3) Deprecate old string functions observer: Do not use deprecated functions in string(3) common_test: Do not use deprecated functions in string(3) eldap: Do not use deprecated functions in string(3) et: Do not use deprecated functions in string(3) os_mon: Do not use deprecated functions in string(3) debugger: Do not use deprecated functions in string(3) runtime_tools: Do not use deprecated functions in string(3) asn1: Do not use deprecated functions in string(3) compiler: Do not use deprecated functions in string(3) sasl: Do not use deprecated functions in string(3) reltool: Do not use deprecated functions in string(3) kernel: Do not use deprecated functions in string(3) hipe: Do not use deprecated functions in string(3) ... Conflicts: lib/eunit/src/eunit_lib.erl lib/observer/src/crashdump_viewer.erl lib/reltool/src/reltool_target.erl
| * | runtime_tools: Do not use deprecated functions in string(3)Dan Gudmundsson2017-09-152-14/+18
| | |
* | | observer: Improve handling of UnicodeSiri Hansen2017-09-051-5/+26
| | |
* | | Add System statistics / limit panelGabriele Santomaggio2017-08-111-4/+12
|/ / | | | | | | | | | | 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.
* | [dbg] Fix encoding commentSiri Hansen2017-06-291-1/+1
| | | | | | | | Encoding specified in a comment must be 'utf-8' instead of 'utf8'.
* | [dbg] Update default trace handler to print unicode atoms correctlySiri Hansen2017-06-161-73/+145
| |
* | stdlib: Handle Unicode atoms in ms_transformHans Bolinder2017-06-091-2/+2
| |
* | observer: chunk process list infoDan Gudmundsson2017-05-091-1/+18
| |
* | Update copyright yearRaimo Niskanen2017-05-043-3/+3
| |
* | observer: add new bind_to_device port optionAndreas Schultz2017-04-201-2/+2
| |
* | Add a no_native option wherever there is an on_loadKostis Sagonas2017-03-271-1/+1
| | | | | | | | | | | | | | | | | | This is a poor man's solution that allows to build and test the system with all files compiled to native code simply by setting the ERL_COMPILER_OPTS environment variable. Better solutions, like automatically setting the no_native option whenever the compiler sees an on_load attribute, obviously exist but require more time to implement.
* | Merge branch 'egil/percept/remove-application/OTP-14163'Björn-Egil Dahlberg2017-01-253-200/+2
|\ \ | |/ |/| | | | | | | | | | | * egil/percept/remove-application/OTP-14163: ssl: Remove percept from benchmark otp: Don't mention percept in documentation runtime_tools: Remove percept percept: Remove application
| * runtime_tools: Remove perceptBjörn-Egil Dahlberg2017-01-203-200/+2
| |
* | [etop] Show CPU utilization for last interval onlySiri Hansen2016-12-121-4/+3
|/ | | | | | 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.
* Update copyright-yearErlang/OTP2016-12-071-1/+1
|
* [observer] Add more port informationSiri Hansen2016-12-051-4/+49
|
* [ttb] Add option <c>queue_size</c> to tracer/2Siri Hansen2016-09-231-1/+1
| | | | | | | This sets the maximum queue size for the IP trace driver which is used when tracing to shell and/or <c>{local,File}</c>. Also, change the default queue size set by dbg:trace_port/2 to 200.
* Merge branch 'lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267'Lukas Larsson2016-05-271-21/+17
|\ | | | | | | | | | | | | * lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267: runtime_tools: Fix erl_tracer testcases runtime_tools: Fix documentation for dbg:p erts: Move tracer SecondTraceTerm to Opts map
| * erts: Move tracer SecondTraceTerm to Opts mapLukas Larsson2016-05-241-21/+17
| | | | | | | | | | | | | | | | | | | | | | The extra trace data has been moved to the opts map in order for the tracer to be able to distinguish inbetween extra trace data 'undefined' and no extra trace data. In the same commit all opts associations have been changed so that if the tracer should not use them, the key is left unassicated instead of being sent to undefined. This should be give a small performance gain and also makes the API easier to work with.
* | [runtime_tools] Don't trace the trace client portSiri Hansen2016-05-201-0/+3
| | | | | | | | | | | | | | When using an IP trace client, turn of all trace flags on the client port to avoid massive overload. Note that this is only a protection on client start - it is currently not possible to protect the port against trace flags set at a later point in time.
* | [runtime_tools] Allow setting trace flag 'exiting' with dbgSiri Hansen2016-05-201-1/+1
| |
* | [observer] Add Ports tab in GUISiri Hansen2016-05-191-1/+11
|/
* Merge branch 'egil/runtime_tools/fix-unmatched_return/OTP-13595'Björn-Egil Dahlberg2016-05-136-35/+53
|\ | | | | | | | | * egil/runtime_tools/fix-unmatched_return/OTP-13595: runtime_tools: Fix unmatched return warnings
| * runtime_tools: Fix unmatched return warningsBjörn-Egil Dahlberg2016-05-126-35/+53
| |