aboutsummaryrefslogtreecommitdiffstats
path: root/lib/os_mon
AgeCommit message (Collapse)Author
2016-05-17os_mon: Fix compile error on FreeBSDSverker Eriksson
implicit declaration of function 'EXIT_WITH' Move code chunk up a bit to #define EXIT_WITH before it's used.
2016-05-17Merge branch 'jrobhoward/os_mon/fix-freebsd_get_os_wordsize/PR-1039/OTP-13601'Björn-Egil Dahlberg
* jrobhoward/os_mon/fix-freebsd_get_os_wordsize/PR-1039/OTP-13601: Fix memsup:get_os_wordsize() on 64-bit Linux PPC os_mon: Test wordsize of memsup:get_os_wordsize/0 Fix memsup:get_os_wordsize() on 64-bit FreeBSD
2016-05-16Fix memsup:get_os_wordsize() on 64-bit Linux PPCBjörn-Egil Dahlberg
2016-05-16os_mon: Test wordsize of memsup:get_os_wordsize/0Björn-Egil Dahlberg
Simple test against erlang:system_info({wordsize,external}).
2016-05-16Merge branch 'mururu/os_mon/cpu-sup-osx/PR-1049/OTP-13597'Björn-Egil Dahlberg
* mururu/os_mon/cpu-sup-osx/PR-1049/OTP-13597: os_mon: Implement cpu_sup:util/0,1 on OSX
2016-05-10os_mon: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-06os_mon: Implement cpu_sup:util/0,1 on OSXYuki Ito
cpu_sup:util/0,1 works on OSX as well.
2016-05-04Fix compilation on SUN/SPARC by including <stdlib.h>Kostis Sagonas
The combination of the use of the exit() function without including <stdlib.h> together with the option -Werror=implicit-function-declaration causes the compilation (and the 'make') to fail on SUN/SPARC with gcc 4.9.3.
2016-04-29Fix memsup:get_os_wordsize() on 64-bit FreeBSDjrobhoward
2016-04-25Fix type spec for cpu_sup:util/1Péter Gömöri
The documentation correctly states that the Busy and NonBusy components in the return value of cpu_sup:util/1 are not tuples but list of tuples: "If the detailed option is given, this is a *list* of {State, Share} tuples"
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-01Don't crash in end_per_testcaseBjörn-Egil Dahlberg
2016-04-01Eliminate use of doc and suite clausesBjörn-Egil Dahlberg
Those clause are obsolete and never used by common_test.
2016-04-01Replace ?t:sleep/1 with ct:sleep/1Björn-Egil Dahlberg
2016-04-01Replace use of test_server:format/2 with io:format/2Björn-Egil Dahlberg
2016-04-01Eliminate use of test_server:fail/0,1Björn-Egil Dahlberg
2016-04-01Eliminate use of ?config() macroBjörn-Egil Dahlberg
2016-04-01Modernize use of timetrapsBjörn-Egil Dahlberg
2016-04-01Remove ?line macrosBjörn-Egil Dahlberg
2016-03-15update copyright-yearHenrik Nord
2016-02-17Makefiles: Remove test_server from include path and code pathBjörn Gustavsson
Since no test suites includede test_server.hrl, there is no need to have test_server in the include path or code path.
2016-02-17Eliminate use of test_server.hrl and test_server_line.hrlBjörn Gustavsson
As a first step to removing the test_server application as as its own separate application, change the inclusion of test_server.hrl to an inclusion of ct.hrl and remove the inclusion of test_server_line.hrl.
2015-10-13Small misprintKirill Zaborsky
2015-06-23Prepare releaseErlang/OTP
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-03Merge branch 'jh/freebsdcpu/OTP-12796'Björn-Egil Dahlberg
* jh/freebsdcpu/OTP-12796: os_mon: Comply with C89 standard os_mon: Update docs for FreeBSD os_mon: Implement cpu_sup:util/0,1 for FreeBSD
2015-06-02os_mon: Comply with C89 standardBjörn-Egil Dahlberg
2015-05-29Merge branch 'ethercrow/maint'Zandra Hird
* ethercrow/maint: Make cpu_sup:util/0 spec lie less
2015-05-27Update application versionsHans Bolinder
2015-05-26os_mon: Update docs for FreeBSDWasif Malik and Johannes Huning
Authors: Wasif Malik and Johannes Huning
2015-05-26os_mon: Implement cpu_sup:util/0,1 for FreeBSDWasif Malik and Johannes Huning
Authors: Wasif Malik and Johannes Huning
2015-05-26Make cpu_sup:util/0 spec lie lessDmitry Ivanov
2015-05-13Revert "Prepare release"Henrik Nord
This reverts commit e09dd66dc4d89c62ddfd8c19791f9678d5d787c6.
2015-05-12Prepare releaseErlang/OTP
2015-05-11Merge branch 'aw/native-cpu_sup/OTP-12730'Björn-Egil Dahlberg
* aw/native-cpu_sup/OTP-12730: erts: Fix configure.in os_mon: rename send() to sendi() in cpu_sup.c os_mon: cpu_sup should use native sysctl/libkvm calls on BSD
2015-03-31Prepare releaseErlang/OTP
2015-03-18Handle big loadavg values correctlyViacheslav V. Kovalev
Do not crash with badmatch when integer part of loadavg has more than 2 digits.
2014-12-29os_mon: rename send() to sendi() in cpu_sup.cAlex Wilson
Without this, cpu_sup.c won't compile on FreeBSD, as the name overlaps with the send() socket call.
2014-12-29os_mon: cpu_sup should use native sysctl/libkvm calls on BSDAlex Wilson
This avoids forking off with os:cmd every time we just want to collect the load averages. riak does this every second, which results in a lot of unnecessary load.
2014-12-11Fix compile breakage on OpenBSDAlex Wilson
Some of the structs and functions needed by memsup.c are in vmmeter.h on OpenBSD, too.
2014-09-15Update release notesErlang/OTP
2014-09-15Update version numbersErlang/OTP
2014-08-29Clarify error for slow `cpu_sup` port initLuca Favatella
I noticed that running an R16B03-1 node on an overloaded host produced log entries like the following ones: ``` 2014-08-22 21:52:31 =ERROR REPORT==== Error in process <0.24112.3> on node '[email protected]' with exit value: {{case_clause,{data,4711}},[{cpu_sup,get_uint32_measurement,2,[{file,"cpu_sup.erl"},{line,227}]},{cpu_sup,measurement_server_loop,1,[{file,"cpu_sup.erl"},{line,585}]}]} ``` ``` ===== ALIVE Fri Aug 22 21:50:14 CEST 2014 [os_mon] cpu supervisor port (cpu_sup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed ===== ALIVE Fri Aug 22 22:07:46 CEST 2014 ``` I performed a code inspection on the `cpu_sup` module and I concluded that the `case_clause` error shows a small issue in the `cpu_sup` module, that happens when the port used in `cpu_sup` is slow to start - as it may happen on an overloaded node. The `cpu_sup` `gen_server` process keeps in its state the pid of an unlinked process (called "measurement server" - see `cpu_sup:init/1`), in order to do dirty stuff (e.g. reading the filesystem, running OS commands) and start_link-ing & managing the connected process to a port (called "port server" - see `measurement_server_init/0`). So the process organization looks like this: ``` cpu_sup - measurement server - port server - port ``` When the measurement server start_links the port server (see `port_server_start/0`) it sends a `{self(), ?ping}` message to it and expects an answer within 6s, otherwise it returns `{error, timeout}` rather than the pid. This has two issues: * The measurement server keeps `{error, ...}` in its state as if it were a pid - that makes no sense; * A late `{Pid, {data,4711}}` response may arrive in the mailbox of the measurement server, that will believe it to be a request to be processed, causing a `case_clause` error. This commit teaches the measurement server to check the success of the initialization of the port server by matching on the return value of `port_server_start/0` (renamed to `port_server_start_link/0` for the sake of clarity) in order to fail earlier and with an error clearer than `{case_clause,{data,4711}}`. In such case I expect the measurement server to be restarted by the `cpu_sup` `gen_server` (see `handle_call/3`) - as before. BTW It is not clear to me when the `handle_info({'EXIT', _Port, Reason}, State)` may be called (the `cpu_sup` `gen_server` does not link to the measurement server) but I am leaving it.
2014-08-06os_mon: Fix so that all testcases are runLukas Larsson
For some reason only a new testcases were run on the majority of platforms. After this change all tests are run on all unix and win32 platforms.
2014-08-06os_mon: Ignore posix_only on windows and solarisLukas Larsson
2014-07-01Add 'disksup_posix_only' parameter to disksupJohannes Weißl
On embedded (Linux) systems the "df" program is very often provided by the Busybox (or Toolbox) project. This version does not provide the "-l" option (for displaying only local filesystems) used in disksup.erl. To make disksup work on these embedded platforms, this patch adds a new application parameter 'disksup_posix_only', to make diskup use only options defined in the POSIX standard: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/df.html
2014-04-07Update release notesErlang/OTP
2014-03-28os_mon: test tweaksDan Gudmundsson
child not started on windows so test fails
2014-03-21Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.