mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-11 07:17:58 +00:00
Merge pull request #313 from kanoi/main
API stats add some pool getwork difficulty stats
This commit is contained in:
commit
a63ecf63f0
@ -401,6 +401,8 @@ Modified API commands:
|
|||||||
'pools' - add 'Proxy Type', 'Proxy', 'Difficulty Accepted', 'Difficulty Rejected',
|
'pools' - add 'Proxy Type', 'Proxy', 'Difficulty Accepted', 'Difficulty Rejected',
|
||||||
'Difficulty Stale', 'Last Share Difficulty'
|
'Difficulty Stale', 'Last Share Difficulty'
|
||||||
'config' - add 'Queue', 'Expiry'
|
'config' - add 'Queue', 'Expiry'
|
||||||
|
'stats' - add 'Work Diff', 'Min Diff', 'Max Diff', 'Min Diff Count',
|
||||||
|
'Max Diff Count' to the pool stats
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
5
api.c
5
api.c
@ -2789,6 +2789,11 @@ static int itemstats(int i, char *id, struct cgminer_stats *stats, struct cgmine
|
|||||||
root = api_add_bool(root, "Work Can Roll", &(pool_stats->canroll), false);
|
root = api_add_bool(root, "Work Can Roll", &(pool_stats->canroll), false);
|
||||||
root = api_add_bool(root, "Work Had Expire", &(pool_stats->hadexpire), false);
|
root = api_add_bool(root, "Work Had Expire", &(pool_stats->hadexpire), false);
|
||||||
root = api_add_uint32(root, "Work Roll Time", &(pool_stats->rolltime), false);
|
root = api_add_uint32(root, "Work Roll Time", &(pool_stats->rolltime), false);
|
||||||
|
root = api_add_diff(root, "Work Diff", &(pool_stats->last_diff), false);
|
||||||
|
root = api_add_diff(root, "Min Diff", &(pool_stats->min_diff), false);
|
||||||
|
root = api_add_diff(root, "Max Diff", &(pool_stats->max_diff), false);
|
||||||
|
root = api_add_uint32(root, "Min Diff Count", &(pool_stats->min_diff_count), false);
|
||||||
|
root = api_add_uint32(root, "Max Diff Count", &(pool_stats->max_diff_count), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (extra)
|
if (extra)
|
||||||
|
17
cgminer.c
17
cgminer.c
@ -2047,6 +2047,7 @@ static double DIFFEXACTONE = 269599466671506397946670150870196306736371444225405
|
|||||||
*/
|
*/
|
||||||
static void calc_diff(struct work *work)
|
static void calc_diff(struct work *work)
|
||||||
{
|
{
|
||||||
|
struct cgminer_pool_stats *pool_stats = &(work->pool->cgminer_pool_stats);
|
||||||
double targ;
|
double targ;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -2057,6 +2058,22 @@ static void calc_diff(struct work *work)
|
|||||||
}
|
}
|
||||||
|
|
||||||
work->work_difficulty = DIFFEXACTONE / (targ ? : DIFFEXACTONE);
|
work->work_difficulty = DIFFEXACTONE / (targ ? : DIFFEXACTONE);
|
||||||
|
|
||||||
|
pool_stats->last_diff = work->work_difficulty;
|
||||||
|
|
||||||
|
if (work->work_difficulty == pool_stats->min_diff)
|
||||||
|
pool_stats->min_diff_count++;
|
||||||
|
else if (work->work_difficulty < pool_stats->min_diff || pool_stats->min_diff == 0) {
|
||||||
|
pool_stats->min_diff = work->work_difficulty;
|
||||||
|
pool_stats->min_diff_count = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (work->work_difficulty == pool_stats->max_diff)
|
||||||
|
pool_stats->max_diff_count++;
|
||||||
|
else if (work->work_difficulty > pool_stats->max_diff) {
|
||||||
|
pool_stats->max_diff = work->work_difficulty;
|
||||||
|
pool_stats->max_diff_count = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_benchmark_work(struct work *work)
|
static void get_benchmark_work(struct work *work)
|
||||||
|
5
miner.h
5
miner.h
@ -314,6 +314,11 @@ struct cgminer_pool_stats {
|
|||||||
bool canroll;
|
bool canroll;
|
||||||
bool hadexpire;
|
bool hadexpire;
|
||||||
uint32_t rolltime;
|
uint32_t rolltime;
|
||||||
|
double min_diff;
|
||||||
|
double max_diff;
|
||||||
|
double last_diff;
|
||||||
|
uint32_t min_diff_count;
|
||||||
|
uint32_t max_diff_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cgpu_info {
|
struct cgpu_info {
|
||||||
|
Loading…
Reference in New Issue
Block a user