mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-10 23:08:07 +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;
|
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)
|
char *doquit(char *params)
|
||||||
{
|
{
|
||||||
bye = 1;
|
bye = 1;
|
||||||
@ -203,10 +219,11 @@ struct CMDS {
|
|||||||
{ "apiversion", apiversion },
|
{ "apiversion", apiversion },
|
||||||
{ "dev", devstatus },
|
{ "dev", devstatus },
|
||||||
{ "pool", poolstatus },
|
{ "pool", poolstatus },
|
||||||
|
{ "summary", summary },
|
||||||
{ "quit", doquit },
|
{ "quit", doquit },
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CMDMAX 4
|
#define CMDMAX 5
|
||||||
|
|
||||||
void send_result(int c, char *result)
|
void send_result(int c, char *result)
|
||||||
{
|
{
|
||||||
|
34
main.c
34
main.c
@ -99,18 +99,6 @@ struct workio_cmd {
|
|||||||
bool lagging;
|
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 {
|
enum pool_strategy {
|
||||||
POOL_FAILOVER,
|
POOL_FAILOVER,
|
||||||
POOL_ROUNDROBIN,
|
POOL_ROUNDROBIN,
|
||||||
@ -131,7 +119,7 @@ struct strategies {
|
|||||||
|
|
||||||
static size_t max_name_len = 0;
|
static size_t max_name_len = 0;
|
||||||
static char *name_spaces_pad = NULL;
|
static char *name_spaces_pad = NULL;
|
||||||
static const char *algo_names[] = {
|
const char *algo_names[] = {
|
||||||
[ALGO_C] = "c",
|
[ALGO_C] = "c",
|
||||||
#ifdef WANT_SSE2_4WAY
|
#ifdef WANT_SSE2_4WAY
|
||||||
[ALGO_4WAY] = "4way",
|
[ALGO_4WAY] = "4way",
|
||||||
@ -209,11 +197,11 @@ int opt_bench_algo = -1;
|
|||||||
static const bool opt_time = true;
|
static const bool opt_time = true;
|
||||||
static bool opt_restart = true;
|
static bool opt_restart = true;
|
||||||
#if defined(WANT_X8664_SSE2) && defined(__SSE2__)
|
#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__)
|
#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
|
#else
|
||||||
static enum sha256_algos opt_algo = ALGO_C;
|
enum sha256_algos opt_algo = ALGO_C;
|
||||||
#endif
|
#endif
|
||||||
static int nDevs;
|
static int nDevs;
|
||||||
static int opt_g_threads = 2;
|
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 *stgd_lock;
|
||||||
static pthread_mutex_t curses_lock;
|
static pthread_mutex_t curses_lock;
|
||||||
static pthread_rwlock_t blk_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;
|
static struct timeval total_tv_start, total_tv_end;
|
||||||
|
|
||||||
pthread_mutex_t control_lock;
|
pthread_mutex_t control_lock;
|
||||||
|
|
||||||
int hw_errors;
|
int hw_errors;
|
||||||
static int total_accepted, total_rejected;
|
int total_accepted, total_rejected;
|
||||||
static int total_getworks, total_stale, total_discarded;
|
int total_getworks, total_stale, total_discarded;
|
||||||
static int total_queued;
|
static int total_queued;
|
||||||
static unsigned int new_blocks;
|
unsigned int new_blocks;
|
||||||
static unsigned int work_block;
|
static unsigned int work_block;
|
||||||
static unsigned int found_blocks;
|
unsigned int found_blocks;
|
||||||
|
|
||||||
static unsigned int local_work;
|
unsigned int local_work;
|
||||||
static unsigned int total_go, total_ro;
|
unsigned int total_go, total_ro;
|
||||||
|
|
||||||
struct pool *pools[MAX_POOLS];
|
struct pool *pools[MAX_POOLS];
|
||||||
static struct pool *currentpool = NULL;
|
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]))
|
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
||||||
#endif
|
#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 {
|
enum alive {
|
||||||
LIFE_WELL,
|
LIFE_WELL,
|
||||||
LIFE_SICK,
|
LIFE_SICK,
|
||||||
@ -415,6 +428,15 @@ extern int mining_threads;
|
|||||||
extern struct cgpu_info *cpus;
|
extern struct cgpu_info *cpus;
|
||||||
extern int total_pools;
|
extern int total_pools;
|
||||||
extern struct pool *pools[MAX_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
|
#ifdef HAVE_OPENCL
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user