<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/observer/test, branch OTP-21.0</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Update copyright year</title>
<updated>2018-06-18T12:51:18+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2018-06-18T12:51:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5ca92e2eac1e84fd22f60e7abc3aa2b0ff1cb42b'/>
<id>5ca92e2eac1e84fd22f60e7abc3aa2b0ff1cb42b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>erts: Rewrite memory instrumentation</title>
<updated>2018-04-23T11:13:53+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-03-27T11:14:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=573a5abd9d6b1668b49376b489b187780c7125c7'/>
<id>573a5abd9d6b1668b49376b489b187780c7125c7</id>
<content type='text'>
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&lt;S&gt;atags option, and is enabled by default for binary_alloc and
driver_alloc (which is also used by NIFs).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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&lt;S&gt;atags option, and is enabled by default for binary_alloc and
driver_alloc (which is also used by NIFs).
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2018-03-01T10:29:07+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-03-01T10:29:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=88c4c305636618af4002c8c484083668a88824e9'/>
<id>88c4c305636618af4002c8c484083668a88824e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'siri/cuddle' into maint</title>
<updated>2018-03-01T10:26:35+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-03-01T10:26:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6c03897a8aceab079c7169b01d9611e0708d4f9e'/>
<id>6c03897a8aceab079c7169b01d9611e0708d4f9e</id>
<content type='text'>
* siri/cuddle:
  [cdv] Fix test of size limit reached on crash dump, again
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* siri/cuddle:
  [cdv] Fix test of size limit reached on crash dump, again
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2018-01-22T13:18:45+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2018-01-22T13:18:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b04e955ea3eaed13c709546b57e74e26d868323a'/>
<id>b04e955ea3eaed13c709546b57e74e26d868323a</id>
<content type='text'>
* maint:
  ErLLVM: Preserve precise BEAM tailcall semantics
  observer: Fix change accum
  Remove double calls
  observer: Don't crash for late messages
  observer: Optimize tv tab for many tables
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  ErLLVM: Preserve precise BEAM tailcall semantics
  observer: Fix change accum
  Remove double calls
  observer: Don't crash for late messages
  observer: Optimize tv tab for many tables
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dgud/observer/opt-tv-tab/OTP-14856' into maint</title>
<updated>2018-01-22T11:09:29+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2018-01-22T11:09:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8aa0a6aef5623ff226ea511b94b82e514dccc83b'/>
<id>8aa0a6aef5623ff226ea511b94b82e514dccc83b</id>
<content type='text'>
* dgud/observer/opt-tv-tab/OTP-14856:
  observer: Fix change accum
  Remove double calls
  observer: Don't crash for late messages
  observer: Optimize tv tab for many tables
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dgud/observer/opt-tv-tab/OTP-14856:
  observer: Fix change accum
  Remove double calls
  observer: Don't crash for late messages
  observer: Optimize tv tab for many tables
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2018-01-12T15:54:02+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-01-12T15:54:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=89cb8aca4115bdf6dc9f3543612445564c2caf66'/>
<id>89cb8aca4115bdf6dc9f3543612445564c2caf66</id>
<content type='text'>
Conflicts:
	lib/observer/src/crashdump_viewer.erl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	lib/observer/src/crashdump_viewer.erl
</pre>
</div>
</content>
</entry>
<entry>
<title>[cdv] Fix test of size limit reached on crash dump, again</title>
<updated>2018-01-12T10:01:28+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-01-12T09:50:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a7dc97fe7652d1d011d7e36b56c9fde44ffb6c87'/>
<id>a7dc97fe7652d1d011d7e36b56c9fde44ffb6c87</id>
<content type='text'>
This test failed every now and then since the selected max size could
be equal to actual size of the dump - so the dump was not
truncated. This is now corrected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test failed every now and then since the selected max size could
be equal to actual size of the dump - so the dump was not
truncated. This is now corrected.
</pre>
</div>
</content>
</entry>
<entry>
<title>observer: Optimize tv tab for many tables</title>
<updated>2018-01-11T13:53:16+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2018-01-05T15:30:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=4cd303540533ec8b7d51b6079fbbf880c179a14f'/>
<id>4cd303540533ec8b7d51b6079fbbf880c179a14f</id>
<content type='text'>
Make it a virtual table, the only table which was not a virtual table.
Updating 10000 rows with many columns and alternating colors takes too
long time to be a viable solution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make it a virtual table, the only table which was not a virtual table.
Updating 10000 rows with many columns and alternating colors takes too
long time to be a viable solution.
</pre>
</div>
</content>
</entry>
<entry>
<title>[observer] Improve performance for many links or monitors</title>
<updated>2018-01-10T16:49:35+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-01-10T16:49:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ebc81123499da2e0fa03f8eb989dfeb785a04bd3'/>
<id>ebc81123499da2e0fa03f8eb989dfeb785a04bd3</id>
<content type='text'>
When a process has many links and/or monitors, it could earlier take
very long time to display the process information window. This is now
improved by only showing a few links and monitors, and then an link
named "more..." to expand the rest.

Reading of the "Link list" from a crashdump is also improved.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a process has many links and/or monitors, it could earlier take
very long time to display the process information window. This is now
improved by only showing a few links and monitors, and then an link
named "more..." to expand the rest.

Reading of the "Link list" from a crashdump is also improved.
</pre>
</div>
</content>
</entry>
</feed>
