specter 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +37 -0
- data/Rakefile +27 -0
- data/bin/specter +5 -0
- data/lib/specter.rb +10 -0
- data/lib/specter/cli.rb +94 -0
- data/lib/specter/env.rb +22 -0
- data/lib/specter/fixtures/coin.json +21 -0
- data/lib/specter/fixtures/config.json +28 -0
- data/lib/specter/fixtures/devdetails.json +41 -0
- data/lib/specter/fixtures/devs.json +113 -0
- data/lib/specter/fixtures/gpu.json +47 -0
- data/lib/specter/fixtures/gpucount.json +17 -0
- data/lib/specter/fixtures/notify.json +68 -0
- data/lib/specter/fixtures/pools.json +110 -0
- data/lib/specter/fixtures/stats.json +161 -0
- data/lib/specter/fixtures/summary.json +43 -0
- data/lib/specter/fixtures/version.json +18 -0
- data/lib/specter/middleware.rb +22 -0
- data/lib/specter/middleware/base.rb +14 -0
- data/lib/specter/middleware/fixture.rb +32 -0
- data/lib/specter/middleware/missing.rb +25 -0
- data/lib/specter/middleware/proxy.rb +25 -0
- data/lib/specter/request.rb +40 -0
- data/lib/specter/server.rb +77 -0
- data/lib/specter/version.rb +3 -0
- data/specter.gemspec +28 -0
- metadata +165 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
{
|
2
|
+
"STATUS": [
|
3
|
+
{
|
4
|
+
"STATUS": "S",
|
5
|
+
"When": 1397042259,
|
6
|
+
"Code": 17,
|
7
|
+
"Msg": "GPU0",
|
8
|
+
"Description": "specter 0.1.0"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"GPU": [
|
12
|
+
{
|
13
|
+
"GPU": 0,
|
14
|
+
"Enabled": "Y",
|
15
|
+
"Status": "Alive",
|
16
|
+
"Temperature": 76.0,
|
17
|
+
"Fan Speed": -1,
|
18
|
+
"Fan Percent": 99,
|
19
|
+
"GPU Clock": 944,
|
20
|
+
"Memory Clock": 1500,
|
21
|
+
"GPU Voltage": 0.0,
|
22
|
+
"GPU Activity": 100,
|
23
|
+
"Powertune": 30,
|
24
|
+
"MHS av": 0.9292,
|
25
|
+
"MHS 5s": 0.9307,
|
26
|
+
"KHS av": 929,
|
27
|
+
"KHS 5s": 931,
|
28
|
+
"Accepted": 1149,
|
29
|
+
"Rejected": 1,
|
30
|
+
"Hardware Errors": 0,
|
31
|
+
"Utility": 1.6708,
|
32
|
+
"Intensity": "0",
|
33
|
+
"Last Share Pool": 0,
|
34
|
+
"Last Share Time": 1397042234,
|
35
|
+
"Total MH": 38338.9389,
|
36
|
+
"Diff1 Work": 590236,
|
37
|
+
"Difficulty Accepted": 588288.0,
|
38
|
+
"Difficulty Rejected": 512.0,
|
39
|
+
"Last Share Difficulty": 512.0,
|
40
|
+
"Last Valid Work": 1397042233,
|
41
|
+
"Device Hardware%": 0.0,
|
42
|
+
"Device Rejected%": 0.0867,
|
43
|
+
"Device Elapsed": 41261
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"id": 1
|
47
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
{
|
2
|
+
"STATUS": [
|
3
|
+
{
|
4
|
+
"STATUS": "S",
|
5
|
+
"When": 1397042713,
|
6
|
+
"Code": 60,
|
7
|
+
"Msg": "Notify",
|
8
|
+
"Description": "specter 0.1.0"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"NOTIFY": [
|
12
|
+
{
|
13
|
+
"NOTIFY": 0,
|
14
|
+
"Name": "GPU",
|
15
|
+
"ID": 0,
|
16
|
+
"Last Well": 1397042713,
|
17
|
+
"Last Not Well": 0,
|
18
|
+
"Reason Not Well": "None",
|
19
|
+
"*Thread Fail Init": 0,
|
20
|
+
"*Thread Zero Hash": 0,
|
21
|
+
"*Thread Fail Queue": 0,
|
22
|
+
"*Dev Sick Idle 60s": 0,
|
23
|
+
"*Dev Dead Idle 600s": 0,
|
24
|
+
"*Dev Nostart": 0,
|
25
|
+
"*Dev Over Heat": 0,
|
26
|
+
"*Dev Thermal Cutoff": 0,
|
27
|
+
"*Dev Comms Error": 0,
|
28
|
+
"*Dev Throttle": 0
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"NOTIFY": 1,
|
32
|
+
"Name": "GPU",
|
33
|
+
"ID": 1,
|
34
|
+
"Last Well": 1397042713,
|
35
|
+
"Last Not Well": 0,
|
36
|
+
"Reason Not Well": "None",
|
37
|
+
"*Thread Fail Init": 0,
|
38
|
+
"*Thread Zero Hash": 0,
|
39
|
+
"*Thread Fail Queue": 0,
|
40
|
+
"*Dev Sick Idle 60s": 0,
|
41
|
+
"*Dev Dead Idle 600s": 0,
|
42
|
+
"*Dev Nostart": 0,
|
43
|
+
"*Dev Over Heat": 0,
|
44
|
+
"*Dev Thermal Cutoff": 0,
|
45
|
+
"*Dev Comms Error": 0,
|
46
|
+
"*Dev Throttle": 0
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"NOTIFY": 2,
|
50
|
+
"Name": "GPU",
|
51
|
+
"ID": 2,
|
52
|
+
"Last Well": 1397042713,
|
53
|
+
"Last Not Well": 0,
|
54
|
+
"Reason Not Well": "None",
|
55
|
+
"*Thread Fail Init": 0,
|
56
|
+
"*Thread Zero Hash": 0,
|
57
|
+
"*Thread Fail Queue": 0,
|
58
|
+
"*Dev Sick Idle 60s": 0,
|
59
|
+
"*Dev Dead Idle 600s": 0,
|
60
|
+
"*Dev Nostart": 0,
|
61
|
+
"*Dev Over Heat": 0,
|
62
|
+
"*Dev Thermal Cutoff": 0,
|
63
|
+
"*Dev Comms Error": 0,
|
64
|
+
"*Dev Throttle": 0
|
65
|
+
}
|
66
|
+
],
|
67
|
+
"id": 1
|
68
|
+
}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
{
|
2
|
+
"STATUS": [
|
3
|
+
{
|
4
|
+
"STATUS": "S",
|
5
|
+
"When": 1397042610,
|
6
|
+
"Code": 7,
|
7
|
+
"Msg": "3 Pool(s)",
|
8
|
+
"Description": "specter 0.1.0"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"POOLS": [
|
12
|
+
{
|
13
|
+
"POOL": 0,
|
14
|
+
"URL": "stratum+tcp://uswest.wafflepool.com:3333",
|
15
|
+
"Status": "Alive",
|
16
|
+
"Priority": 0,
|
17
|
+
"Quota": 1,
|
18
|
+
"Long Poll": "N",
|
19
|
+
"Getworks": 2843,
|
20
|
+
"Accepted": 3474,
|
21
|
+
"Rejected": 6,
|
22
|
+
"Works": 17241,
|
23
|
+
"Discarded": 5700,
|
24
|
+
"Stale": 0,
|
25
|
+
"Get Failures": 0,
|
26
|
+
"Remote Failures": 0,
|
27
|
+
"User": "x",
|
28
|
+
"Last Share Time": 1397042606,
|
29
|
+
"Diff1 Shares": 1783444,
|
30
|
+
"Proxy Type": "",
|
31
|
+
"Proxy": "",
|
32
|
+
"Difficulty Accepted": 1778688.0,
|
33
|
+
"Difficulty Rejected": 3072.0,
|
34
|
+
"Difficulty Stale": 0.0,
|
35
|
+
"Last Share Difficulty": 512.0,
|
36
|
+
"Has Stratum": true,
|
37
|
+
"Stratum Active": true,
|
38
|
+
"Stratum URL": "uswest.wafflepool.com",
|
39
|
+
"Has GBT": false,
|
40
|
+
"Best Share": 4337340,
|
41
|
+
"Pool Rejected%": 0.1724,
|
42
|
+
"Pool Stale%": 0.0
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"POOL": 1,
|
46
|
+
"URL": "stratum+tcp://us-west2.multipool.us:3352",
|
47
|
+
"Status": "Alive",
|
48
|
+
"Priority": 1,
|
49
|
+
"Quota": 1,
|
50
|
+
"Long Poll": "N",
|
51
|
+
"Getworks": 2,
|
52
|
+
"Accepted": 0,
|
53
|
+
"Rejected": 0,
|
54
|
+
"Works": 0,
|
55
|
+
"Discarded": 0,
|
56
|
+
"Stale": 0,
|
57
|
+
"Get Failures": 0,
|
58
|
+
"Remote Failures": 0,
|
59
|
+
"User": "y",
|
60
|
+
"Last Share Time": 0,
|
61
|
+
"Diff1 Shares": 0,
|
62
|
+
"Proxy Type": "",
|
63
|
+
"Proxy": "",
|
64
|
+
"Difficulty Accepted": 0.0,
|
65
|
+
"Difficulty Rejected": 0.0,
|
66
|
+
"Difficulty Stale": 0.0,
|
67
|
+
"Last Share Difficulty": 0.0,
|
68
|
+
"Has Stratum": true,
|
69
|
+
"Stratum Active": false,
|
70
|
+
"Stratum URL": "",
|
71
|
+
"Has GBT": false,
|
72
|
+
"Best Share": 0,
|
73
|
+
"Pool Rejected%": 0.0,
|
74
|
+
"Pool Stale%": 0.0
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"POOL": 2,
|
78
|
+
"URL": "stratum+tcp://uswest.middlecoin.com:3333",
|
79
|
+
"Status": "Alive",
|
80
|
+
"Priority": 2,
|
81
|
+
"Quota": 1,
|
82
|
+
"Long Poll": "N",
|
83
|
+
"Getworks": 1,
|
84
|
+
"Accepted": 0,
|
85
|
+
"Rejected": 0,
|
86
|
+
"Works": 0,
|
87
|
+
"Discarded": 0,
|
88
|
+
"Stale": 0,
|
89
|
+
"Get Failures": 0,
|
90
|
+
"Remote Failures": 0,
|
91
|
+
"User": "z",
|
92
|
+
"Last Share Time": 0,
|
93
|
+
"Diff1 Shares": 0,
|
94
|
+
"Proxy Type": "",
|
95
|
+
"Proxy": "",
|
96
|
+
"Difficulty Accepted": 0.0,
|
97
|
+
"Difficulty Rejected": 0.0,
|
98
|
+
"Difficulty Stale": 0.0,
|
99
|
+
"Last Share Difficulty": 0.0,
|
100
|
+
"Has Stratum": true,
|
101
|
+
"Stratum Active": false,
|
102
|
+
"Stratum URL": "",
|
103
|
+
"Has GBT": false,
|
104
|
+
"Best Share": 0,
|
105
|
+
"Pool Rejected%": 0.0,
|
106
|
+
"Pool Stale%": 0.0
|
107
|
+
}
|
108
|
+
],
|
109
|
+
"id": 1
|
110
|
+
}
|
@@ -0,0 +1,161 @@
|
|
1
|
+
{
|
2
|
+
"STATUS": [
|
3
|
+
{
|
4
|
+
"STATUS": "S",
|
5
|
+
"When": 1397043332,
|
6
|
+
"Code": 70,
|
7
|
+
"Msg": "specter stats",
|
8
|
+
"Description": "specter 0.1.0"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"STATS": [
|
12
|
+
{
|
13
|
+
"STATS": 0,
|
14
|
+
"ID": "GPU0",
|
15
|
+
"Elapsed": 42335,
|
16
|
+
"Calls": 3492324,
|
17
|
+
"Wait": 62.173396,
|
18
|
+
"Max": 1.043112,
|
19
|
+
"Min": 2.0e-06
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"STATS": 1,
|
23
|
+
"ID": "GPU1",
|
24
|
+
"Elapsed": 42335,
|
25
|
+
"Calls": 3420082,
|
26
|
+
"Wait": 55.156356,
|
27
|
+
"Max": 1.070952,
|
28
|
+
"Min": 2.0e-06
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"STATS": 2,
|
32
|
+
"ID": "GPU2",
|
33
|
+
"Elapsed": 42335,
|
34
|
+
"Calls": 3493804,
|
35
|
+
"Wait": 62.385134,
|
36
|
+
"Max": 1.09753,
|
37
|
+
"Min": 2.0e-06
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"STATS": 3,
|
41
|
+
"ID": "POOL0",
|
42
|
+
"Elapsed": 42335,
|
43
|
+
"Calls": 10353349,
|
44
|
+
"Wait": 177.830822,
|
45
|
+
"Max": 1.09753,
|
46
|
+
"Min": 2.0e-06,
|
47
|
+
"Pool Calls": 0,
|
48
|
+
"Pool Attempts": 0,
|
49
|
+
"Pool Wait": 0.0,
|
50
|
+
"Pool Max": 0.0,
|
51
|
+
"Pool Min": 99999999.0,
|
52
|
+
"Pool Av": 0.0,
|
53
|
+
"Work Had Roll Time": false,
|
54
|
+
"Work Can Roll": false,
|
55
|
+
"Work Had Expire": false,
|
56
|
+
"Work Roll Time": 0,
|
57
|
+
"Work Diff": 512.0,
|
58
|
+
"Min Diff": 512.0,
|
59
|
+
"Max Diff": 512.0,
|
60
|
+
"Min Diff Count": 25054,
|
61
|
+
"Max Diff Count": 25054,
|
62
|
+
"Times Sent": 3547,
|
63
|
+
"Bytes Sent": 472798,
|
64
|
+
"Times Recv": 6436,
|
65
|
+
"Bytes Recv": 1808797,
|
66
|
+
"Net Bytes Sent": 472798,
|
67
|
+
"Net Bytes Recv": 1808797
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"STATS": 4,
|
71
|
+
"ID": "POOL1",
|
72
|
+
"Elapsed": 42335,
|
73
|
+
"Calls": 0,
|
74
|
+
"Wait": 0.0,
|
75
|
+
"Max": 0.0,
|
76
|
+
"Min": 99999999.0,
|
77
|
+
"Pool Calls": 0,
|
78
|
+
"Pool Attempts": 0,
|
79
|
+
"Pool Wait": 0.0,
|
80
|
+
"Pool Max": 0.0,
|
81
|
+
"Pool Min": 99999999.0,
|
82
|
+
"Pool Av": 0.0,
|
83
|
+
"Work Had Roll Time": false,
|
84
|
+
"Work Can Roll": false,
|
85
|
+
"Work Had Expire": false,
|
86
|
+
"Work Roll Time": 0,
|
87
|
+
"Work Diff": 128.0,
|
88
|
+
"Min Diff": 128.0,
|
89
|
+
"Max Diff": 128.0,
|
90
|
+
"Min Diff Count": 1,
|
91
|
+
"Max Diff Count": 1,
|
92
|
+
"Times Sent": 2,
|
93
|
+
"Bytes Sent": 153,
|
94
|
+
"Times Recv": 6,
|
95
|
+
"Bytes Recv": 1436,
|
96
|
+
"Net Bytes Sent": 153,
|
97
|
+
"Net Bytes Recv": 1436
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"STATS": 5,
|
101
|
+
"ID": "POOL2",
|
102
|
+
"Elapsed": 42335,
|
103
|
+
"Calls": 0,
|
104
|
+
"Wait": 0.0,
|
105
|
+
"Max": 0.0,
|
106
|
+
"Min": 99999999.0,
|
107
|
+
"Pool Calls": 0,
|
108
|
+
"Pool Attempts": 0,
|
109
|
+
"Pool Wait": 0.0,
|
110
|
+
"Pool Max": 0.0,
|
111
|
+
"Pool Min": 99999999.0,
|
112
|
+
"Pool Av": 0.0,
|
113
|
+
"Work Had Roll Time": false,
|
114
|
+
"Work Can Roll": false,
|
115
|
+
"Work Had Expire": false,
|
116
|
+
"Work Roll Time": 0,
|
117
|
+
"Work Diff": 0.0,
|
118
|
+
"Min Diff": 0.0,
|
119
|
+
"Max Diff": 0.0,
|
120
|
+
"Min Diff Count": 0,
|
121
|
+
"Max Diff Count": 0,
|
122
|
+
"Times Sent": 2,
|
123
|
+
"Bytes Sent": 164,
|
124
|
+
"Times Recv": 4,
|
125
|
+
"Bytes Recv": 627,
|
126
|
+
"Net Bytes Sent": 164,
|
127
|
+
"Net Bytes Recv": 627
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"STATS": 6,
|
131
|
+
"ID": "POOL3",
|
132
|
+
"Elapsed": 42335,
|
133
|
+
"Calls": 0,
|
134
|
+
"Wait": 0.0,
|
135
|
+
"Max": 0.0,
|
136
|
+
"Min": 99999999.0,
|
137
|
+
"Pool Calls": 0,
|
138
|
+
"Pool Attempts": 0,
|
139
|
+
"Pool Wait": 0.0,
|
140
|
+
"Pool Max": 0.0,
|
141
|
+
"Pool Min": 99999999.0,
|
142
|
+
"Pool Av": 0.0,
|
143
|
+
"Work Had Roll Time": false,
|
144
|
+
"Work Can Roll": false,
|
145
|
+
"Work Had Expire": false,
|
146
|
+
"Work Roll Time": 0,
|
147
|
+
"Work Diff": 0.0,
|
148
|
+
"Min Diff": 0.0,
|
149
|
+
"Max Diff": 0.0,
|
150
|
+
"Min Diff Count": 0,
|
151
|
+
"Max Diff Count": 0,
|
152
|
+
"Times Sent": 2,
|
153
|
+
"Bytes Sent": 164,
|
154
|
+
"Times Recv": 4,
|
155
|
+
"Bytes Recv": 627,
|
156
|
+
"Net Bytes Sent": 164,
|
157
|
+
"Net Bytes Recv": 627
|
158
|
+
}
|
159
|
+
],
|
160
|
+
"id": 1
|
161
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
"STATUS": [
|
3
|
+
{
|
4
|
+
"STATUS": "S",
|
5
|
+
"When": 1397042596,
|
6
|
+
"Code": 11,
|
7
|
+
"Msg": "Summary",
|
8
|
+
"Description": "specter 0.1.0"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"SUMMARY": [
|
12
|
+
{
|
13
|
+
"Elapsed": 41601,
|
14
|
+
"MHS av": 2.7686,
|
15
|
+
"MHS 5s": 2.7788,
|
16
|
+
"KHS av": 2769,
|
17
|
+
"KHS 5s": 2779,
|
18
|
+
"Found Blocks": 0,
|
19
|
+
"Getworks": 2846,
|
20
|
+
"Accepted": 3473,
|
21
|
+
"Rejected": 6,
|
22
|
+
"Hardware Errors": 0,
|
23
|
+
"Utility": 5.009,
|
24
|
+
"Discarded": 5698,
|
25
|
+
"Stale": 0,
|
26
|
+
"Get Failures": 0,
|
27
|
+
"Local Work": 24664,
|
28
|
+
"Remote Failures": 0,
|
29
|
+
"Network Blocks": 1562,
|
30
|
+
"Total MH": 115173.7129,
|
31
|
+
"Work Utility": 2571.4913,
|
32
|
+
"Difficulty Accepted": 1778176.0,
|
33
|
+
"Difficulty Rejected": 3072.0,
|
34
|
+
"Difficulty Stale": 0.0,
|
35
|
+
"Best Share": 4337340,
|
36
|
+
"Device Hardware%": 0.0,
|
37
|
+
"Device Rejected%": 0.1723,
|
38
|
+
"Pool Rejected%": 0.1725,
|
39
|
+
"Pool Stale%": 0.0
|
40
|
+
}
|
41
|
+
],
|
42
|
+
"id": 1
|
43
|
+
}
|