Age | Commit message (Collapse) | Author |
|
Due to various operating systems (in both the DTrace and SystemTap
worlds) not fully supporting DTrace probes (or SystemTap-compatibility
mode probes) in shared libraries, we relocate those probes to the
statically-linked virtual machine. This could be seen as pollution
of the pristine VM by a (yet) experimental feature. However:
1. This code can be eliminated completely by the C preprocessor.
2. Leaving the probes in the dyntrace NIF shared library simply
does not work correctly on too many platforms.
*Many* thanks to Macneil Shonle at Basho for assisting when my
RSI-injured fingers gave out.
Tested on:
* CentOS 5, SystemTap 1.3
* Solaris 10 (note)
* Solaris 11
* OpenIndiana 151
* SmartOS 20120809T221258Z
* FreeBSD 9.0-RELEASE (note)
I had hoped to be able to test CentOS 6 + SystemTap 1.7, but the
details of dealing with all dependencies for a 2.6.32-279.5.1.el6.x86_64
kernel are too time consuming right now.
(note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile)
|
|
* ms/correct-formating-in-exit:
Correct formating in exit error messages
OTP-10148
|
|
* slf/dtrace-nif-N-probes:
Remove crufty scaffolding code
Add 1024 separate USDT probes to dyntrace.erl and dyntrace.c
Conflicts:
lib/runtime_tools/src/dyntrace.erl
OTP-10143
|
|
* slf/dyntrace-comment-and-func-cleanup:
dyntrace.erl comment cleanup and unused function removal
OTP-10141
|
|
OTP-10106
OTP-10107
|
|
|
|
|
|
Ensure displayed sizes are not negative.
|
|
Change the module-level docs to give complete step-by-step instructions
for using the `dyntrace:p()` trace function. Also, remove the unused
`scaff/0` function.
|
|
|
|
|
|
|
|
It seems useful to be able to filter out (for example) just
the global calls.
|
|
|
|
|
|
Also make dyntrace NIF's load in on_load instead of init/0
|
|
|
|
|
|
* Multiple functions had conflicting signedness in
their prototypes for some arguments.
|
|
|
|
|
|
* dgud/observer/gui/OTP-4779:
[observer] Add basic documentation
[observer] Do not start polling tables until user view them
[observer] Move rpc calls to runtime tools
[observer] Added an application viewer
[observer] Remove unused time from process view
[observer] Change process_info stack to be listctrl
[observer] Fix listctrl colum size calculation
[observer] Add more trace functionality
[observer] Use standard popup menu
|
|
* raimo/64-bit-driver-api/OTP-9795: (22 commits)
driver_SUITE.erl: Fix sys info drivers
emulator test drivers: Conform to updated driver API
runtime_tools's drivers: Conform to updated driver API
ws's xwe_driver.c: Conform to updated driver API
megaco's flex scanner: Conform to updated driver API
seq_trace_SUITE_data/echo_drv.c: Conform to updated driver API
erl_interface tests: Conform port_call_drv.c updated driver API
erl_drv_thread_SUITE_data/testcase_driver.c: Conform to updated driver API
float_SUITE_data/fp_drv.c: Conform to updated driver API
port_SUITE_data/*_drv.c: Conform to updated driver API
port_bif_SUITE_data/control_drv.c: Conform to updated driver API
send_term_SUITE_data/send_term_drv.c: Conform to updated driver API
system_profile_SUITE_data/echo_drv.c: Conform to updated driver API
trace_port_SUITE_data/echo_drv.c: Conform to updated driver API
Remove support for old drivers without ERL_DRV_EXTENDED_MARKER
built-in drivers: Add ERL_DRV_EXTENDED_MARKER and version numbers
Bump driver version to 2.0
erl_driver.h: Enlarge type on return value from call
erl_driver.h: Enlarge types on driver callbacks output, control and call
erl_driver.h: Enlarge types in driver output functions
...
Conflicts:
erts/emulator/test/driver_SUITE_data/monitor_drv.c
erts/emulator/test/driver_SUITE_data/timer_drv.c
|
|
|
|
* pan/win_trace_inherit_handle/OTP-9658:
Remove compiler warnings and ancient VXWORKS code
Avoid inheriting trace file handles to child processes
|
|
OTP-7775
|
|
|
|
|
|
Use CreateFile to open files in trace_file_drv
|
|
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
|
|
|
|
* rickard/alloc-opt/OTP-7775:
Optimize memory allocation
Conflicts:
erts/aclocal.m4
erts/emulator/hipe/hipe_bif_list.m4
erts/preloaded/ebin/erl_prim_loader.beam
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/init.beam
erts/preloaded/ebin/otp_ring0.beam
erts/preloaded/ebin/prim_file.beam
erts/preloaded/ebin/prim_inet.beam
erts/preloaded/ebin/prim_zip.beam
erts/preloaded/ebin/zlib.beam
|
|
A number of memory allocation optimizations have been implemented. Most
optimizations reduce contention caused by synchronization between
threads during allocation and deallocation of memory. Most notably:
* Synchronization of memory management in scheduler specific allocator
instances has been rewritten to use lock-free synchronization.
* Synchronization of memory management in scheduler specific
pre-allocators has been rewritten to use lock-free synchronization.
* The 'mseg_alloc' memory segment allocator now use scheduler specific
instances instead of one instance. Apart from reducing contention
this also ensures that memory allocators always create memory
segments on the local NUMA node on a NUMA system.
|
|
These dependency files was once used when building the documentation,
but are no longer needed.
|
|
* bjorn/eliminate-regexp-usage:
erl_tidy: Eliminate two references to 'regexp' in the documentation
erts/z_SUITE: Eliminate use of deprecated regexp module
erts/nt_SUITE: Eliminate use of deprecated regexp module
erl_html_tools: Eliminate mention of deprecated regexp module
erl_interface tests: Eliminate use of deprecated regexp module
tools test suite: Eliminate compilation warnings for the eed module
tools test suite: Eliminate use of deprecated regexp module
xmerl test suite: Eliminate use of deprecated regexp module
appmon: Eliminate use of deprecated regexp module
tv: Eliminate use of deprecated regexp module
gs: Eliminate use of deprecated regexp module
inviso: Eliminate use of deprecated regexp module
|
|
|
|
Earlier dbg:stop only did erlang:trace_delivered and did not flush the
trace file driver. Therefore there could still be trace messages that
were delivered to the driver (guaranteed by erlang:trace_delivered)
but not yet written to the file. This commit adds this flushing on
each node before the dbg process terminates.
|
|
|
|
|
|
|
|
Conflicts:
erts/aclocal.m4
erts/include/internal/ethread_header_config.h.in
|
|
|
|
OTP-9430
OTP-9403
OTP-9431
|
|
major
* lukas/runtime_tools/add_default_trace_patterns/OTP-9458:
Expand documenation about built-in aliases for tracing patterns
Add two additional built-in trace patterns, c and cx
|
|
|
|
|
|
|
|
|
|
Create directories first, not within implicit rules. If two
'install' instances runs at the same time attempting to create
a directory, one of them may fail with an "File exists" error.
I tried to use order-only prerequisites to create the directories,
but run into two problems: First, order-only prerequisites are
only implemented in Make 3.80 and later. Second, on a computer
running Solaris/Intel 2.8 (with Make 3.80), order-only prerequisites
seemed to work like ordinary prerequisites, causing targets to
be re-built if the timestamp for the directory changed.
Therefore, using a shell command to run mkdir seems to be the
more portable solution.
|
|
c means [{'_',[],[{message,{caller}}]}]
cx means [{'_',[],[{exception_trace},{message,{caller}}]}]
|