Merge pull request #769 from nrpatten/stats-test

Stats test
This commit is contained in:
Sebastian Grewe 2013-10-26 18:55:11 -07:00
commit a0d30664f2
6 changed files with 60 additions and 7 deletions

View File

@ -32,10 +32,26 @@ $statistics->setGetCache(true);
$dPoolHashrateAdjusted = $dPoolHashrate * $dPoolHashrateModifier;
$dNetworkHashrateAdjusted = $dNetworkHashrate / 1000 * $dNetworkHashrateModifier;
// Use caches for this one
$aRoundShares = $statistics->getRoundShares();
$iTotalRoundShares = $aRoundShares['valid'] + $aRoundShares['invalid'];
if ($iTotalRoundShares > 0) {
$dUserInvalidPercent = round($aUserRoundShares['invalid'] / $iTotalRoundShares * 100, 2);
$dPoolInvalidPercent = round($aRoundShares['invalid'] / $iTotalRoundShares * 100, 2);
} else {
$dUserInvalidPercent = 0;
$dPoolInvalidPercent = 0;
}
// Round progress
$iEstShares = round((65536 * $dDifficulty) / pow(2, ($config['difficulty'] - 16)));
$dEstPercent = round(100 / $iEstShares * $aRoundShares['valid'], 2);
// Output JSON format
$data = array(
'raw' => array( 'workers' => $worker->getCountAllActiveWorkers(), 'pool' => array( 'hashrate' => $dPoolHashrate ) ),
'pool' => array( 'workers' => $worker->getCountAllActiveWorkers(), 'hashrate' => $dPoolHashrateAdjusted ),
'pool' => array( 'workers' => $worker->getCountAllActiveWorkers(), 'hashrate' => $dPoolHashrateAdjusted, 'estimated' => $iEstShares, 'progress' => $dEstPercent ),
'network' => array( 'hashrate' => $dNetworkHashrateAdjusted, 'difficulty' => $dDifficulty, 'block' => $iBlock ),
);
echo $api->get_json($data);

View File

@ -146,10 +146,11 @@ $(document).ready(function(){
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
$('#b-yvalid').html(data.getdashboarddata.data.personal.shares.valid);
$('#b-yivalid').html(data.getdashboarddata.data.personal.shares.invalid + " (" + data.getdashboarddata.data.personal.shares.invalid_percent + "%)" );
$('#b-pvalid').html(data.getdashboarddata.data.pool.shares.valid + " (est: " + data.getdashboarddata.data.pool.shares.progress + "%)");
$('#b-pvalid').html(data.getdashboarddata.data.pool.shares.valid);
$('#b-pivalid').html(data.getdashboarddata.data.pool.shares.invalid + " (" + data.getdashboarddata.data.pool.shares.invalid_percent + "%)" );
$('#b-diff').html(data.getdashboarddata.data.network.difficulty);
$('#b-nblock').html(data.getdashboarddata.data.network.block);
$('#b-target').html(data.getdashboarddata.data.pool.shares.estimated + " (done: " + data.getdashboarddata.data.pool.shares.progress + "%)" );
{/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }
$('#b-payout').html((parseFloat(data.getdashboarddata.data.personal.estimates.payout).toFixed(4)));
$('#b-block').html((parseFloat(data.getdashboarddata.data.personal.estimates.block).toFixed(4)));

View File

@ -1,6 +1,10 @@
<tr>
<td colspan="2"><b><u>Round Shares</u></b> <span id='tt'><img src='{$PATH}/images/questionmark.png' height='15px' width='15px' title='Submitted shares since last found block (ie. round shares)'></span></td>
</tr>
<tr>
<td><b>Est. Shares</b></td>
<td id="b-target" class="right"></td>
</tr>
<tr>
<td><b>Pool Valid</b></td>
<td id="b-pvalid" class="right"></td>

View File

@ -0,0 +1,30 @@
<script>
{literal}
$(document).ready(function(){
// Ajax API URL
var url = "{/literal}{$smarty.server.PHP_SELF}?page=api&action=getnavbardata{literal}";
function refreshStaticData(data) {
$('#b-workers').html((parseFloat(data.getnavbardata.data.pool.workers).toFixed(0)));
$('#b-hashrate').html((parseFloat(data.getnavbardata.data.pool.hashrate).toFixed(3)));
$('#b-target').html(data.getnavbardata.data.pool.estimated + " (done: " + data.getnavbardata.data.pool.progress + "%)");
$('#b-diff').html(data.getnavbardata.data.network.difficulty);
}
// Our worker process to keep gauges and graph updated
(function worker() {
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
refreshStaticData(data);
},
complete: function() {
setTimeout(worker, {/literal}{($GLOBAL.config.statistics_ajax_refresh_interval * 1000)|default:"10000"}{literal})
}
});
})();
});
{/literal}
</script>

View File

@ -5,3 +5,5 @@
{include file="statistics/pool/general_stats.tpl"}
{include file="statistics/blocks/small_table.tpl" ALIGN="right" SHORT=true}
{include file="statistics/js.tpl"}

View File

@ -5,7 +5,7 @@
<tbody>
<tr>
<th align="left" width="30%">Pool Hash Rate</th>
<td width="70%">{($GLOBAL.hashrate)|number_format:"3"} {$GLOBAL.hashunits.pool}</td>
<td width="70%"><span id="b-hashrate"></span> {$GLOBAL.hashunits.pool}</td>
</tr>
<tr>
<th align="left">Pool Efficiency</td>
@ -13,7 +13,7 @@
</tr>
<tr>
<th align="left">Current Active Workers</td>
<td>{$GLOBAL.workers}</td>
<td id="b-workers"></td>
</tr>
{if ! $GLOBAL.website.blockexplorer.disabled}
<tr>
@ -33,9 +33,9 @@
<tr>
<th align="left">Current Difficulty</td>
{if ! $GLOBAL.website.chaininfo.disabled}
<td><a href="{$GLOBAL.website.chaininfo.url}" target="_new"><font size="2">{$DIFFICULTY}</font></a></td>
<td><a href="{$GLOBAL.website.chaininfo.url}" target="_new"><font size="2"><span id="b-diff"></span></font></a></td>
{else}
<td><font size="2">{$DIFFICULTY}</font></td>
<td><font size="2"><span id="b-diff"></span></font></td>
{/if}
</tr>
<tr>
@ -44,7 +44,7 @@
</tr>
<tr>
<th align="left">Est. Shares this Round</td>
<td>{(pow(2, 32 - $GLOBAL.config.targetdiff) * $DIFFICULTY)|number_format:"0"} <font size="1">(done: {(100 / (pow(2, 32 - $GLOBAL.config.targetdiff) * $DIFFICULTY) * $GLOBAL.roundshares.valid)|number_format:"2"} %)</td>
<td id="b-target"></td>
</tr>
<tr>
<th align="left">Time Since Last Block</td>