Skip to content

Commit

Permalink
Adding getstats to MrPool rpc
Browse files Browse the repository at this point in the history
  • Loading branch information
fireduck64 committed Jul 23, 2018
1 parent 383fd17 commit 058e11c
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 1 deletion.
2 changes: 1 addition & 1 deletion WORKSPACE
@@ -1,7 +1,7 @@
git_repository(
name = "duckutil",
remote = "https://github.com/fireduck64/duckutil",
tag = "v1.0.5",
tag = "v1.0.6",
)

maven_jar(
Expand Down
8 changes: 8 additions & 0 deletions miner/src/MiningPoolServiceAgent.java
Expand Up @@ -51,6 +51,14 @@ public void getWork(GetWorkRequest req, StreamObserver<WorkUnit> observer)

}

public int getMinerConnectionCount()
{
synchronized(miner_list)
{
return miner_list.size();
}
}

@Override
public void submitWork(WorkSubmitRequest req, StreamObserver<SubmitReply> observer)
{
Expand Down
1 change: 1 addition & 0 deletions miner/src/MrPlow.java
Expand Up @@ -287,6 +287,7 @@ public void stop()
public UserServiceBlockingStub getBlockingStub(){return blockingStub;}
public ShareManager getShareManager(){return share_manager;}
public ReportManager getReportManager(){return report_manager;}
public MiningPoolServiceAgent getAgent(){return agent;}

public void printStats()
{
Expand Down
33 changes: 33 additions & 0 deletions miner/src/MrPlowJsonHandler.java
Expand Up @@ -30,6 +30,7 @@ public MrPlowJsonHandler(MrPlow mr_plow)
public void registerHandlers(JsonRpcServer json_server)
{
json_server.register(new GetFoundBlockHandler());
json_server.register(new GetStatsHandler());

}
public class GetFoundBlockHandler extends JsonRequestHandler
Expand Down Expand Up @@ -68,6 +69,38 @@ protected JSONObject processRequest(JSONRPC2Request req, MessageContext ctx)
}


public class GetStatsHandler extends JsonRequestHandler
{
public String[] handledRequests()
{
return new String[]{"getstats"};
}

@Override
protected JSONObject processRequest(JSONRPC2Request req, MessageContext ctx)
throws Exception
{


JSONObject reply = new JSONObject();

int found_blocks = mr_plow.getDB().getSpecialMapSet().getSet(MrPlow.BLOCK_KEY, 100000).size();

reply.put("found_blocks" , found_blocks);

JSONObject rates = new JSONObject();
mr_plow.getReportManager().writeReportJson(rates);


reply.put("rates", rates);
reply.put("share_map", mr_plow.getShareManager().getShareMap());
reply.put("connections", mr_plow.getAgent().getMinerConnectionCount());


return reply;
}
}



}
30 changes: 30 additions & 0 deletions miner/src/ReportManager.java
Expand Up @@ -11,6 +11,8 @@
import java.util.Map;
import java.util.TreeSet;

import net.minidev.json.JSONObject;

public class ReportManager
{
private static final Logger logger = Logger.getLogger("snowblossom.miner");
Expand Down Expand Up @@ -41,6 +43,34 @@ public RateReporter getTotalRate()
return total;
}

public synchronized void writeReportJson(JSONObject json)
{
json.put("total", total.getRawRates());

JSONObject miners = new JSONObject();

TreeSet<String> to_remove = new TreeSet<>();
for(Map.Entry<String, RateReporter> me : rate_map.entrySet())
{
if (me.getValue().isZero())
{
to_remove.add(me.getKey());
}
else
{
miners.put(me.getKey(), me.getValue().getRawRates());
}
}

for(String k : to_remove)
{
rate_map.remove(k);
}

json.put("miners", miners);

}

public synchronized void writeReport(String path)
{
try
Expand Down
5 changes: 5 additions & 0 deletions miner/src/ShareManager.java
Expand Up @@ -76,6 +76,11 @@ public synchronized PPLNSState getState()
return PPLNSState.newBuilder().addAllShareEntries(share_queue).build();
}

public synchronized Map<String, Long> getShareMap()
{
return ImmutableMap.copyOf(share_map);
}

public synchronized Map<String, Double> getPayRatios()
{
TreeMap<String, Double> ratio_map = new TreeMap<>();
Expand Down

0 comments on commit 058e11c

Please sign in to comment.