From ccbfa247264200e34b27fb8cd0480757d04735fa Mon Sep 17 00:00:00 2001 From: Michele Marcucci Date: Thu, 15 Apr 2021 19:46:58 +0200 Subject: [PATCH] New minerstats ready --- backend/apollo-miner/miner_config | 2 +- .../graphqlModules/Miner/MinerStats.js | 14 ++++++++----- src/store/api/miner/minerStats.js | 21 +++++++++++++++---- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/backend/apollo-miner/miner_config b/backend/apollo-miner/miner_config index 98c389f..d0e7ab4 100644 --- a/backend/apollo-miner/miner_config +++ b/backend/apollo-miner/miner_config @@ -1 +1 @@ --host us-east.stratum.slushpool.com -port 3333 -user jstefanop.worker1 -brd_ocp 45 -osc 35 -fan_temp_hi 40 -fan_temp_low 60 \ No newline at end of file +-host us-east.stratum.slushpool.com -port 3333 -user jstefanop.worker1 -brd_ocp 50 -osc 46 -fan_temp_hi 50 -fan_temp_low 80 \ No newline at end of file diff --git a/src/graphql/graphqlModules/Miner/MinerStats.js b/src/graphql/graphqlModules/Miner/MinerStats.js index 62d19ab..22f5026 100644 --- a/src/graphql/graphqlModules/Miner/MinerStats.js +++ b/src/graphql/graphqlModules/Miner/MinerStats.js @@ -4,12 +4,16 @@ module.exports.typeDefs = ` } type MinerStatsOutput { - result: MinerStatsResult! + result: MinerStatsResult error: Error } type MinerStatsResult { - date: Date + stats: MinerStats! + } + + type MinerStats { + date: String statVersion: String versions: MinerStatsVersion master: MinerStatsMaster @@ -83,9 +87,9 @@ module.exports.typeDefs = ` sharesAccepted: Int sharesRejected: Int solutionsAccepted: Int - minRespTime: Int - avgRespTime: Int - maxRespTime: Int + minRespTime: Float + avgRespTime: Float + maxRespTime: Float shareLoss: Float poolTotal: Int inService: Int diff --git a/src/store/api/miner/minerStats.js b/src/store/api/miner/minerStats.js index 026ce5a..5202752 100644 --- a/src/store/api/miner/minerStats.js +++ b/src/store/api/miner/minerStats.js @@ -1,8 +1,8 @@ const { join } = require('path') const { exec } = require('child_process') -const normalize = require('normalize-object') const fs =require('fs'); const path = require('path') +const _ = require('lodash') module.exports = ({ define }) => { define('stats', async (payload, { knex, errors, utils }) => { @@ -30,10 +30,23 @@ function getMinerStats (errors) { received = JSON.parse(received); - // Normalize object keys to fit GraphQL and be code-friendly - const results = normalize(received, 'camel'); + received.master.intervals = _.mapKeys(received.master.intervals, (value, name) => { + return `int_${name}` + }); - resolve(results) + received.pool.intervals = _.mapKeys(received.pool.intervals, (value, name) => { + return `int_${name}` + }); + + received.fans = _.mapKeys(received.fans, (value, name) => { + return `int_${name}` + }); + + received.slots = _.mapKeys(received.slots, (value, name) => { + return `int_${name}` + }); + + resolve(received) } catch (err) { reject(new errors.InternalError(err.toString())); }