Refactor, factor out and export memsz() util function

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2021-03-19 09:30:52 +01:00
1 parent 5b8fe12502
commit fcb8ec9967
3 files changed
+27 -21

No files matched your search

-21
View File
@@ -159,27 +159,6 @@ static uint64_t cgroup_memuse(struct cg *cg)
return cg->cg_vmsize = cgroup_uint64(cg->cg_path, "memory.current"); return cg->cg_vmsize = cgroup_uint64(cg->cg_path, "memory.current");
} }
static char *memsz(uint64_t sz, char *buf, size_t len)
{
int gb, mb, kb, b;
gb = sz / (1024 * 1024 * 1024);
sz = sz % (1024 * 1024 * 1024);
mb = sz / (1024 * 1024);
sz = sz % (1024 * 1024);
kb = sz / (1024);
b = sz % (1024);
if (gb)
snprintf(buf, len, "%d.%dG", gb, mb / 102);
else if (mb)
snprintf(buf, len, "%d.%dM", mb, kb / 102);
else
snprintf(buf, len, "%d.%dk", kb, b / 102);
return buf;
}
static float cgroup_cpuload(struct cg *cg) static float cgroup_cpuload(struct cg *cg)
{ {
char fn[256]; char fn[256];
+26
View File
@@ -195,6 +195,32 @@ char *uptime(long secs, char *buf, size_t len)
return buf; return buf;
} }
char *memsz(uint64_t sz, char *buf, size_t len)
{
int gb, mb, kb, b;
if (!sz) {
strlcpy(buf, "-.-", len);
return buf;
}
gb = sz / (1024 * 1024 * 1024);
sz = sz % (1024 * 1024 * 1024);
mb = sz / (1024 * 1024);
sz = sz % (1024 * 1024);
kb = sz / (1024);
b = sz % (1024);
if (gb)
snprintf(buf, len, "%d.%dG", gb, mb / 102);
else if (mb)
snprintf(buf, len, "%d.%dM", mb, kb / 102);
else
snprintf(buf, len, "%d.%dk", kb, b / 102);
return buf;
}
/* /*
* Verify string argument is NUL terminated * Verify string argument is NUL terminated
* Verify string is a JOB[:ID], JOB and ID * Verify string is a JOB[:ID], JOB and ID
+1
View File
@@ -55,6 +55,7 @@ void do_sleep (unsigned int sec);
long jiffies (void); long jiffies (void);
char *uptime (long secs, char *buf, size_t len); char *uptime (long secs, char *buf, size_t len);
char *memsz (uint64_t sz, char *buf, size_t len);
char *sanitize (char *arg, size_t len); char *sanitize (char *arg, size_t len);