Fred Hebert [Mon, 29 Aug 2016 12:10:13 +0000 (08:10 -0400)]
Fix pheap when count > total elements
Fred Hebert [Wed, 10 Aug 2016 12:31:49 +0000 (08:31 -0400)]
Merge pull request #48 from zhongwencool/master
[bug_fix] bin_leak/1 should return lists order by the smallest element
zhongwencool [Tue, 9 Aug 2016 15:53:04 +0000 (23:53 +0800)]
order by the smallest element
zhongwencool [Tue, 9 Aug 2016 14:32:36 +0000 (22:32 +0800)]
[bug_fix] bin_leak/1 should absolute value rank
Fred Hebert [Tue, 9 Aug 2016 01:56:17 +0000 (21:56 -0400)]
Merge pull request #47 from pichi/master
Use pairing heap for finding top n in a list
Hynek Vychodil [Tue, 26 Jul 2016 14:04:08 +0000 (16:04 +0200)]
Use pairing heap for finding top n in a list
Using pairing heap is significantly faster than inserting into sorted list.
Fred Hebert [Thu, 21 Jul 2016 22:23:54 +0000 (18:23 -0400)]
Merge pull request #45 from zhongwencool/master
optimize function when finding top n in a list
zhongwencool [Wed, 13 Jul 2016 18:40:16 +0000 (02:40 +0800)]
optimize find top n in a list method
Fred Hebert [Wed, 18 May 2016 13:45:09 +0000 (09:45 -0400)]
Restoring rebar; needed for CI.
Fred Hebert [Wed, 18 May 2016 13:00:51 +0000 (09:00 -0400)]
Allow return_to option in recon_trace calls
Fred Hebert [Sun, 17 Apr 2016 20:47:16 +0000 (16:47 -0400)]
Merge pull request #42 from lucafavatella/ci
Minor Travis CI updates
Luca Favatella [Sun, 17 Apr 2016 19:52:40 +0000 (20:52 +0100)]
Bump Travis CI to 18.3
Luca Favatella [Sun, 17 Apr 2016 19:54:11 +0000 (20:54 +0100)]
Migrate Travis CI to container-based infrastructure
Fred Hebert [Tue, 5 Apr 2016 21:29:35 +0000 (17:29 -0400)]
Bump to 2.3.1
Also fix hex packaging
Fred Hebert [Tue, 5 Apr 2016 20:43:29 +0000 (16:43 -0400)]
Fix app_deps script to work with rebar3
Fred Hebert [Tue, 5 Apr 2016 12:44:46 +0000 (08:44 -0400)]
docs patch up
Fred Hebert [Tue, 5 Apr 2016 12:37:29 +0000 (08:37 -0400)]
Fixing docsite script for rebar3
Fred Hebert [Mon, 4 Apr 2016 20:00:48 +0000 (16:00 -0400)]
Bumping to 2.3.0
Fred Hebert [Sat, 12 Mar 2016 05:09:43 +0000 (21:09 -0800)]
Merge pull request #40 from grossman/scheduler_usage_diff_divide_by_zero
Avoid divide by zero in scheduler_usage/1 on lightly loaded systems.
Sean Grossman [Fri, 11 Mar 2016 23:49:23 +0000 (18:49 -0500)]
Avoid divide by zero in scheduler_usage/1 on lightly loaded systems.
Fred Hebert [Tue, 9 Feb 2016 14:34:12 +0000 (09:34 -0500)]
Merge pull request #38 from larshesel/master
Correct typo
Lars Hesel Christensen [Tue, 9 Feb 2016 07:33:55 +0000 (08:33 +0100)]
Correct typo
Fred Hebert [Mon, 23 Nov 2015 15:50:53 +0000 (10:50 -0500)]
Merge pull request #36 from garazdawi/lukas/fix_gc_printouts
Fix gc_* trace message information
Lukas Larsson [Mon, 23 Nov 2015 15:18:22 +0000 (16:18 +0100)]
Fix gc_* trace message information
Fred Hebert [Mon, 10 Aug 2015 14:35:53 +0000 (10:35 -0400)]
Rework custom formatter
This makes it fit within the options, so that it better aligns with
existing design and optional features.
Fred Hebert [Mon, 10 Aug 2015 14:21:56 +0000 (10:21 -0400)]
Merge branch 'djnym-master'
Fred Hebert [Mon, 10 Aug 2015 14:21:41 +0000 (10:21 -0400)]
Fix up io_server trace docs
Anthony Molinaro [Fri, 7 Aug 2015 17:48:47 +0000 (10:48 -0700)]
code review comment fixes
Anthony Molinaro [Thu, 6 Aug 2015 22:31:00 +0000 (15:31 -0700)]
add trace to pid other than group_leader()
Fred Hebert [Thu, 6 Aug 2015 14:27:45 +0000 (10:27 -0400)]
Merge pull request #27 from cloudant/custom-formatters
Add an ability to pass custom formatter function
ILYA Khlopotov [Thu, 6 Aug 2015 12:56:50 +0000 (05:56 -0700)]
[fixup] Rename incorrectly named variable
ILYA Khlopotov [Thu, 6 Aug 2015 12:56:15 +0000 (05:56 -0700)]
Support 'iodata()' as a return type from 'formatterfun()'
ILYA Khlopotov [Thu, 23 Jul 2015 13:54:41 +0000 (06:54 -0700)]
Remove trailing spaces (style)
ILYA Khlopotov [Thu, 23 Jul 2015 13:53:59 +0000 (06:53 -0700)]
Align types (style)
ILYA Khlopotov [Thu, 23 Jul 2015 13:50:39 +0000 (06:50 -0700)]
Update `formatterfun` type to be `iolist()`
ILYA Khlopotov [Wed, 22 Jul 2015 15:39:02 +0000 (08:39 -0700)]
Add an ability to pass custom formatter function
Fred Hebert [Fri, 26 Jun 2015 12:02:41 +0000 (12:02 +0000)]
Fixing trace disconnection race condition
Fred Hebert [Mon, 30 Mar 2015 14:30:46 +0000 (10:30 -0400)]
Doc fixes, preliminary 2.2.2 bump
Not the proper 2.2.2 release -- this will require more changes than doc
changes.
Fred Hebert [Mon, 24 Nov 2014 15:40:17 +0000 (10:40 -0500)]
Merge pull request #21 from silverbuddy/master
Spelling fix in recon_alloc doc
silverbuddy [Mon, 24 Nov 2014 14:32:19 +0000 (17:32 +0300)]
Spelling fix in recon_alloc doc
Fred Hebert [Fri, 31 Oct 2014 13:35:14 +0000 (09:35 -0400)]
Merge pull request #20 from wmalik/docfix
Spelling fix in recon_alloc doc
Wasif Malik [Fri, 31 Oct 2014 13:01:42 +0000 (14:01 +0100)]
Spelling fix in recon_alloc doc
Fred Hebert [Tue, 28 Oct 2014 13:27:17 +0000 (09:27 -0400)]
Bump to 2.2.1
Fred Hebert [Tue, 28 Oct 2014 13:14:30 +0000 (09:14 -0400)]
Doc fixes, and travis bump to 17.3
Fred Hebert [Tue, 21 Oct 2014 12:09:12 +0000 (08:09 -0400)]
Merge pull request #18 from silverbuddy/master
Add application modules
silverbuddy [Tue, 21 Oct 2014 10:04:11 +0000 (14:04 +0400)]
Add application modules
Fred Hebert [Thu, 26 Jun 2014 00:23:29 +0000 (20:23 -0400)]
Bumping travis to include 17.1
Fred Hebert [Thu, 22 May 2014 15:38:55 +0000 (08:38 -0700)]
Merge branch 'lucafavatella-fix-port_types-type-spec'
Fred Hebert [Thu, 22 May 2014 15:36:03 +0000 (08:36 -0700)]
Update README with changes
Internally bumping to 2.2.1 while developing this fixed version
Luca Favatella [Wed, 21 May 2014 12:08:08 +0000 (13:08 +0100)]
Fix type spec of recon:port_types/0
Luca Favatella [Wed, 21 May 2014 10:21:02 +0000 (11:21 +0100)]
Polish readme. Usually '.' is not in the PATH
Fred Hebert [Tue, 13 May 2014 20:08:07 +0000 (20:08 +0000)]
Move to 2.2.0
Fred Hebert [Wed, 23 Apr 2014 12:52:44 +0000 (12:52 +0000)]
Small doc/README fixes
Lukas Larsson [Wed, 23 Apr 2014 07:38:22 +0000 (09:38 +0200)]
Expand docs about what allocated contains and what pools are
Lukas Larsson [Tue, 22 Apr 2014 13:20:30 +0000 (15:20 +0200)]
Include mbcs_pool in all mbcs values
In R16B02 an option to enable a mbc pool was added. In order to
get the total size of current mbcs we have to include the pool in
all our calculations with mbcs.
This commit also does a bit of refactoring that makes the code
more modular when fetching info from within the allocator statistics.
Fred Hebert [Wed, 2 Apr 2014 13:57:44 +0000 (13:57 +0000)]
Broadening recon_trace:calls/2 to allow >1 tspec
Only calls/3 allowed for more than one trace specification to be used,
creating a somewhat inconsistent API between with and without options.
This patch makes sure that multiple specs are allowed in both calls/2
and calls/3 for a more consistent interface, and is backwards compatible
(a superset) of the currently existing interface.
Fred Hebert [Tue, 25 Mar 2014 20:17:58 +0000 (20:17 +0000)]
Add Scheduler usage metrics
Fred Hebert [Fri, 7 Mar 2014 21:24:39 +0000 (13:24 -0800)]
Merge pull request #12 from proger/docsite-pattern
docsite: make the pattern fail when ./rebar doc spits an error
Vladimir Kirillov [Fri, 7 Mar 2014 19:48:59 +0000 (11:48 -0800)]
docsite: make the pattern fail when ./rebar doc spits an error
Fred Hebert [Fri, 7 Mar 2014 18:17:07 +0000 (10:17 -0800)]
Bump to 2.1.2
So many minor point versions in so few days
Fred Hebert [Fri, 7 Mar 2014 17:59:45 +0000 (09:59 -0800)]
Fixing more tests
Fred Hebert [Fri, 7 Mar 2014 17:20:39 +0000 (09:20 -0800)]
Adding travis support
Fred Hebert [Fri, 7 Mar 2014 15:52:47 +0000 (07:52 -0800)]
Add stricter matching for inexisting allocators
This would cause bugs in R15B03 when loading crash dumps from more
modern commands used in R16 and others to generate dumps in instances
where a given allocator isn't explicitly present.
In this case the value returned is {Alloc, false} for that allocator
rather than {Alloc, ListOfAllocs}, which caused the multi-generator LC
to crash.
This one adds an assertion as a list on a generator to make sure to
filter out empty allocators.
Fred Hebert [Thu, 6 Mar 2014 14:59:22 +0000 (06:59 -0800)]
Bump to 2.1.1
Fred Hebert [Thu, 6 Mar 2014 14:57:22 +0000 (06:57 -0800)]
Merge pull request #10 from robertoaloi/mfa-builtin-type
Do not redefine built-in mfa/0 type.
Roberto Aloi [Thu, 6 Mar 2014 14:16:37 +0000 (15:16 +0100)]
Improve indentation.
Roberto Aloi [Thu, 6 Mar 2014 14:15:05 +0000 (15:15 +0100)]
Do not redefine built-in mfa/0 type. Use tspec/0 type, instead.
Fred Hebert [Wed, 5 Mar 2014 16:12:06 +0000 (11:12 -0500)]
Remove invalid test assertion
Thanks @sg2342 in issue #9
Fred Hebert [Wed, 5 Mar 2014 15:02:31 +0000 (10:02 -0500)]
Fix failing test case in R16B03-1
Fix was already in the module being tested, but this one issue came when
generating a dump to load data from.
Fred Hebert [Tue, 4 Mar 2014 13:50:28 +0000 (08:50 -0500)]
Bump to 2.1.0
New since 2.0.x:
- queue_fun.awk
- recon_trace
- doc changes
Fred Hebert [Tue, 4 Mar 2014 13:39:55 +0000 (08:39 -0500)]
Merge branch 'tracing'
Fred Hebert [Tue, 4 Mar 2014 13:39:25 +0000 (08:39 -0500)]
Docs overhaul for recon_trace
Fred Hebert [Sat, 1 Mar 2014 22:08:20 +0000 (22:08 +0000)]
Docs & Cleanup
Documentation added, with examples and everything
Cleanup of internal code and moving functions around for a better
organization.
Fred Hebert [Sat, 1 Mar 2014 16:55:45 +0000 (16:55 +0000)]
Allow multiple pidspecs to be specified
This lets someone trace a group of processes, or make more complex rules
like `[new, SomeOldPid]`, which would allow to trace a single existing
pid and all the new ones that will come from now on.
Fred Hebert [Sat, 1 Mar 2014 00:43:33 +0000 (00:43 +0000)]
Be flexible on traceable pid input format
Fred Hebert [Fri, 28 Feb 2014 05:23:34 +0000 (05:23 +0000)]
Allow customizations and options for traces
Options are restricted to calls, and reworded to fit recon's pattern
from basic traces.
The options include:
- pid choice (all, existing, new, Pid)
- timestamp source (in the traces, or added by the formatter)
- args representation (arity or literal args)
- tracing pattern scope (fully qualified calls or local ones also)
Default values will have to be decided.
This patch also includes:
- basic type specs
- fixes to enable arity tracing
Fred Hebert [Fri, 28 Feb 2014 04:27:39 +0000 (04:27 +0000)]
Allow multiple patterns to be traceable
This reworks the API by adding more options -- passing in tuples and/or
lists of tuples representing the MFAs available in calls/4 and calls/5,
and adding a more generic calls/2.
Internally, the order is reversed on a few calls so that all patterns
are added at once, and then processes enabled, allowing a once-at-a-time
trigger of all submitted patterns.
Fred Hebert [Thu, 27 Feb 2014 05:31:11 +0000 (05:31 +0000)]
Initial tracing helpers commit
Fred Hebert [Mon, 10 Feb 2014 12:55:20 +0000 (07:55 -0500)]
Merge pull request #8 from nox/docs-overview-fix-code-block
Fix code block syntax in overview.edoc
Anthony Ramine [Sun, 9 Feb 2014 03:33:06 +0000 (04:33 +0100)]
Fix code block syntax in overview.edoc
Fred Hebert [Wed, 5 Feb 2014 13:45:27 +0000 (08:45 -0500)]
Adding script to match funcalls & msg queues
The awk script allows to go through a crash dump and show the function
currently executing for a process with a large mailbox.
This can hilight, for example, whenever processes die when they overload
the `user' process and are all stock in an io call, or any similar case.
Fred Hebert [Wed, 29 Jan 2014 13:59:02 +0000 (13:59 +0000)]
Bump to 2.0.2
Michal Ptaszek [Wed, 29 Jan 2014 07:18:44 +0000 (08:18 +0100)]
Make recon_alloc:allocators/0 more efficient
Michal Ptaszek [Tue, 28 Jan 2014 18:16:12 +0000 (19:16 +0100)]
Do not crash when allocator info is missing
Fred Hebert [Fri, 13 Dec 2013 13:38:10 +0000 (08:38 -0500)]
Bump to 2.0.1 with R16B03 support
Fred Hebert [Fri, 13 Dec 2013 13:36:15 +0000 (05:36 -0800)]
Merge pull request #6 from garazdawi/master
Update for R16B03
Lukas Larsson [Thu, 12 Dec 2013 13:26:31 +0000 (14:26 +0100)]
Update for R16B03
R16B03 introduced a new feature which is part of the
erlang:system_info(allocator) feature list. All previous
features could be inspected by system_info({allocator,A}),
but sys_aligned_alloc cannot. So the way in which we figure
out the available allocators has been updated.
Fred Hebert [Thu, 21 Nov 2013 18:43:02 +0000 (13:43 -0500)]
Of course, I make a typo on the 2.0.0 changelog!
Fred Hebert [Thu, 21 Nov 2013 18:36:31 +0000 (13:36 -0500)]
Bump to version 2.0.0
Fred Hebert [Thu, 21 Nov 2013 13:54:40 +0000 (08:54 -0500)]
Fix division by zero on usage/2 call
This always used integers, but with the new unit setting for
recon_alloc, it is now possible to get floating point values in there.
This makes the call handle them.
Fred Hebert [Fri, 15 Nov 2013 03:38:55 +0000 (22:38 -0500)]
Adding binary_memory handling for recon:info/2,4
This was requested in issue #5 and allows the user to get information on
the total amount of refc binaries used by a process. The code also puts
some scaffolding in place in order to possibly add similar exceptions
later on if need arises.
Tests included.
Fred Hebert [Thu, 14 Nov 2013 17:37:10 +0000 (12:37 -0500)]
Adding binary_memory handling for proc_attrs
This was requested in issue #5 and allows the user to call
`recon:procs_count` and `recon:procs_window` and sort processes by
the amount of binary memory they refer to.
Fred Hebert [Mon, 4 Nov 2013 14:41:35 +0000 (09:41 -0500)]
Add recon:get_state/2 to allow custom timeouts
If some calls are epxected to take more than 5s, the current get_state
function is useless. This patch allows a customizeable timeout instead.
Fred Hebert [Thu, 31 Oct 2013 00:57:01 +0000 (20:57 -0400)]
Trailing whitespace removal
Fred Hebert [Tue, 29 Oct 2013 22:06:25 +0000 (18:06 -0400)]
Doc fixes
Fred Hebert [Tue, 29 Oct 2013 19:35:01 +0000 (15:35 -0400)]
Dropping parallelism from port_info
This allows better backwards compatibility with all OTP versions
Fred Hebert [Sat, 26 Oct 2013 17:50:02 +0000 (13:50 -0400)]
Newest rebar version
Fred Hebert [Sat, 26 Oct 2013 17:49:46 +0000 (13:49 -0400)]
Expanding tests for v2.0
Fred Hebert [Thu, 24 Oct 2013 01:31:23 +0000 (21:31 -0400)]
Add shorthand recon_alloc:memory/1
Keeps basic backwards compatibility for the sake of it.
Lukas Larsson [Mon, 14 Oct 2013 09:03:37 +0000 (11:03 +0200)]
Add unit conversion for easier comparisons
When working with memory analysis, number often are quite big and become hard
to compare. Therefore it is nice to be able to work in giga/mega/kilo-bytes
depending on what memory you are currently looking at.
This commit adds support for changing which unit is used by all functions that
return a memory size.