Commit graph

214 commits

Author SHA1 Message Date
Matt McCormick 859c60976a Version bump to 3.2.3. 2016-01-09 17:01:28 -05:00
Matt McCormick cc85854323 Add new contributors to the README. 2016-01-09 17:00:56 -05:00
Matt McCormick 9ad57c906b Merge pull request #30 from tony/freebsd-memory
Fix FreeBSD memory usage
2016-01-09 16:56:53 -05:00
Tony Narlock c036017db3 Fix FreeBSD memory usage
Total memory would go out of bounds for machines ~ > 3.5gB of
memory due to the limit of what u_int can hold.

Use ``getpagesize()`` and bitshift pagesize so it fits.

See also: https://github.com/thewtex/tmux-mem-cpu-load/issues/29
2016-01-09 10:41:28 -06:00
Matt McCormick f80a026c45 Merge pull request #28 from allcatsarebeautiful/master
Allow Easy Installation Via Antigen
2015-09-30 22:27:01 -04:00
Travis Heller 7ca3efacad Merge branch 'master' of https://github.com/allcatsarebeautiful/tmux-mem-cpu-load 2015-09-30 13:03:05 -07:00
Travis Heller e9af4ea2c0 Added License Information 2015-09-30 13:02:36 -07:00
Travis Heller cd0ad5c8ff Why is the markdown formatting not propagating? 2015-09-30 13:00:36 -07:00
Travis Heller ff36892e29 Fixed formatting. 2015-09-30 12:27:29 -07:00
Travis Heller d273cbaf60 RST files don't use Markdown formatting; fixed the link. 2015-09-30 12:25:04 -07:00
Travis Heller e1908ebd13 Why is the markdown formatting not propagating? 2015-09-30 12:16:00 -07:00
Travis Heller 8e6d013c66 Formatting links in .md 2015-09-30 12:11:21 -07:00
Travis Heller ad0a88d1f2 Fixed readme linking error 2015-09-30 12:03:57 -07:00
Travis Heller 7cc6ff35cc Added a check to see if the file has already been installed. 2015-09-30 11:51:53 -07:00
Travis Heller 79e16ec38b Supports Antigen via plugin that builds and installs 2015-09-30 10:57:06 -07:00
Matt McCormick 62c18a0778 Merge pull request #27 from thewtex/circle-ci
Add circle-ci status badge.
2015-07-30 16:08:27 -04:00
Matt McCormick b61503e76a Add circle-ci status badge. 2015-07-30 16:03:52 -04:00
Matt McCormick 557528b946 Merge pull request #25 from jasperla/ws
Don't print trailing whitespace for last element
2015-04-02 09:49:51 -04:00
Matt McCormick 1fe9a33252 Merge branch 'load-whitespace' 2015-04-02 09:42:35 -04:00
Matt McCormick a8367d7f86 Fix color of space preceding the load.
The color preceding of the space preceding the load is
made to be consistent with the load color instead of the default. This is
consistent with the CPU percentage color and easier to read.
2015-04-02 09:37:58 -04:00
Jasper Lievisse Adriaanse 512185a6b3 Don't print trailing whitespace for last element
it's easier to add it in your tmux.conf, then it's to remove it.
2015-04-02 15:35:16 +02:00
Matt McCormick c6d8a19a24 Version bump to 3.2.1. 2015-03-01 19:23:55 -05:00
Matt McCormick 4355f8ffae Add Jasper to contributors. 2015-03-01 19:23:25 -05:00
Matt McCormick 39dc52f23c Merge pull request #22 from jasperla/openbsd_memory
Switch to using uvmexp which is the prefered way of retrieving memory information
2015-03-01 19:19:39 -05:00
Jasper Lievisse Adriaanse 52540329e5 Switch to using uvmexp which is the prefered way of retrieving memory information
Also fixup some page shifting and casting issues which led to incorrect
amounts of memory being displayed. This also fixes a crash with --colors (#20)
2015-03-01 13:45:31 +01:00
Matt McCormick e70a16c936 Version bump to 3.2.0. 2015-02-19 22:42:29 -05:00
Matt McCormick 32d9083326 Add NetBSD to the list of supported platforms. 2015-02-19 22:41:53 -05:00
Matt McCormick ec1959128d Merge pull request #18 from l0ner/devel
Code Refactoring and NetBSD port
2015-02-19 22:39:31 -05:00
Matt McCormick 395ac49e83 Suggest status-left-length 60 in the README.
Addresses #19.
2015-02-19 20:46:17 -05:00
Pawel "l0ner" Soltys 72b8493a59 Code Refactoring and NetBSD support.
* Added NetBSD support.
* removed per-platform header files: all the supported platforms were using
  identical header files for cpu, memory and load (except a few differences).
  Since this was unnecessary code duplication I've gathered what was common
  among the platforms, removed duplicates and moved what was left to the
  common/ dir.
* implemented get_cpu_count() function across all platforms. We are using it
  on every platform, yet not on every one this was implemented as a separate
  function.
* removed platform detection through preprocessor from main: we don't need this
  there anymore, since the headers are common for all platforms. CMake will
  handle setting of correct source files for us now.
* Unified used defines for CPU states across all platforms and made linux use
  them. Added some platform detection to cpu.h in order to set them correctly
  across the platforms.
* moved getsysctl.h to common/ dir, since it's used on Net and Free BSD, and
  thus become a common include.
* Unified load_string() across all platforms. Same case as with the header
  files. We can use the same getloadavg() based logic for getting load averages
  on all platforms. *BSD and OS X code was already the pretty much identical.
  Removed duplicated code and made linux adhere to getloadavg() logic.
2015-02-19 21:29:58 +01:00
Pawel "l0ner" Soltys 87cc9b1ce8 Code Refactoring part 2: unified load_string() function on all platforms
All the platforms were using identical logic based on getloadavg() function to
get the load avg stats (except linux, which was using sinfo struct, but can use getloadavg() function). I've noticed this while working on NetBSD port.

Also: fixed a typo on freebsd.
2015-02-19 21:26:35 +01:00
Pawel "l0ner" Soltys 240752d800 Code Refactornig
Since the headers for cpu, memory and load functions are virtually the same for
all platforms, I've decided to move them into common/ dir and do some
refacotring:

* removed per-platform header files
* implemented get_cpu_count() function across all platforms. We are using it cpu
  on every platform, yet not on every one this was implemented as a separate
  function.
* removed platform detection through preprocessor from main: we don't need this
  there anymore, since the headers are common for all platforms. CMake will
  handle setting of correct source files for us now.
* Unified used defines for CPU states across all platforms and made linux use
  them. Added some platform detection to cpu.h in order to set them correctly
  across the platforms.
* moved getsysctl.h to common/ dir, since it's used on Net and Free BSD, and
  thus become a common include.
2015-02-19 19:47:45 +01:00
Pawel "l0ner" Soltys e8bea10056 Merge branch 'netbsd' into devel 2015-02-19 15:55:46 +01:00
Pawel "l0ner" Soltys 1512a0bda0 NetBSD port.
NetBSD port shares with FreeBSD:
 - load_string()
 - getsysctl()

With OpenBSD:
 - error()
2015-02-16 23:29:27 +01:00
Pawel "l0ner" Soltys 91594b7a5a Use u_long for storing cpu stats instead of detecting architecture
As suggested to me by "Jasper Lievisse Adriaanse" in an email:

On 2015-02-16 09:02 Jasper Lievisse Adriaanse <jasper@openbsd.org> wrote:
> You can actually use 'long' instead of juggling between 64 and 32 bit return
> types. I've impemented something similiar for libgtop years ago and never had
> any issues when using 'long' for both 64 and 32 platforms. Here's the
> refernce: https://git.gnome.org/browse/libgtop/tree/sysdeps/openbsd/cpu.c#n62

This is a better idea than what I've implemented. Also this should resolve
eventual occurrence of "unable to get cpu stats" problem on 64bit platforms we
do not detect.
2015-02-16 18:38:21 +01:00
Matt McCormick 4ca1ab01e4 Version bump to 3.1.0. 2015-02-14 21:23:02 -05:00
Matt McCormick 1481ba09dc Merge pull request #17 from l0ner/freebsd_ramusage
Freebsd ramusage
2015-02-14 21:18:55 -05:00
Pawel "l0ner" Soltys 33d64bc53b OSX: exclude cached memory from used 2015-02-15 01:17:51 +01:00
Matt McCormick 7cb154f267 Merge pull request #15 from l0ner/openbsd_new
OpenBSD port
2015-02-14 17:12:13 -05:00
Pawel "l0ner" Soltys cf2a094f13 Fix for cpu sysctl failing on 64bit FreeBSD
same as commit  80d70b7a4d
2015-02-13 19:56:47 +01:00
Pawel "l0ner" Soltys 869d43f102 Fixed RAM usage calculation on FreeBSD
- Instead of displaying hardware ram quantity, display ram available to be
  allocated by applications. FreeBSD uses some ram for kernel, segment mappings
  and other stuff. Those memory pages are not available for allocation by
  applications.
- Calculate correctly ram usage. Active + Wired (buffers). Nothing else.

For more info see:
- http://www.cyberciti.biz/files/scripts/freebsd-memory.pl.txt
- conky source code on github
- output of top and vmstat on FreeBSD
- http://www.zabbix.com/forum/showthread.php?t=21826
- https://support.zabbix.com/browse/ZBXNEXT-774

htop on FreeBSD uses linux procfs compatibility layer, and thus it's readings
are a little off.
2015-02-13 18:46:28 +01:00
Pawel "l0ner" Soltys 80d70b7a4d fix for cpu systctl failing on 64 bit OpenBSD
On 64bit system KERN_CPTIME systctl gets returned as 64bit uint.
On 32bit system it's returned as 32bit uint. This is not documented anywhere
(or maybe I've missed it). I've added preprocessor test for 64bit system.
2015-02-12 20:00:30 +01:00
Pawel "l0ner" Soltys d21be2b87c openbsd: use unsigned ints to store cpu stats 2015-02-01 17:29:04 +01:00
Pawel "l0ner" Soltys a727edef8f Openbsd: output error message on error 2015-02-01 17:10:52 +01:00
Pawel "l0ner" Soltys 33eac9d16d openbsd: changed cpu stats errors 2015-02-01 17:09:21 +01:00
Pawel "l0ner" Soltys ea98710e16 removed messages about experimental *BSD support 2015-01-28 11:32:44 +01:00
Matt McCormick d07e07ba01 Merge pull request #16 from thewtex/OSX-travis
Also run an OSX Travis build.
2015-01-27 23:04:05 -05:00
Matt McCormick 9dbf8086d4 Also run an OSX Travis build. 2015-01-26 15:57:36 -05:00
Pawel "l0ner" Soltys c052f58eab Workaround for compilation on OpenBSD 5.6
On OpenBSD 5.6 sys/ucred.h uses NGROUP define, but misses include to
sys/param.h in which NGROUP is defined. sys/ucred.h is included in
sys/mount.h which we need to get the cached ram. Because of this include
chain our compilation will fail with missing NGROUP define. This can be
resolved by including in our code (and in correct order) system headers.
2015-01-26 20:25:00 +01:00
Pawel "l0ner" Soltys d516985146 fix missing headers on OpenBSD 2015-01-21 13:43:42 +01:00