@@ -17,142 +17,3 @@ Current Status
17
17
[ ![ Build Status] ( https://github.com/ferd/recon/workflows/build/badge.svg )] ( https://github.com/ferd/recon )
18
18
19
19
Versions supported: OTP-18 and up. Support of OTP-17 down to R15B02 is best effort. Builds with Rebar3 require OTP-18.3 and up because that's what the build tools support. Testing may eventually clamp up to OTP-supported releases (current and the two prior).
20
-
21
- Changelog
22
- ---------
23
-
24
- Branches are organized by version. ` master ` contains the bleeding edge, ` 2.x `
25
- contains all stable changes up to the latest release of v2, and ` 1.x ` contains
26
- all stable changes of the first version of Recon.
27
-
28
- * 2.x*
29
-
30
- - 2.5.3 (unpublished)
31
- - [ Handle dead processes in ` recon:info/2 ` types and edge cases] ( https://github.com/ferd/recon/pull/97 )
32
- - 2.5.2
33
- - [ Increase Dialyzer strictness] ( https://github.com/ferd/recon/pull/88 )
34
- - [ Accumulate all block entries in ` format_blocks ` ] ( https://github.com/ferd/recon/pull/83 )
35
- - [ option ` io_server ` can also be an ` atom() ` in traces doc] ( https://github.com/ferd/recon/pull/80 )
36
- - 2.5.1
37
- - Fix support for extra messages in traces (thanks to Péter Gömöri)
38
- - Fix some typespecs for match specs (thanks to @chenduo )
39
- - Support OTP-23 change of format in allocator blocks related to carrier migration support
40
- - 2.5.0
41
- - Optional formatting of records in traces (thanks to @bartekgorny )
42
- - Basic support for OTP-22 in ` recon_alloc ` (base handling of ` foreign_blocks ` type)
43
- - 2.4.0
44
- - Optional formatting of records in traces (thanks to @bartekgorny )
45
- - 2.3.6
46
- - Adapting for OTP-21. Includes the 'deprecation' of ` recon:files/0 `
47
- since OTP-21 no longer supports listing all file descriptors, and
48
- removing ` error_logger_queue_len ` from node stats since a new
49
- logging mechanism was introduced in-process instead.
50
- - 2.3.5
51
- - fixing timefold's first iteration to prevent errors at call-site
52
- by sleeping before sampling
53
- - 2.3.4
54
- - fixing edoc tag that broke some downstream packaging attempts
55
- - 2.3.3
56
- - fixing ` bin_leak ` arith errors
57
- - fixes to ` recon_alloc:allocators/1 ` (incl. R16 compatibility)
58
- - fix errors in scheduler wall time calculations
59
- - ` term_to_pid ` supports binaries
60
- - 2.3.2
61
- - Allow the ` return_to ` option in ` recon_trace `
62
- - More efficient sorting function for procs and ports attributes
63
- (thanks to @zhongwencool and @pichi )
64
- - Allow the usage of ` return_trace ` in ` recon_trace:calls/2-3 ` instead
65
- of ` fun(_) -> return_trace() end ` .
66
- - 2.3.1
67
- - Updated ` app_deps ` script to run with rebar3 dependencies
68
- - Minor docs update
69
- - 2.3.0
70
- - Doc made clearer around semantics of ` recon:proc_count ` and
71
- ` recon:proc_window ` .
72
- - Fix doc typos
73
- - Fix potential race condition on waiting for death of tracing process
74
- - Add an option which allows sending tracing output somewhere other than
75
- group_leader() (thanks @djnym )
76
- - Add ability to pass custom formatter function when tracing (thanks @iilyak )
77
- - 2.2.1
78
- - Fixing type specs for ` recon:port_types/0 ` and ` recon_lib:count/1 ` ,
79
- thanks to @lucafavatella
80
- - Minor documentation fixes.
81
- - 2.2.0:
82
- - Adding scheduler info metrics to get a more accurate picture than what
83
- top and CPU gives.
84
- - Broadening ` recon_trace:calls/2 ` interface to allow multiple match specs,
85
- which was currently only allowed for ` calls/3 ` .
86
- - Support for ` mbcs_pool ` data in ` erts_alloc ` , and some internal refactoring,
87
- thanks to Lukas Larsson.
88
- - 2.1.2:
89
- - Fixing tests for R15B02 and up
90
- - Fixing a backwards compatibility for R15B03 on ` recon_alloc ` operations
91
- with dumps on disk
92
- - 2.1.1:
93
- - Renaming ` recon_trace:mfa() ` type to ` recon_trace:tspec() ` to avoid
94
- issues in older Erlang versions regarding redefining an existing type
95
- (Thanks Roberto Aloi)
96
- - 2.1.0:
97
- - Adding ` recon_trace ` script to allow safe tracing of function calls
98
- on production nodes.
99
- - Adding ` queue_fun.awk ` script to inspect running functions of processes
100
- with large mailboxes in a crash dump.
101
- - 2.0.2:
102
- - Preventing crashes in ` recon_alloc ` when certain expected allocators
103
- do not return results (Thanks to Michal Ptaszek)
104
- - 2.0.1:
105
- - Add support for R16B03 in ` recon_alloc ` .
106
- - 2.0.0:
107
- - Test suite added
108
- - Major rewrite of ` recon_alloc ` , thanks to Lukas Larsson. Things that changed include:
109
- - ` average_sizes/0 ` is renamed ` average_block_sizes/1 ` and now takes
110
- the keywords ` current ` and ` max ` .
111
- - Documentation updates.
112
- - ` memory/1 ` has new options in ` allocated_types ` and ` allocated_instances ` .
113
- - ` memory/2 ` has been added, which allows to choose between ` current ` and
114
- ` max ` values. ` memory(Term) ` is made equivalent to ` memory(Term, current) ` .
115
- - Allow ` sbcs_to_mbcs/0 ` to take the arguments ` current ` and ` max ` .
116
- - Added unit conversion function ` set_unit/1 ` , which allows to get the
117
- ` recon_alloc ` results in bytes (default), kilobytes, megabytes, and
118
- gigabytes, to help with readability.
119
- - Updated the internal rebar version, if anybody were to use it.
120
- - ` recon:port_info/1 ` no longer includes the ` parallelism ` option by default
121
- within the ` meta ` category as this would hurt backwards compatibility on
122
- some installations.
123
- - ` recon:get_state/2 ` is added in order to specify timeouts.
124
- ` recon:get_state/1 ` keeps its 5000 milliseconds timeout.
125
- - Addition of a fake attribute called ` binary_memory ` , which is callable in
126
- ` recon:info/2,4 ` , ` recon:proc_count/2 ` , and ` recon:proc_window/3 ` . This
127
- attribute allows to fetch the amount of memory used by refc binaries for
128
- a process, and to sort by that value for counts and windows.
129
-
130
-
131
- * 1.x*
132
-
133
- - 1.2.0:
134
- - add ` recon_alloc:snapshot* ` functions, which allow memory allocation
135
- snapshots to be taken, saved on disk, reloaded, and analyzed on-demand.
136
- Thanks to Lukas Larsson for this functionality.
137
- - remove ` parallelism ` data from ` port_info ` for better OTP backwards
138
- compatibility with little loss of information.
139
- - 1.1.0:
140
- - add ` recon_lib:term_to_port ` to convert a string back to a
141
- usable port.
142
- - add ` recon:port_info/1 ` and ` recon:port_info/2 `
143
- - add ` recon_alloc ` module
144
- - 1.0.0: add ` info/2 ` and ` info/4 ` . The ` memory ` info type thus gets renamed
145
- to ` memory_used ` , in order to avoid conflicts when picking between a type
146
- and a specific process attribute. Types exported by the module also get
147
- updated.
148
- - 0.4.2: extended ` app_deps.erl ` to read apps/ directories for releases
149
- - 0.4.1: fixed bug where nodes with lots of processes could see the GC call
150
- fail if said processes failed between long calls within the ` bin_leak `
151
- function call.
152
- - 0.4.0: fixed bug where nodes with lots of processes or ports could see their
153
- count or window functions fail because a process or socket closed between the
154
- time the function started and before it finished. This ends up changing the
155
- API in ` recon_lib ` for the window and count functions that take a specific
156
- pid as an argument.
157
- - 0.3.1: factored out some logic from ` recon:info/1 ` into ` recon_lib:term_to_pid `
158
- and allowed arbitrary terms to be used for pids in ` recon:get_state/1 ` .
0 commit comments