Ehmon - Heroku's basic VM stats monitor
November 4, 2014 ยท View on GitHub
================================================== Ehmon - Heroku's basic VM stats monitor
Requirements
-
Erlang
-
Rebar
Building Ehmon
rebar compile
OTP App Configuration Options
report_mf:
Reporting module and function for the fun/1 that will report the
iolist describing the system statistics. Defaults to {ehmon, stdout_report}.
Reports can also be sent to shh using ```{ehmon_shh_report, send_report}```. If you decide to send reports to a
listening shh instance you must decide to use either a TCP or Unix Domain Socket. Using the domain socket interface
will require an additional dependency on `gen_unix <https://github.com/msantos/gen_unix>_`. You wil need to add it
accordingly to your applications ```rebar.config``` or similar file.
report_interval:
Interval in seconds between outputing the report. Defaults to 60.
shh_report_prefix:
The prefix to prepend to report statistics. Defaults to "erlang.ehmon".
shh_connection:
A string that specifies how to connect to the listening shh process. The string should match on of the following
two formats: tcp,$HOST:$PORT or unix,$PATH_TO_SOCKET.
Example Output
ehmon_report rq=0 cswit=1507 otp=R15B01 procs=30 maxprocs=32768 ports=4 maxports=1024 maxfds=256 etstabs=16 maxetstabs=1400 memtot=7598992 memproc=1045782 memets=285408 membin=183680 memcode=3691241
Report Key Glossary
rq: Run queue length - the number of currently processes ready to run.
wc: Wall clock time - CPU use in wall clock time since the last report.
otp: OTP Release - the version number of the running OTP system.
procs: Process Count - the number of currently running erlang processes.
maxprocs: Process Limit - the maximum number of processes that can run on the current node.
ports: Port count - the number of ports in use by the current node.
maxports: Port limit - the maximum number of ports that can be created by the current node. (Also limited by maxfds usually)
maxfds: File Descriptor Limit - the maximum number of file descriptors that can be opened by the current node.
etstabs: ETS Tables - the number of ETS tables open on the current node.
maxetstabs: ETS Table limit - the maximum number of ETS tables supported on the current node.
memtot: Total - Bytes of memory allocated by the system (some unused).
memproc: Process - Bytes of memory used by erlang process heaps.
memets: ETS - Bytes of memory used by ETS tables.
membin: Binary - Byte size of the shared binary heap.
memcode: Code - Bytes of memory consumed by loaded modules.