mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-10 14:58:01 +00:00
Add summary command
This commit is contained in:
parent
bbe1702d66
commit
49532277df
19
api.c
19
api.c
@ -189,6 +189,22 @@ char *poolstatus(char *params)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
char *summary(char *params)
|
||||
{
|
||||
double utility, mhs;
|
||||
|
||||
utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60;
|
||||
mhs = total_mhashes_done / total_secs;
|
||||
|
||||
sprintf(buffer, "SUMMARY,EL=%.0lf,ALGO=%s,MHS=%.2lf,SOL=%d,Q=%d,A=%d,R=%d,HW=%d,U=%.2lf,DW=%d,ST=%d,GF=%d,LW=%d,RO=%d,BC=%d",
|
||||
total_secs, algo_names[opt_algo], mhs, found_blocks,
|
||||
total_getworks, total_accepted, total_rejected,
|
||||
hw_errors, utility, total_discarded, total_stale,
|
||||
total_go, local_work, total_ro, new_blocks);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
char *doquit(char *params)
|
||||
{
|
||||
bye = 1;
|
||||
@ -203,10 +219,11 @@ struct CMDS {
|
||||
{ "apiversion", apiversion },
|
||||
{ "dev", devstatus },
|
||||
{ "pool", poolstatus },
|
||||
{ "summary", summary },
|
||||
{ "quit", doquit },
|
||||
};
|
||||
|
||||
#define CMDMAX 4
|
||||
#define CMDMAX 5
|
||||
|
||||
void send_result(int c, char *result)
|
||||
{
|
||||
|
34
main.c
34
main.c
@ -99,18 +99,6 @@ struct workio_cmd {
|
||||
bool lagging;
|
||||
};
|
||||
|
||||
enum sha256_algos {
|
||||
ALGO_C, /* plain C */
|
||||
ALGO_4WAY, /* parallel SSE2 */
|
||||
ALGO_VIA, /* VIA padlock */
|
||||
ALGO_CRYPTOPP, /* Crypto++ (C) */
|
||||
ALGO_CRYPTOPP_ASM32, /* Crypto++ 32-bit assembly */
|
||||
ALGO_SSE2_32, /* SSE2 for x86_32 */
|
||||
ALGO_SSE2_64, /* SSE2 for x86_64 */
|
||||
ALGO_SSE4_64, /* SSE4 for x86_64 */
|
||||
ALGO_ALTIVEC_4WAY, /* parallel Altivec */
|
||||
};
|
||||
|
||||
enum pool_strategy {
|
||||
POOL_FAILOVER,
|
||||
POOL_ROUNDROBIN,
|
||||
@ -131,7 +119,7 @@ struct strategies {
|
||||
|
||||
static size_t max_name_len = 0;
|
||||
static char *name_spaces_pad = NULL;
|
||||
static const char *algo_names[] = {
|
||||
const char *algo_names[] = {
|
||||
[ALGO_C] = "c",
|
||||
#ifdef WANT_SSE2_4WAY
|
||||
[ALGO_4WAY] = "4way",
|
||||
@ -209,11 +197,11 @@ int opt_bench_algo = -1;
|
||||
static const bool opt_time = true;
|
||||
static bool opt_restart = true;
|
||||
#if defined(WANT_X8664_SSE2) && defined(__SSE2__)
|
||||
static enum sha256_algos opt_algo = ALGO_SSE2_64;
|
||||
enum sha256_algos opt_algo = ALGO_SSE2_64;
|
||||
#elif defined(WANT_X8632_SSE2) && defined(__SSE2__)
|
||||
static enum sha256_algos opt_algo = ALGO_SSE2_32;
|
||||
enum sha256_algos opt_algo = ALGO_SSE2_32;
|
||||
#else
|
||||
static enum sha256_algos opt_algo = ALGO_C;
|
||||
enum sha256_algos opt_algo = ALGO_C;
|
||||
#endif
|
||||
static int nDevs;
|
||||
static int opt_g_threads = 2;
|
||||
@ -258,21 +246,21 @@ static pthread_mutex_t qd_lock;
|
||||
static pthread_mutex_t *stgd_lock;
|
||||
static pthread_mutex_t curses_lock;
|
||||
static pthread_rwlock_t blk_lock;
|
||||
static double total_mhashes_done;
|
||||
double total_mhashes_done;
|
||||
static struct timeval total_tv_start, total_tv_end;
|
||||
|
||||
pthread_mutex_t control_lock;
|
||||
|
||||
int hw_errors;
|
||||
static int total_accepted, total_rejected;
|
||||
static int total_getworks, total_stale, total_discarded;
|
||||
int total_accepted, total_rejected;
|
||||
int total_getworks, total_stale, total_discarded;
|
||||
static int total_queued;
|
||||
static unsigned int new_blocks;
|
||||
unsigned int new_blocks;
|
||||
static unsigned int work_block;
|
||||
static unsigned int found_blocks;
|
||||
unsigned int found_blocks;
|
||||
|
||||
static unsigned int local_work;
|
||||
static unsigned int total_go, total_ro;
|
||||
unsigned int local_work;
|
||||
unsigned int total_go, total_ro;
|
||||
|
||||
struct pool *pools[MAX_POOLS];
|
||||
static struct pool *currentpool = NULL;
|
||||
|
22
miner.h
22
miner.h
@ -156,6 +156,19 @@ enum {
|
||||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
||||
#endif
|
||||
|
||||
enum sha256_algos {
|
||||
ALGO_C, /* plain C */
|
||||
ALGO_4WAY, /* parallel SSE2 */
|
||||
ALGO_VIA, /* VIA padlock */
|
||||
ALGO_CRYPTOPP, /* Crypto++ (C) */
|
||||
ALGO_CRYPTOPP_ASM32, /* Crypto++ 32-bit assembly */
|
||||
ALGO_SSE2_32, /* SSE2 for x86_32 */
|
||||
ALGO_SSE2_64, /* SSE2 for x86_64 */
|
||||
ALGO_SSE4_64, /* SSE4 for x86_64 */
|
||||
ALGO_ALTIVEC_4WAY, /* parallel Altivec */
|
||||
};
|
||||
|
||||
|
||||
enum alive {
|
||||
LIFE_WELL,
|
||||
LIFE_SICK,
|
||||
@ -415,6 +428,15 @@ extern int mining_threads;
|
||||
extern struct cgpu_info *cpus;
|
||||
extern int total_pools;
|
||||
extern struct pool *pools[MAX_POOLS];
|
||||
extern const char *algo_names[];
|
||||
extern enum sha256_algos opt_algo;
|
||||
extern double total_mhashes_done;
|
||||
extern unsigned int new_blocks;
|
||||
extern unsigned int found_blocks;
|
||||
extern int total_accepted, total_rejected;
|
||||
extern int total_getworks, total_stale, total_discarded;
|
||||
extern unsigned int local_work;
|
||||
extern unsigned int total_go, total_ro;
|
||||
|
||||
#ifdef HAVE_OPENCL
|
||||
typedef struct {
|
||||
|
Loading…
Reference in New Issue
Block a user