Browse Source

Add quiet mode option which suppresses throbber

master
Con Kolivas 8 years ago
parent
commit
14c8a3a125
  1. 7
      src/ckpool.c
  2. 3
      src/ckpool.h
  3. 31
      src/stratifier.c

7
src/ckpool.c

@ -1542,6 +1542,7 @@ static struct option long_options[] = {
{"node", no_argument, 0, 'N'}, {"node", no_argument, 0, 'N'},
{"passthrough", no_argument, 0, 'P'}, {"passthrough", no_argument, 0, 'P'},
{"proxy", no_argument, 0, 'p'}, {"proxy", no_argument, 0, 'p'},
{"quiet", no_argument, 0, 'q'},
{"redirector", no_argument, 0, 'R'}, {"redirector", no_argument, 0, 'R'},
{"ckdb-sockdir",required_argument, 0, 'S'}, {"ckdb-sockdir",required_argument, 0, 'S'},
{"sockdir", required_argument, 0, 's'}, {"sockdir", required_argument, 0, 's'},
@ -1563,6 +1564,7 @@ static struct option long_options[] = {
{"node", no_argument, 0, 'N'}, {"node", no_argument, 0, 'N'},
{"passthrough", no_argument, 0, 'P'}, {"passthrough", no_argument, 0, 'P'},
{"proxy", no_argument, 0, 'p'}, {"proxy", no_argument, 0, 'p'},
{"quiet", no_argument, 0, 'q'},
{"redirector", no_argument, 0, 'R'}, {"redirector", no_argument, 0, 'R'},
{"sockdir", required_argument, 0, 's'}, {"sockdir", required_argument, 0, 's'},
{"trusted", no_argument, 0, 't'}, {"trusted", no_argument, 0, 't'},
@ -1610,7 +1612,7 @@ int main(int argc, char **argv)
ckp.initial_args[ckp.args] = strdup(argv[ckp.args]); ckp.initial_args[ckp.args] = strdup(argv[ckp.args]);
ckp.initial_args[ckp.args] = NULL; ckp.initial_args[ckp.args] = NULL;
while ((c = getopt_long(argc, argv, "Ac:Dd:g:HhkLl:Nn:PpRS:s:tu", long_options, &i)) != -1) { while ((c = getopt_long(argc, argv, "Ac:Dd:g:HhkLl:Nn:PpqRS:s:tu", long_options, &i)) != -1) {
switch (c) { switch (c) {
case 'A': case 'A':
ckp.standalone = true; ckp.standalone = true;
@ -1679,6 +1681,9 @@ int main(int argc, char **argv)
quit(1, "Cannot set another proxy type or redirector and proxy mode"); quit(1, "Cannot set another proxy type or redirector and proxy mode");
ckp.proxy = true; ckp.proxy = true;
break; break;
case 'q':
ckp.quiet = true;
break;
case 'R': case 'R':
if (ckp.proxy || ckp.passthrough || ckp.userproxy || ckp.node) if (ckp.proxy || ckp.passthrough || ckp.userproxy || ckp.node)
quit(1, "Cannot set a proxy type or passthrough and redirector modes"); quit(1, "Cannot set a proxy type or passthrough and redirector modes");

3
src/ckpool.h

@ -209,6 +209,9 @@ struct ckpool_instance {
/* Should we daemonise the ckpool process */ /* Should we daemonise the ckpool process */
bool daemon; bool daemon;
/* Should we disable the throbber */
bool quiet;
/* Have we given warnings about the inability to raise buf sizes */ /* Have we given warnings about the inability to raise buf sizes */
bool wmem_warn; bool wmem_warn;
bool rmem_warn; bool rmem_warn;

31
src/stratifier.c

@ -777,30 +777,31 @@ out:
static void _ckdbq_add(ckpool_t *ckp, const int idtype, json_t *val, const char *file, static void _ckdbq_add(ckpool_t *ckp, const int idtype, json_t *val, const char *file,
const char *func, const int line) const char *func, const int line)
{ {
static time_t time_counter;
sdata_t *sdata = ckp->sdata; sdata_t *sdata = ckp->sdata;
static time_t time_counter;
static int counter = 0; static int counter = 0;
char *json_msg; char *json_msg;
time_t now_t;
char ch;
if (unlikely(!val)) { if (unlikely(!val)) {
LOGWARNING("Invalid json sent to ckdbq_add from %s %s:%d", file, func, line); LOGWARNING("Invalid json sent to ckdbq_add from %s %s:%d", file, func, line);
return; return;
} }
now_t = time(NULL); if (!ckp->quiet) {
if (now_t != time_counter) { time_t now_t = time(NULL);
pool_stats_t *stats = &sdata->stats;
char hashrate[16]; if (now_t != time_counter) {
pool_stats_t *stats = &sdata->stats;
/* Rate limit to 1 update per second */ char hashrate[16], ch;
time_counter = now_t;
suffix_string(stats->dsps1 * nonces, hashrate, 16, 3); /* Rate limit to 1 update per second */
ch = status_chars[(counter++) & 0x3]; time_counter = now_t;
fprintf(stdout, "\33[2K\r%c %sH/s %.1f SPS %d users %d workers", suffix_string(stats->dsps1 * nonces, hashrate, 16, 3);
ch, hashrate, stats->sps1, stats->users, stats->workers); ch = status_chars[(counter++) & 0x3];
fflush(stdout); fprintf(stdout, "\33[2K\r%c %sH/s %.1f SPS %d users %d workers",
ch, hashrate, stats->sps1, stats->users, stats->workers);
fflush(stdout);
}
} }
if (CKP_STANDALONE(ckp)) if (CKP_STANDALONE(ckp))

Loading…
Cancel
Save