1
|
|
|
|
2
|
|
|
class MinerStatistics(object): |
3
|
|
|
'''Statistics for a miner |
4
|
|
|
temperature and hash |
5
|
|
|
''' |
6
|
|
|
def __init__(self, miner, when=None, minercount=0, currenthash=0, |
7
|
|
|
controllertemp=0, |
8
|
|
|
tempboard1=0, tempboard2=0, tempboard3=0, |
9
|
|
|
elapsed=0, |
10
|
|
|
fan1='', fan2='', fan3='', |
11
|
|
|
boardstatus1='', boardstatus2='', boardstatus3='', |
12
|
|
|
frequency='', rawstats=None): |
13
|
|
|
self.miner = miner |
14
|
|
|
self.when = when |
15
|
|
|
self.minercount = minercount |
16
|
|
|
self.currenthash = currenthash |
17
|
|
|
self.controllertemp = controllertemp |
18
|
|
|
self.tempboard1 = tempboard1 |
19
|
|
|
self.tempboard2 = tempboard2 |
20
|
|
|
self.tempboard3 = tempboard3 |
21
|
|
|
self.elapsed = elapsed |
22
|
|
|
self.fan1 = fan1 |
23
|
|
|
self.fan2 = fan2 |
24
|
|
|
self.fan3 = fan3 |
25
|
|
|
self.boardstatus1 = boardstatus1 |
26
|
|
|
self.boardstatus2 = boardstatus2 |
27
|
|
|
self.boardstatus3 = boardstatus3 |
28
|
|
|
self.frequency = frequency |
29
|
|
|
self.rawstats = rawstats |
30
|
|
|
|
31
|
|
|
def tempboardmax(self): |
32
|
|
|
return max(self.tempboard1, self.tempboard2, self.tempboard3) |
33
|
|
|
|
34
|
|
|
def format_elapsed(self): |
35
|
|
|
seconds = self.elapsed |
36
|
|
|
numdays = seconds // 86400 |
37
|
|
|
numhours = (seconds % 86400) // 3600 |
38
|
|
|
numminutes = ((seconds % 86400) % 3600) // 60 |
39
|
|
|
numseconds = ((seconds % 86400) % 3600) % 60 |
40
|
|
|
return '{0}:{1}:{2}:{3}'.format(numdays, numhours, numminutes, numseconds) |
41
|
|
|
|
42
|
|
|
def stats_summary(self): |
43
|
|
|
return '{0} {1}/{2} {3}'.format(self.currenthash, self.controllertemp, self.tempboardmax(), self.format_elapsed()) |
44
|
|
|
|
45
|
|
|
|