diff --git a/pool/page_pplns.php b/pool/page_pplns.php index cbd76be8..116763aa 100644 --- a/pool/page_pplns.php +++ b/pool/page_pplns.php @@ -179,7 +179,11 @@ Block: 'Network Difficulty' => 'block_ndiff', 'PPLNS Factor' => 'diff_times', 'PPLNS Added' => 'diff_add', - 'Share Count' => 'share_count'); + 'Accepted Share Count' => 'acc_share_count', + 'Total Share Count' => 'total_share_count', + 'ShareSummary Count' => 'ss_count', + 'WorkMarkers Count' => 'wm_count', + 'MarkerSummary Count' => 'ms_count'); $pg = '
Blockchain '.$ans['block']."
\n"; diff --git a/src/ckdb.h b/src/ckdb.h index ab4fded8..b81f98c8 100644 --- a/src/ckdb.h +++ b/src/ckdb.h @@ -52,7 +52,7 @@ #define DB_VLOCK "1" #define DB_VERSION "0.9.5" -#define CKDB_VERSION DB_VERSION"-0.646" +#define CKDB_VERSION DB_VERSION"-0.647" #define WHERE_FFL " - from %s %s() line %d" #define WHERE_FFL_HERE __FILE__, __func__, __LINE__ diff --git a/src/ckdb_cmd.c b/src/ckdb_cmd.c index b9bddb32..c331eca2 100644 --- a/src/ckdb_cmd.c +++ b/src/ckdb_cmd.c @@ -2971,7 +2971,8 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, int32_t height; int64_t workinfoid, end_workinfoid = 0; int64_t begin_workinfoid; - int64_t share_count; + int64_t total_share_count, acc_share_count; + int64_t ss_count, wm_count, ms_count; char tv_buf[DATE_BUFSIZ]; tv_t cd, begin_tv, block_tv, end_tv; K_TREE_CTX ctx[1], wm_ctx[1], ms_ctx[1]; @@ -3044,6 +3045,8 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, } workinfoid = blocks->workinfoid; copy_tv(&block_tv, &(blocks->createdate)); + /* Last share should be the share that found it and match the createdate, + * or not long after it for shares accepted until the workinfo switch */ copy_tv(&end_tv, &(blocks->createdate)); w_item = find_workinfo(workinfoid); @@ -3064,8 +3067,9 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, } begin_workinfoid = 0; - share_count = 0; + total_share_count = acc_share_count = 0; total = 0; + ss_count = wm_count = ms_count = 0; mu_store = k_new_store(miningpayouts_free); mu_root = new_ktree(); @@ -3096,7 +3100,9 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, default: share_status = "Not ready1"; } - share_count += sharesummary->sharecount; + ss_count++; + total_share_count += sharesummary->sharecount; + acc_share_count += sharesummary->shareacc; total += (int64_t)(sharesummary->diffacc); begin_workinfoid = sharesummary->workinfoid; if (tv_newer(&end_tv, &(sharesummary->lastshare))) @@ -3122,7 +3128,9 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, else share_status = "Not ready1+2"; } - share_count++; + ss_count++; + total_share_count += sharesummary->sharecount; + acc_share_count += sharesummary->shareacc; total += (int64_t)(sharesummary->diffacc); mu_root = upd_add_mu(mu_root, mu_store, sharesummary->userid, @@ -3144,6 +3152,7 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, DATA_WORKMARKERS_NULL(workmarkers, wm_item); while (total < diff_want && wm_item && CURRENT(&(workmarkers->expirydate))) { if (WMREADY(workmarkers->status)) { + wm_count++; lookmarkersummary.markerid = workmarkers->markerid; lookmarkersummary.userid = MAXID; lookmarkersummary.workername = EMPTY; @@ -3156,7 +3165,9 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, while (ms_item && markersummary->markerid == workmarkers->markerid) { if (end_workinfoid == 0) end_workinfoid = workmarkers->workinfoidend; - share_count += markersummary->sharecount; + ms_count++; + total_share_count += markersummary->sharecount; + acc_share_count += markersummary->shareacc; total += (int64_t)(markersummary->diffacc); begin_workinfoid = workmarkers->workinfoidstart; if (tv_newer(&end_tv, &(markersummary->lastshare))) @@ -3308,7 +3319,17 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, APPEND_REALLOC(buf, off, len, tmp); snprintf(tmp, sizeof(tmp), "diff_want=%f%c", diff_want, FLDSEP); APPEND_REALLOC(buf, off, len, tmp); - snprintf(tmp, sizeof(tmp), "share_count=%"PRId64, share_count); + snprintf(tmp, sizeof(tmp), "acc_share_count=%"PRId64"%c", + acc_share_count, FLDSEP); + APPEND_REALLOC(buf, off, len, tmp); + snprintf(tmp, sizeof(tmp), "total_share_count=%"PRId64"%c", + total_share_count, FLDSEP); + APPEND_REALLOC(buf, off, len, tmp); + snprintf(tmp, sizeof(tmp), "ss_count=%"PRId64"%c", ss_count, FLDSEP); + APPEND_REALLOC(buf, off, len, tmp); + snprintf(tmp, sizeof(tmp), "wm_count=%"PRId64"%c", wm_count, FLDSEP); + APPEND_REALLOC(buf, off, len, tmp); + snprintf(tmp, sizeof(tmp), "ms_count=%"PRId64, ms_count); APPEND_REALLOC(buf, off, len, tmp); mu_root = free_ktree(mu_root, NULL);