Commit Graph

315 Commits

Author SHA1 Message Date
cousine
451aed4530 added memory mode to calculate %, and free memory 2016-02-10 17:32:01 +02:00
Matt McCormick
859c60976a Version bump to 3.2.3. v3.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. v3.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. v3.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. v3.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  80d70b7a4d5ee9a4ba79deae0e840c65ccaf4131
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