mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-23 13:04:29 +00:00
Tidy up display.
This commit is contained in:
parent
7d517dcfc1
commit
02cd113cd9
37
main.c
37
main.c
@ -537,12 +537,12 @@ static inline void __print_status(int thr_id)
|
|||||||
{
|
{
|
||||||
wmove(statuswin, 0, 0);
|
wmove(statuswin, 0, 0);
|
||||||
wattron(statuswin, A_BOLD);
|
wattron(statuswin, A_BOLD);
|
||||||
wprintw(statuswin, PROGRAM_NAME " version " VERSION);
|
wprintw(statuswin, " " PROGRAM_NAME " version " VERSION);
|
||||||
wattroff(statuswin, A_BOLD);
|
wattroff(statuswin, A_BOLD);
|
||||||
wmove(statuswin, 1, 0);
|
wmove(statuswin, 1, 0);
|
||||||
whline(statuswin, '-', 80);
|
whline(statuswin, '-', 80);
|
||||||
wmove(statuswin, 2,0);
|
wmove(statuswin, 2,0);
|
||||||
wprintw(statuswin, "Totals: %s", statusline);
|
wprintw(statuswin, " %s", statusline);
|
||||||
wclrtoeol(statuswin);
|
wclrtoeol(statuswin);
|
||||||
wmove(statuswin, 3, 0);
|
wmove(statuswin, 3, 0);
|
||||||
whline(statuswin, '-', 80);
|
whline(statuswin, '-', 80);
|
||||||
@ -554,7 +554,7 @@ static inline void __print_status(int thr_id)
|
|||||||
struct cgpu_info *cgpu = &gpus[gpu];
|
struct cgpu_info *cgpu = &gpus[gpu];
|
||||||
|
|
||||||
wmove(statuswin, gpucursor + gpu, 0);
|
wmove(statuswin, gpucursor + gpu, 0);
|
||||||
wprintw(statuswin, "GPU %d: [%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m]",
|
wprintw(statuswin, " GPU %d: [%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m]",
|
||||||
gpu, cgpu->total_mhashes / total_secs,
|
gpu, cgpu->total_mhashes / total_secs,
|
||||||
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors,
|
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors,
|
||||||
cgpu->efficiency, cgpu->utility);
|
cgpu->efficiency, cgpu->utility);
|
||||||
@ -564,7 +564,7 @@ static inline void __print_status(int thr_id)
|
|||||||
struct cgpu_info *cgpu = &cpus[cpu];
|
struct cgpu_info *cgpu = &cpus[cpu];
|
||||||
|
|
||||||
wmove(statuswin, cpucursor + cpu, 0);
|
wmove(statuswin, cpucursor + cpu, 0);
|
||||||
wprintw(statuswin, "CPU %d: [%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m]",
|
wprintw(statuswin, " CPU %d: [%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m]",
|
||||||
cpu, cgpu->total_mhashes / total_secs,
|
cpu, cgpu->total_mhashes / total_secs,
|
||||||
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors,
|
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors,
|
||||||
cgpu->efficiency, cgpu->utility);
|
cgpu->efficiency, cgpu->utility);
|
||||||
@ -602,7 +602,8 @@ static bool submit_upstream_work(const struct work *work)
|
|||||||
json_t *val, *res;
|
json_t *val, *res;
|
||||||
char s[345];
|
char s[345];
|
||||||
bool rc = false;
|
bool rc = false;
|
||||||
struct cgpu_info *cgpu = thr_info[work->thr_id].cgpu;
|
int thr_id = work->thr_id;
|
||||||
|
struct cgpu_info *cgpu = thr_info[thr_id].cgpu;
|
||||||
CURL *curl = curl_easy_init();
|
CURL *curl = curl_easy_init();
|
||||||
|
|
||||||
if (unlikely(!curl)) {
|
if (unlikely(!curl)) {
|
||||||
@ -650,24 +651,24 @@ static bool submit_upstream_work(const struct work *work)
|
|||||||
if (opt_debug)
|
if (opt_debug)
|
||||||
applog(LOG_DEBUG, "PROOF OF WORK RESULT: true (yay!!!)");
|
applog(LOG_DEBUG, "PROOF OF WORK RESULT: true (yay!!!)");
|
||||||
if (!opt_quiet)
|
if (!opt_quiet)
|
||||||
applog(LOG_WARNING, "Share accepted from %sPU %d",
|
applog(LOG_WARNING, "Share accepted from %sPU %d thread %d",
|
||||||
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu);
|
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu, thr_id);
|
||||||
} else {
|
} else {
|
||||||
cgpu->rejected++;
|
cgpu->rejected++;
|
||||||
rejected++;
|
rejected++;
|
||||||
if (opt_debug)
|
if (opt_debug)
|
||||||
applog(LOG_DEBUG, "PROOF OF WORK RESULT: false (booooo)");
|
applog(LOG_DEBUG, "PROOF OF WORK RESULT: false (booooo)");
|
||||||
if (!opt_quiet)
|
if (!opt_quiet)
|
||||||
applog(LOG_WARNING, "Share rejected from %sPU %d",
|
applog(LOG_WARNING, "Share rejected from %sPU %d thread %d",
|
||||||
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu);
|
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu, thr_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
cgpu->utility = cgpu->accepted / ( total_secs ? total_secs : 1 ) * 60;
|
cgpu->utility = cgpu->accepted / ( total_secs ? total_secs : 1 ) * 60;
|
||||||
cgpu->efficiency = cgpu->getworks ? cgpu->accepted * 100.0 / cgpu->getworks : 0.0;
|
cgpu->efficiency = cgpu->getworks ? cgpu->accepted * 100.0 / cgpu->getworks : 0.0;
|
||||||
|
|
||||||
if (!opt_quiet)
|
if (!opt_quiet)
|
||||||
print_status(work->thr_id);
|
print_status(thr_id);
|
||||||
applog(LOG_INFO, "%sPU %d Requested:%d Accepted:%d Rejected:%d HW errors:%d Efficiency:%.0f%% Utility:%.2f/m",
|
applog(LOG_INFO, "%sPU %d Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m",
|
||||||
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu, cgpu->getworks, cgpu->accepted,
|
cgpu->is_gpu? "G" : "C", cgpu->cpu_gpu, cgpu->getworks, cgpu->accepted,
|
||||||
cgpu->rejected, cgpu->hw_errors, cgpu->efficiency, cgpu->utility);
|
cgpu->rejected, cgpu->hw_errors, cgpu->efficiency, cgpu->utility);
|
||||||
|
|
||||||
@ -912,9 +913,9 @@ static void *stage_thread(void *userdata)
|
|||||||
if (likely(strncmp(current_block, blank, 36))) {
|
if (likely(strncmp(current_block, blank, 36))) {
|
||||||
if (unlikely(strncmp(hexstr, current_block, 36))) {
|
if (unlikely(strncmp(hexstr, current_block, 36))) {
|
||||||
if (want_longpoll)
|
if (want_longpoll)
|
||||||
applog(LOG_WARNING, "New block detected, possible missed longpoll, flushing work queue");
|
applog(LOG_WARNING, "New block detected on network before receiving longpoll, flushing work queue");
|
||||||
else
|
else
|
||||||
applog(LOG_WARNING, "New block detected, flushing work queue");
|
applog(LOG_WARNING, "New block detected on network, flushing work queue");
|
||||||
/* As we can't flush the work from here, signal
|
/* As we can't flush the work from here, signal
|
||||||
* the wakeup thread to restart all the
|
* the wakeup thread to restart all the
|
||||||
* threads */
|
* threads */
|
||||||
@ -1028,13 +1029,11 @@ static void hashmeter(int thr_id, struct timeval *diff,
|
|||||||
utility = accepted / ( total_secs ? total_secs : 1 ) * 60;
|
utility = accepted / ( total_secs ? total_secs : 1 ) * 60;
|
||||||
efficiency = getwork_requested ? accepted * 100.0 / getwork_requested : 0.0;
|
efficiency = getwork_requested ? accepted * 100.0 / getwork_requested : 0.0;
|
||||||
|
|
||||||
sprintf(statusline, "[(%ds):%.1f (avg):%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m] ",
|
sprintf(statusline, "[(%ds):%.1f (avg):%.1f Mh/s] [Q:%d A:%d R:%d HW:%d E:%.0f%% U:%.2f/m]",
|
||||||
opt_log_interval, rolling_local / local_secs, total_mhashes_done / total_secs,
|
opt_log_interval, rolling_local / local_secs, total_mhashes_done / total_secs,
|
||||||
getwork_requested, accepted, rejected, hw_errors, efficiency, utility);
|
getwork_requested, accepted, rejected, hw_errors, efficiency, utility);
|
||||||
print_status(thr_id);
|
print_status(thr_id);
|
||||||
applog(LOG_INFO, "[Rate (%ds):%.1f (avg):%.2f Mhash/s] [Requested:%d Accepted:%d Rejected:%d HW errors:%d Efficiency:%.0f%% Utility:%.2f/m]",
|
applog(LOG_INFO, "%s", statusline);
|
||||||
opt_log_interval, rolling_local / local_secs, total_mhashes_done / total_secs,
|
|
||||||
getwork_requested, accepted, rejected, hw_errors, efficiency, utility);
|
|
||||||
|
|
||||||
local_mhashes_done = 0;
|
local_mhashes_done = 0;
|
||||||
out_unlock:
|
out_unlock:
|
||||||
@ -1705,10 +1704,10 @@ static void *longpoll_thread(void *userdata)
|
|||||||
* sure it's only done once per new block */
|
* sure it's only done once per new block */
|
||||||
if (likely(!strncmp(longpoll_block, blank, 36) ||
|
if (likely(!strncmp(longpoll_block, blank, 36) ||
|
||||||
!strncmp(longpoll_block, current_block, 36))) {
|
!strncmp(longpoll_block, current_block, 36))) {
|
||||||
applog(LOG_WARNING, "LONGPOLL detected new block, flushing work queue");
|
applog(LOG_WARNING, "LONGPOLL detected new block on network, flushing work queue");
|
||||||
restart_threads(true);
|
restart_threads(true);
|
||||||
} else
|
} else
|
||||||
applog(LOG_WARNING, "LONGPOLL received - new block detected and work flushed already");
|
applog(LOG_WARNING, "LONGPOLL received after new block already detected");
|
||||||
} else {
|
} else {
|
||||||
/* Some pools regularly drop the longpoll request so
|
/* Some pools regularly drop the longpoll request so
|
||||||
* only see this as longpoll failure if it happens
|
* only see this as longpoll failure if it happens
|
||||||
|
Loading…
x
Reference in New Issue
Block a user