aboutsummaryrefslogtreecommitdiffstats
path: root/lib/os_mon/src
AgeCommit message (Collapse)Author
2019-06-19os_mon: Make disk_sup ignore squashfsLukas Larsson
Ideally we should ignore all read only filesystems, but this will have to do for now. We do this as we don't want disk_sup to report that a filesystem is almost full if it is read-only.
2019-04-16Merge pull request #2208 from elbrujohalcon/elbrujohalcon.cpu_sup.specsRickard Green
Fix specs and type definitions in cpu_sup OTP-15770
2019-04-12Fix specs and type definitions in cpu_supBrujo Benavides
Since `dummy_result/1` returns integers (i.e. `0`) not floats, `util/0,1` specs should account for that.
2018-11-01Merge branch 'bmk/20180927/remove_otp_mibs2/OTP-14984'Micael Karlberg
2018-10-29Merge branch 'maint'Lukas Larsson
2018-09-29Make Erlang's cpu_sup function better on AndroidAlexander Clouter
Due to `/proc` restrictions in newer Android releases enforced by SELinux, Erlang needs a fix so that it can get some basic CPU stats (use the `sysinfo` syscall rather than reading `/proc/loadavg`).
2018-09-27os_mon: Remove the os_mon MIBS supportLukas Larsson
The otp_mibs application is to be removed so we also remove the os_mon usage of that application.
2018-08-21ppc64le is also 64bitDaniel Black
2018-06-18Update copyright yearHenrik Nord
2018-03-27Merge branch 'dgud/testcase-fixes'Dan Gudmundsson
* dgud/testcase-fixes: debug info add unicode opt env may contain unicode signs Fix lexemes conversion
2018-02-26os_mon: Correct a specHans Bolinder
2017-10-20Fix lexemes conversionDan Gudmundsson
2017-09-15Merge branch 'siri/string-new-api'Siri Hansen
* siri/string-new-api: (28 commits) hipe (test): Do not use deprecated functions in string(3) dialyzer (test): Do not use deprecated functions in string(3) eunit (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) mnesia (test): Do not use deprecated functions in string(3) Deprecate old string functions observer: Do not use deprecated functions in string(3) common_test: Do not use deprecated functions in string(3) eldap: Do not use deprecated functions in string(3) et: Do not use deprecated functions in string(3) os_mon: Do not use deprecated functions in string(3) debugger: Do not use deprecated functions in string(3) runtime_tools: Do not use deprecated functions in string(3) asn1: Do not use deprecated functions in string(3) compiler: Do not use deprecated functions in string(3) sasl: Do not use deprecated functions in string(3) reltool: Do not use deprecated functions in string(3) kernel: Do not use deprecated functions in string(3) hipe: Do not use deprecated functions in string(3) ... Conflicts: lib/eunit/src/eunit_lib.erl lib/observer/src/crashdump_viewer.erl lib/reltool/src/reltool_target.erl
2017-09-15os_mon: Do not use deprecated functions in string(3)Dan Gudmundsson
2017-08-25Merge branch 'maint'Björn Gustavsson
* maint: Fix disksup:get_disksup_data() for High Sierra
2017-08-22Fix disksup:get_disksup_data() for High SierraBjörn Gustavsson
On macOS 10.13 (High Sierra), disksup cannot grab information for any disks that use the new APFS file system. The reason is that the invocation of /bin/df explicitly limits the type of file systems to show: /bin/df -i -k -t ufs,hfs Add 'apfs' to also look at disks with APFS: /bin/df -i -k -t ufs,hfs,apfs That also works on older versions of macOS. An alternative solution would be to use the -l flag to only show local file systems. However, that would mean that USB memory sticks would also show up, and it might not be desirable to monitor them. https://bugs.erlang.org/browse/ERL-461
2017-07-05Disksup parsing for 'df' output on POSIX and SUSv3 systemsDmytro Lytovchenko
Tests for disksup:parse_df
2017-01-24Merge branch 'maint'Björn-Egil Dahlberg
2017-01-16Adding s390x supportSatyen Chimulkar
2016-11-29warn_obsolete_guard is already defaultRichard Carlsson
Update compiler documentation and remove superfluous erlc flags.
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-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-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-03-15update copyright-yearHenrik Nord
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-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-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-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: 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-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: 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-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.
2014-02-18Fix non-library appup files according to issue #240Tobias Schlager
Fix the appup files of runtime_tools and os_mon with wildcard version regexps. inets, odbc and ssh regexps have been corrected to match as originally intended.
2013-11-04Merge branch 'maint'Fredrik Gustafsson
2013-10-31Fix incorrect reporting of memory on OS X via memsup.Christopher Meiklejohn
Application memsup should be calculating free memory using the speculative pages, in the same manner that the Activity Monitor and top programs on OS X do. In addition, correct page size to 4096, based on verification of available memory between top, vm_stat and Activity Monitor.
2013-07-22Merge branch 'maint'Björn-Egil Dahlberg
2013-07-18os_mon: Fix openbsd diskspace queriesBjörn-Egil Dahlberg
Use 'df -k -l' to query OpenBSD about diskspace on local disks. Same reasoning as for FreeBSD - additional filesystems without listing them all.
2013-07-18os_mon: Fix freebsd diskspace queriesBjörn-Egil Dahlberg
Use 'df -k -l' to query FreeBSD about diskspace on local disks. Previously 'df' -k -t ufs' was used but this will not handle zfs disks. Just use '-l' instead of listing potential filesystems.
2013-06-12Merge branch 'maint'Björn-Egil Dahlberg
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-03-19[os_mon] Quote path to programs run with open_port({spawn,...Siri Hansen
This is to allow space in the path.
2013-03-15Merge branch 'sm/fix-disksup-susv3/OTP-10945' into maintFredrik Gustafsson
* sm/fix-disksup-susv3/OTP-10945: This patch fixes disksup:get_disk_data for SUSv3, specifically OS X ML
2013-01-31This patch fixes disksup:get_disk_data for SUSv3, specifically OS X MLSriram Melkote
On OS X Mountain Lion, the default output of df command includes iNode used and iNodes free, which apparent what SUSv3 specifies. This breaks the current parse logic and reports incorrect results. This patch adds support for the new format and ensures older versions of OS X produce this format by adding the -i switch (which is now the default). Adding support for this new format rather than changing df output as we'll presumably see this on other platforms eventually.