From 83c98554ed39f37921152804e9fda7f4b0da0527 Mon Sep 17 00:00:00 2001 From: Aaron Marcher Date: Thu, 18 Aug 2016 13:30:45 +0200 Subject: [PATCH] load avg --- README.md | 1 + config.def.h | 1 + slstatus.c | 16 ++++++++++++++++ slstatus.h | 1 + 4 files changed, 19 insertions(+) diff --git a/README.md b/README.md index 555a6b8..feb63f5 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ The following information is included: - available entropy - hostname - ip addresses +- load avg - ram numbers (free ram, percentage, total ram and used ram) - temperature - volume percentage (alsa) diff --git a/config.def.h b/config.def.h index 3cbbedf..2dd05de 100644 --- a/config.def.h +++ b/config.def.h @@ -26,6 +26,7 @@ static const char unknowntext[] = "n/a"; - gid (gid of current user) [argument: NULL] - hostname [argument: NULL] - ip (ip address) [argument: interface] +- load_avg (load average) [argument: NULL] - ram_free (ram usage in percent) [argument: NULL] - ram_perc (ram usage in percent) [argument: NULL] - ram_total (ram usage in percent) [argument: NULL] diff --git a/slstatus.c b/slstatus.c index 9884aaa..87e705d 100644 --- a/slstatus.c +++ b/slstatus.c @@ -342,6 +342,22 @@ ip(const char *interface) return smprintf(unknowntext); } +/* load avg */ +char * +load_avg(const char *null) +{ + double avgs[3]; + + /* try to get load avg */ + if (getloadavg(avgs, 3) < 0) { + fprintf(stderr, "Error getting load avg.\n"); + return smprintf(unknowntext); + } + + /* return it */ + return smprintf("%.2f %.2f %.2f", avgs[0], avgs[1], avgs[2]); +} + /* ram free */ char * ram_free(const char *null) diff --git a/slstatus.h b/slstatus.h index f09b3bc..5efc5f2 100644 --- a/slstatus.h +++ b/slstatus.h @@ -25,6 +25,7 @@ char *entropy(const char*); char *gid(const char*); char *hostname(const char *); char *ip(const char *); +char *load_avg(const char *); char *ram_free(const char *); char *ram_perc(const char *); char *ram_used(const char *);