aboutsummaryrefslogtreecommitdiffstats
path: root/lib/runtime_tools/src
AgeCommit message (Collapse)Author
2018-02-20Fix regression introduced in d468fcbb / OTP-14816John Högberg
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.
2018-02-13Merge branch 'maint-20' into maintSverker Eriksson
* 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
2018-02-12Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson
into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
2018-02-12erts: Add age order first fit allocator strategiesSverker Eriksson
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.
2018-01-11Reduce memory use of system_information:to_file/1John Högberg
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.
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-29[dbg] Fix encoding commentSiri Hansen
Encoding specified in a comment must be 'utf-8' instead of 'utf8'.
2017-06-16[dbg] Update default trace handler to print unicode atoms correctlySiri Hansen
2017-06-09stdlib: Handle Unicode atoms in ms_transformHans Bolinder
2017-05-09observer: chunk process list infoDan Gudmundsson
2017-05-04Update copyright yearRaimo Niskanen
2017-04-20observer: add new bind_to_device port optionAndreas Schultz
2017-03-27Add a no_native option wherever there is an on_loadKostis Sagonas
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.
2017-01-25Merge branch 'egil/percept/remove-application/OTP-14163'Björn-Egil Dahlberg
* 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
2017-01-20runtime_tools: Remove perceptBjörn-Egil Dahlberg
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-07Update copyright-yearErlang/OTP
2016-12-05[observer] Add more port informationSiri Hansen
2016-09-23[ttb] Add option <c>queue_size</c> to tracer/2Siri Hansen
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.
2016-05-27Merge branch 'lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267'Lukas Larsson
* 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
2016-05-24erts: Move tracer SecondTraceTerm to Opts mapLukas Larsson
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.
2016-05-20[runtime_tools] Don't trace the trace client portSiri Hansen
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.
2016-05-20[runtime_tools] Allow setting trace flag 'exiting' with dbgSiri Hansen
2016-05-19[observer] Add Ports tab in GUISiri Hansen
2016-05-13Merge branch 'egil/runtime_tools/fix-unmatched_return/OTP-13595'Björn-Egil Dahlberg
* egil/runtime_tools/fix-unmatched_return/OTP-13595: runtime_tools: Fix unmatched return warnings
2016-05-12runtime_tools: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-09Merge branch 'sverker/trace-send-receive-matchspec/OTP-13507'Sverker Eriksson
2016-05-04Change dbg:ctpe to go back to defaultSverker Eriksson
i.e enable all send/receive trace.
2016-05-04runtime_tools: Add dbg functions tpe/2 and ctpe/1Sverker Eriksson
To set/clear match specs for send and receive trace. 'e' for Event as we might want to add match specs for other trace events (proc exit,link,ulink,...).
2016-05-04runtime_tools: Update runtime depsBjörn-Egil Dahlberg
2016-05-03Merge branch 'egil/runtime_tools/cuddle-tests'Björn-Egil Dahlberg
* egil/runtime_tools/cuddle-tests: runtime_tools: Cuddle with dbg_SUITE runtime_tools: Remove obsolete debug info in dbg_SUITE runtime_tools: Use 'infinity' gen_server calls
2016-04-29Merge branch 'egil/erts/tracing-support-lttng/OTP-13532'Björn-Egil Dahlberg
* egil/erts/tracing-support-lttng/OTP-13532: (28 commits) runtime_tools: User's guide to LTTng and dyntrace runtime_tools: Fix Dtrace build erts: Fix gc messages in tracer_SUITE erts: Fix gc messages in sensitive_SUITE erts: Fix gc messages in trace_port_SUITE tools: Update fprof tests tools: Update fprof with new gc traces runtime_tools: Update dyntrace_lttng_SUITE tests runtime_tools: Add 'return_to' for call tracing erts: Fix return_to trace callback erts: Update erl_tracer documentation erts: Fix erl_tracer documentation typos Update preloaded erl_tracer.beam erts: Update erl_tracer type specs runtime_tools: Add lttng dyntrace tests runtime_tools: Extend 'trace' and 'enabled' tracer callbacks erts: Extend 'enabled' and 'trace' tracer callbacks runtime_tools: Extend 'enabled' tracer callbacks erts: Extend 'enabled' tracer callbacks runtime_tools: Update lttng garbage collection trace ...
2016-04-29runtime_tools: Extend 'trace' and 'enabled' tracer callbacksBjörn-Egil Dahlberg
Adds the following capabilities to dyntrace * enabled_running_ports/3 * enabled_running_procs/3 changed from enabled_running/3 * trace_running_ports/6 * trace_running_procs/6 changed from trace_running/6
2016-04-29runtime_tools: Extend 'enabled' tracer callbacksBjörn-Egil Dahlberg
Adds the following capabilities to dyntrace * enabled_procs/3 * enabled_ports/3 * enabled_running/3 * enabled_call/3 * enabled_send/3 * enabled_receive/3 * enabled_garbage_collection/3
2016-04-29runtime_tools: Add lttng 'call' tracingBjörn-Egil Dahlberg
2016-04-29runtime_tools: Add lttng 'ports' tracingBjörn-Egil Dahlberg
2016-04-29runtime_tools: Add lttng 'running' tracingBjörn-Egil Dahlberg
2016-04-28Enhance map specs in erts, stdlib, runtime_toolsMagnus Lång
Using the new type syntax, we can specify which keys are required, and which are optional in a way Dialyzer could use.
2016-04-25runtime_tools: Use 'infinity' gen_server callsBjörn-Egil Dahlberg
system_information calls could timeout in certain debug scenarios.
2016-04-19runtime_tools: Initial lttng tracing frameworkBjörn-Egil Dahlberg
2016-04-15runtime_tools: Make dbg work with erl_tracer modulesLukas Larsson
OTP-13500
2016-04-15runtime_rools: Allow new timestamp trace flagsLukas Larsson
OTP-13502
2016-04-15runtime_tools: Update dbg to work with tracing on portsLukas Larsson
OTP-13500
2016-04-15erts: Extend process and port tracingLukas Larsson
This commit completes the tracing for processes so that all messages sent by a process (via nifs or otherwise) will be traced. The commit also adds tracing of all types of events from ports. When enabling tracing using erlang:trace, the 'all' flag now also enables tracing on all ports. OTP-13496
2016-03-15update copyright-yearHenrik Nord
2016-02-17Merge branch 'maint'Hans Bolinder
* maint: xmerl: Remove 'no_return' Dialyzer warnings xmerl: Add suppression of Dialyzer warnings eunit: Add suppression of Dialyzer warnings debugger: Add suppression of Dialyzer warnings kernel: Add suppression of Dialyzer warnings mnesia: Add suppression of Dialyzer warnings observer: Add suppression of Dialyzer warnings runtime_tools: Add suppression of Dialyzer warnings stdlib: Add suppression of Dialyzer warnings test_server: Add suppression of Dialyzer warnings tools: Add suppression of Dialyzer warnings Conflicts: lib/stdlib/src/erl_lint.erl lib/stdlib/src/otp_internal.erl
2016-02-17runtime_tools: Add suppression of Dialyzer warningsHans Bolinder
2016-02-02erts: Add microstate accountingLukas Larsson
Microstate accounting is a way to track which state the different threads within ERTS are in. The main usage area is to pin point performance bottlenecks by checking which states the threads are in and then from there figuring out why and where to optimize. Since checking whether microstate accounting is on or off is relatively expensive if done in a short loop only a few of the states are enabled by default and more states can be enabled through configure. I've done some benchmarking and the overhead with it turned off is not noticible and with it on it is a fraction of a percent. If you enable the extra states, depending on the benchmark, the ovehead when turned off is about 1% and when turned on somewhere inbetween 5-15%. OTP-12345
2016-01-28Use file read buffering in dbg:trace_clientPéter Gömöri
Trace files are typically large but contain small terms so we can expect a performance gain from read buffering. dbg:trace_client with a dummy handler ran more then 3x faster on a sample 200MB trace file. fprof:profile can also gain a bit.