This commit is contained in:
MoneroOcean 2019-12-04 10:52:07 -08:00
commit f3e6423e9d
28 changed files with 65 additions and 72 deletions

View file

@ -31,10 +31,11 @@
#endif
#include "3rdparty/http-parser/http_parser.h"
#include "base/api/Api.h"
#include "3rdparty/http-parser/http_parser.h"
#include "base/api/interfaces/IApiListener.h"
#include "base/api/requests/HttpApiRequest.h"
#include "base/io/json/Json.h"
#include "base/kernel/Base.h"
#include "base/tools/Buffer.h"
#include "base/tools/Chrono.h"
@ -73,9 +74,10 @@ static rapidjson::Value getResources(rapidjson::Document &doc)
double loadavg[3] = { 0.0 };
uv_loadavg(loadavg);
load_average.PushBack(loadavg[0], allocator);
load_average.PushBack(loadavg[1], allocator);
load_average.PushBack(loadavg[2], allocator);
for (double value : loadavg) {
load_average.PushBack(Json::normalize(value, true), allocator);
}
out.AddMember("memory", memory, allocator);
out.AddMember("load_average", load_average, allocator);
@ -182,6 +184,9 @@ void xmrig::Api::exec(IApiRequest &request)
# endif
# ifdef XMRIG_FEATURE_OPENCL
features.PushBack("opencl", allocator);
# endif
# ifdef XMRIG_FEATURE_CUDA
features.PushBack("cuda", allocator);
# endif
reply.AddMember("features", features, allocator);
}

View file

@ -28,6 +28,7 @@
#include <cassert>
#include <cmath>
namespace xmrig {
@ -154,6 +155,18 @@ unsigned xmrig::Json::getUint(const rapidjson::Value &obj, const char *key, unsi
}
rapidjson::Value xmrig::Json::normalize(double value, bool zero)
{
using namespace rapidjson;
if (!std::isnormal(value)) {
return zero ? Value(0.0) : Value(kNullType);
}
return Value(floor(value * 100.0) / 100.0);
}
bool xmrig::JsonReader::isEmpty() const
{
return !m_obj.IsObject() || m_obj.ObjectEmpty();

View file

@ -48,6 +48,8 @@ public:
static bool get(const char *fileName, rapidjson::Document &doc);
static bool save(const char *fileName, const rapidjson::Document &doc);
static rapidjson::Value normalize(double value, bool zero);
};

View file

@ -176,10 +176,6 @@ int xmrig::Base::init()
Platform::init(config()->userAgent());
# ifndef XMRIG_PROXY_PROJECT
Platform::setProcessPriority(config()->cpu().priority());
# endif
if (isBackground()) {
Log::background = true;
}

View file

@ -51,7 +51,6 @@ public:
static uint32_t setTimerResolution(uint32_t resolution);
static void init(const char *userAgent);
static void restoreTimerResolution();
static void setProcessPriority(int priority);
static void setThreadPriority(int priority);
static inline const char *userAgent() { return m_userAgent; }

View file

@ -83,11 +83,6 @@ void xmrig::Platform::restoreTimerResolution()
}
void xmrig::Platform::setProcessPriority(int priority)
{
}
void xmrig::Platform::setThreadPriority(int priority)
{
if (priority == -1) {

View file

@ -111,11 +111,6 @@ void xmrig::Platform::restoreTimerResolution()
}
void xmrig::Platform::setProcessPriority(int priority)
{
}
void xmrig::Platform::setThreadPriority(int priority)
{
if (priority == -1) {

View file

@ -131,43 +131,6 @@ void xmrig::Platform::restoreTimerResolution()
}
void xmrig::Platform::setProcessPriority(int priority)
{
if (priority == -1) {
return;
}
DWORD prio = IDLE_PRIORITY_CLASS;
switch (priority)
{
case 1:
prio = BELOW_NORMAL_PRIORITY_CLASS;
break;
case 2:
prio = NORMAL_PRIORITY_CLASS;
break;
case 3:
prio = ABOVE_NORMAL_PRIORITY_CLASS;
break;
case 4:
prio = HIGH_PRIORITY_CLASS;
break;
case 5:
prio = REALTIME_PRIORITY_CLASS;
break;
default:
break;
}
SetPriorityClass(GetCurrentProcess(), prio);
}
void xmrig::Platform::setThreadPriority(int priority)
{
if (priority == -1) {

View file

@ -95,6 +95,7 @@ public:
RandomXModeKey = 1029,
CPUMaxThreadsKey = 1026,
MemoryPoolKey = 1027,
YieldKey = 1030,
// xmrig amd
OclPlatformKey = 1400,