nmeter: simple code shrink here and there
function old new delta nmeter_main 709 707 -2 init_cr 15 12 -3 collect_time 141 131 -10 collect_cpu 610 593 -17 init_cpu 82 63 -19 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-51) Total: -51 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
8a26fda98c
commit
a63e2a8cb2
@ -83,8 +83,8 @@ struct globals {
|
|||||||
smallint is26;
|
smallint is26;
|
||||||
// 1 if sample delay is not an integer fraction of a second
|
// 1 if sample delay is not an integer fraction of a second
|
||||||
smallint need_seconds;
|
smallint need_seconds;
|
||||||
|
char final_char;
|
||||||
char *cur_outbuf;
|
char *cur_outbuf;
|
||||||
const char *final_str;
|
|
||||||
int delta;
|
int delta;
|
||||||
int deltanz;
|
int deltanz;
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
@ -101,7 +101,6 @@ struct globals {
|
|||||||
#define is26 (G.is26 )
|
#define is26 (G.is26 )
|
||||||
#define need_seconds (G.need_seconds )
|
#define need_seconds (G.need_seconds )
|
||||||
#define cur_outbuf (G.cur_outbuf )
|
#define cur_outbuf (G.cur_outbuf )
|
||||||
#define final_str (G.final_str )
|
|
||||||
#define delta (G.delta )
|
#define delta (G.delta )
|
||||||
#define deltanz (G.deltanz )
|
#define deltanz (G.deltanz )
|
||||||
#define tv (G.tv )
|
#define tv (G.tv )
|
||||||
@ -114,7 +113,7 @@ struct globals {
|
|||||||
#define INIT_G() do { \
|
#define INIT_G() do { \
|
||||||
SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
|
SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
|
||||||
cur_outbuf = outbuf; \
|
cur_outbuf = outbuf; \
|
||||||
final_str = "\n"; \
|
G.final_char = '\n'; \
|
||||||
deltanz = delta = 1000000; \
|
deltanz = delta = 1000000; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
@ -322,7 +321,6 @@ static void scale(ullong ul)
|
|||||||
put(buf);
|
put(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define S_STAT(a) \
|
#define S_STAT(a) \
|
||||||
typedef struct a { \
|
typedef struct a { \
|
||||||
struct s_stat *next; \
|
struct s_stat *next; \
|
||||||
@ -354,11 +352,10 @@ static s_stat* init_delay(const char *param)
|
|||||||
|
|
||||||
static s_stat* init_cr(const char *param UNUSED_PARAM)
|
static s_stat* init_cr(const char *param UNUSED_PARAM)
|
||||||
{
|
{
|
||||||
final_str = "\r";
|
G.final_char = '\r';
|
||||||
return (s_stat*)0;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// user nice system idle iowait irq softirq (last 3 only in 2.6)
|
// user nice system idle iowait irq softirq (last 3 only in 2.6)
|
||||||
//cpu 649369 0 341297 4336769 11640 7122 1183
|
//cpu 649369 0 341297 4336769 11640 7122 1183
|
||||||
//cpuN 649369 0 341297 4336769 11640 7122 1183
|
//cpuN 649369 0 341297 4336769 11640 7122 1183
|
||||||
@ -366,10 +363,9 @@ enum { CPU_FIELDCNT = 7 };
|
|||||||
S_STAT(cpu_stat)
|
S_STAT(cpu_stat)
|
||||||
ullong old[CPU_FIELDCNT];
|
ullong old[CPU_FIELDCNT];
|
||||||
int bar_sz;
|
int bar_sz;
|
||||||
char *bar;
|
char bar[1];
|
||||||
S_STAT_END(cpu_stat)
|
S_STAT_END(cpu_stat)
|
||||||
|
|
||||||
|
|
||||||
static void FAST_FUNC collect_cpu(cpu_stat *s)
|
static void FAST_FUNC collect_cpu(cpu_stat *s)
|
||||||
{
|
{
|
||||||
ullong data[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 };
|
ullong data[CPU_FIELDCNT] = { 0, 0, 0, 0, 0, 0, 0 };
|
||||||
@ -431,22 +427,20 @@ static void FAST_FUNC collect_cpu(cpu_stat *s)
|
|||||||
put(s->bar);
|
put(s->bar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static s_stat* init_cpu(const char *param)
|
static s_stat* init_cpu(const char *param)
|
||||||
{
|
{
|
||||||
int sz;
|
int sz;
|
||||||
cpu_stat *s = xzalloc(sizeof(*s));
|
cpu_stat *s;
|
||||||
s->collect = collect_cpu;
|
|
||||||
sz = strtoul(param, NULL, 0); /* param can be "" */
|
sz = strtoul(param, NULL, 0); /* param can be "" */
|
||||||
if (sz < 10) sz = 10;
|
if (sz < 10) sz = 10;
|
||||||
if (sz > 1000) sz = 1000;
|
if (sz > 1000) sz = 1000;
|
||||||
s->bar = xzalloc(sz+1);
|
s = xzalloc(sizeof(*s) + sz);
|
||||||
/*s->bar[sz] = '\0'; - xzalloc did it */
|
/*s->bar[sz] = '\0'; - xzalloc did it */
|
||||||
s->bar_sz = sz;
|
s->bar_sz = sz;
|
||||||
|
s->collect = collect_cpu;
|
||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(int_stat)
|
S_STAT(int_stat)
|
||||||
ullong old;
|
ullong old;
|
||||||
int no;
|
int no;
|
||||||
@ -481,7 +475,6 @@ static s_stat* init_int(const char *param)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(ctx_stat)
|
S_STAT(ctx_stat)
|
||||||
ullong old;
|
ullong old;
|
||||||
S_STAT_END(ctx_stat)
|
S_STAT_END(ctx_stat)
|
||||||
@ -509,7 +502,6 @@ static s_stat* init_ctx(const char *param UNUSED_PARAM)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(blk_stat)
|
S_STAT(blk_stat)
|
||||||
const char* lookfor;
|
const char* lookfor;
|
||||||
ullong old[2];
|
ullong old[2];
|
||||||
@ -555,7 +547,6 @@ static s_stat* init_blk(const char *param UNUSED_PARAM)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(fork_stat)
|
S_STAT(fork_stat)
|
||||||
ullong old;
|
ullong old;
|
||||||
S_STAT_END(fork_stat)
|
S_STAT_END(fork_stat)
|
||||||
@ -598,7 +589,6 @@ static s_stat* init_fork(const char *param)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(if_stat)
|
S_STAT(if_stat)
|
||||||
ullong old[4];
|
ullong old[4];
|
||||||
const char *device;
|
const char *device;
|
||||||
@ -645,7 +635,6 @@ static s_stat* init_if(const char *device)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(mem_stat)
|
S_STAT(mem_stat)
|
||||||
char opt;
|
char opt;
|
||||||
S_STAT_END(mem_stat)
|
S_STAT_END(mem_stat)
|
||||||
@ -728,7 +717,6 @@ static s_stat* init_mem(const char *param)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(swp_stat)
|
S_STAT(swp_stat)
|
||||||
S_STAT_END(swp_stat)
|
S_STAT_END(swp_stat)
|
||||||
|
|
||||||
@ -752,7 +740,6 @@ static s_stat* init_swp(const char *param UNUSED_PARAM)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(fd_stat)
|
S_STAT(fd_stat)
|
||||||
S_STAT_END(fd_stat)
|
S_STAT_END(fd_stat)
|
||||||
|
|
||||||
@ -778,17 +765,16 @@ static s_stat* init_fd(const char *param UNUSED_PARAM)
|
|||||||
return (s_stat*)s;
|
return (s_stat*)s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
S_STAT(time_stat)
|
S_STAT(time_stat)
|
||||||
int prec;
|
unsigned prec;
|
||||||
int scale;
|
unsigned scale;
|
||||||
S_STAT_END(time_stat)
|
S_STAT_END(time_stat)
|
||||||
|
|
||||||
static void FAST_FUNC collect_time(time_stat *s)
|
static void FAST_FUNC collect_time(time_stat *s)
|
||||||
{
|
{
|
||||||
char buf[sizeof("12:34:56.123456")];
|
char buf[sizeof("12:34:56.123456")];
|
||||||
struct tm* tm;
|
struct tm* tm;
|
||||||
int us = tv.tv_usec + s->scale/2;
|
unsigned us = tv.tv_usec + s->scale/2;
|
||||||
time_t t = tv.tv_sec;
|
time_t t = tv.tv_sec;
|
||||||
|
|
||||||
if (us >= 1000000) {
|
if (us >= 1000000) {
|
||||||
@ -829,7 +815,6 @@ static void FAST_FUNC collect_info(s_stat *s)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
typedef s_stat* init_func(const char *param);
|
typedef s_stat* init_func(const char *param);
|
||||||
|
|
||||||
// Deprecated %NNNd is to be removed, -d MSEC supersedes it
|
// Deprecated %NNNd is to be removed, -d MSEC supersedes it
|
||||||
@ -951,7 +936,7 @@ int nmeter_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
while (1) {
|
while (1) {
|
||||||
gettimeofday(&tv, NULL);
|
gettimeofday(&tv, NULL);
|
||||||
collect_info(first);
|
collect_info(first);
|
||||||
put(final_str);
|
put_c(G.final_char);
|
||||||
print_outbuf();
|
print_outbuf();
|
||||||
|
|
||||||
// Negative delta -> no usleep at all
|
// Negative delta -> no usleep at all
|
||||||
|
Loading…
Reference in New Issue
Block a user