aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/src
AgeCommit message (Collapse)Author
2019-02-11Use the counters module to speed up coverBjörn Gustavsson
Use `counters:add/3` instead of `ets:update_counter/3` for counting the number of times a line is executed. By default, the reference to the counter array for each module will be stored in a persistent term and retrieved every time a counter is updated. This makes the compiler test suite with coverage enabled run *almost* twice as fast (on my computer, in about 6 minutes down from more than 11 minutes). To get even more speed, the new `cover:local_only/0` function can be called to put cover into a mode where the cover-compiled code can only be run on the local node. In this mode, the cover-compiled modules in a more efficient way by compiling the counter reference into the code. This shaves off about one more minute, making the compiler test suite with coverage enabled run *more than* twice as fast (in about 5 minutes on my computer).
2019-01-25Merge branch 'maint'Siri Hansen
2019-01-21[cover] Make uncovered lines searchable in html outputSiri Hansen
Prior to PR#1807, uncovered lines could be found by searching for " 0.." in the HTML page generated by cover:analyse_to_file/1,2. The pull request removed the two dots after the number of hits, which makes it much harder to find the uncovered lines. This commit introduces a sad face, :-( , instead of the single 0 character, which should make the search easier.
2019-01-21Merge branch 'maint'Siri Hansen
2019-01-11Add a link on the line number in cover outputLoïc Hoguin
This will make it easier to send links to other people.
2019-01-08Update tools.app.srcMatt O'Gorman
add missing tags too
2019-01-06add cprof to list of toolsMatthew O'Gorman
2018-11-30Implement print on other nodeRaimo Niskanen
2018-09-21Update copyright yearHenrik Nord
2018-08-06Merge pull request #1807 from milmazz/improve-cover-html-pagesSiri Hansen
Improve Cover HTML page OTP-15213
2018-07-14Improve Cover HTML pageMilton Mazzarri
* Adapt diff colors to bring more contrast * Use monospace font for all the code in cover HTML report * Specify background color for the body as white * Reduce font-size for header * Install cover stylesheet when making release (@sirihansen made this improvement) * Additional changes based on feedback
2018-06-18Update copyright yearHenrik Nord
2018-05-08tools: Handle fast restarts of Xref serverHans Bolinder
2018-05-07Ensure that lcnt server is terminated after lcnt:stop/0John Högberg
This makes the nightly tests slightly more stable as they assert that the server isn't alive when lcnt:start/0 is called, which it could still be since the stop command was a plain gen_server call that didn't wait until the termination was completed.
2018-04-23erts: Rewrite memory instrumentationJohn Högberg
This commit replaces the old memory instrumentation with a new implementation that scans carriers instead of wrapping erts_alloc/erts_free. The old implementation could not extract information without halting the emulator, had considerable runtime overhead, and the memory maps it produced were noisy and lacked critical information. Since the new implementation walks through existing data structures there's no longer a need to start the emulator with special flags to get information about carrier utilization/fragmentation. Memory fragmentation is also easier to diagnose as it's presented on a per-carrier basis which eliminates the need to account for "holes" between mmap segments. To help track allocations, each allocation can now be tagged with what it is and who allocated it at the cost of one extra word per allocation. This is controlled on a per-allocator basis with the +M<S>atags option, and is enabled by default for binary_alloc and driver_alloc (which is also used by NIFs).
2018-02-13Merge branch 'maint'John Högberg
2018-02-13Merge branch 'john/tools/fix-lcnt-server-crash/PR-1711/OTP-14912' into maintJohn Högberg
2018-02-13Don't crash lcnt server if information/0 is called before collect/0Péter Gömöri
2018-02-12Automatically start lcnt server on first useJohn Högberg
lcnt:collect is documented as implicitly starting the lcnt server but didn't do so prior to this commit. I've decided to extend this behavior to all operations as the overhead is negligible and it's a bit more convenient to use.
2018-02-06tools: Do not call erlang:get_stacktrace()Hans Bolinder
2017-12-22Merge branch 'maint'Hans Bolinder
* maint: tools: Correct a counting bug in Cover
2017-12-21tools: Correct a counting bug in CoverHans Bolinder
See also PR #1641, https://github.com/erlang/otp/pull/1641. The bug was introduced in commit ab435488a (Erlang/OTP 18).
2017-09-21Merge branch 'maint'Hans Bolinder
* maint: fprof: Make sure the receiving file can handle Unicode
2017-09-21Merge branch 'hasse/tools/fprof_unicode_fix' into maintHans Bolinder
* hasse/tools/fprof_unicode_fix: fprof: Make sure the receiving file can handle Unicode
2017-09-20Merge branch 'maint'Dan Gudmundsson
* maint: erts, stdlib: Fix xmllint warning Update runtime deps to depend on new stdlib functionality
2017-09-20fprof: Make sure the receiving file can handle UnicodeHans Bolinder
It is assumed that I/O devices can handle character codes greater than 255.
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-15Merge branch 'siri/string-new-api'Siri Hansen
* 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
2017-09-14tools: Add handling of the -on_load() attribute to XrefHans Bolinder
2017-09-05xref: Improve handling of UnicodeHans Bolinder
The updates of xref_base:analysis() are cosmetic (the strings are parsed by the Erlang scanner only).
2017-09-05fprof: Modify handling of UnicodeHans Bolinder
It's not clear to me if the receiving file always can handle characters codes greater than 255.
2017-09-05eprof: Improve handling of UnicodeHans Bolinder
2017-08-24fprof: Sum callers and calleesJohan Claesson
When sampling multiple processes and analyzing with totals true sum together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry.
2017-07-06tools: Do not use deprecated functions in string(3)Hans Bolinder
2017-07-06johanclaesson/fprof/PR-1460/OTP-14500Lukas Larsson
fprof: Sum callers and callees
2017-07-06Merge branch 'john/erts/runtime-lcnt' into maintJohn Högberg
* john/erts/runtime-lcnt: Document rt_mask and add warnings about copy_save Add an emulator test suite for lock counting Break erts_debug:lock_counters/1 into separate BIFs Allow toggling lock counting at runtime Move lock flags to a common header Enable register_SUITE for lcnt builds Enable lcnt smoke test on all builds that have lcnt enabled Make lock counter info independent of the locks being counted OTP-14412 OTP-13170 OTP-14413
2017-07-06Break erts_debug:lock_counters/1 into separate BIFsJohn Högberg
2017-07-04fprof: Sum callers and calleesJohan Claesson
When sampling multiple processes and analyzing with totals true sum together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry.
2017-06-29[make] Do not use the interactive tool 'c' from makeSiri Hansen
2017-06-19Update copyright yearHans Nilsson
2017-06-16[ct] Print unicode atoms and strings correctly in common_test logsSiri Hansen
And use correct encoding when printing to files.
2017-05-04Update copyright yearRaimo Niskanen
2017-04-19Merge branch 'sverker/remove-latin1-atom-encoding'Sverker Eriksson
AGAIN * sverker/remove-latin1-atom-encoding: tools: Fix more assumptions in lcnt about external format
2017-04-18tools: Fix more assumptions in lcnt about external formatSverker Eriksson
Also tried to prepare for large creation.
2017-04-13Merge branch 'siri/make/include-path/ERL-395/OTP-14339'Siri Hansen
* siri/make/include-path/ERL-395/OTP-14339: [tools/make] Add current directory to include path
2017-04-12Merge branch sverker/remove-latin1-atom-encoding/OTP-14337Sverker Eriksson
* sverker/remove-latin1-atom-encoding: kernel: Fix erl_distribution_wb_SUITE:whitebox kernel: Remove pg2_SUITE:compat erts: Remove fun_r13_SUITE stdlib: Remove test cases for R12 io protocol kernel: Make DFLAG_UTF8_ATOMS mandatory kernel: Rewrite distribution flag verification tools: Update assumptions in lcnt about external atom format stdlib: Tweak beam_lib_SUITE whitebox assumptions orber: Remove hard dependency to external atom format kernel: Try mend disk_log whitebox tests erts: Mark latin1 atom encoding as deprecated jinterface: Do not generate atoms on old latin1 external format erl_interface: Do not generate atoms on old latin1 ext format erts: Do not generate atoms on old latin1 external format erts: Fix faulty ASSERT for failed dec_term
2017-04-12[tools/make] Add current directory to include pathSiri Hansen
This is to ensure that files are recompiled if a .hrl file in the current directory is changed.
2017-03-24Remove inets from runtime dependencies in toolsJosé Valim
Commit d8ff1e3 removed cover_web and therefore tools no longer depends on inets.
2017-03-13tools: Update assumptions in lcnt about external atom formatSverker Eriksson
2017-03-03tools: Allow Emake options to be passed in explicitlyAnthony Jackson
This allows build scripts to use emake without needing to generate an Emakefile before running make:all/0,1 or make:file/1,2.