in nodemanager/core/Monitor.cpp [450:511]
json::value Monitor::GetRegisterInfo()
{
ReaderLock lock(&this->lock);
if (!this->isCollected)
{
return json::value::null();
}
json::value j;
j["NodeName"] = json::value::string(this->name);
j["Time"] = json::value::string(this->metricTime);
j["IpAddress"] = json::value::string(this->ipAddress);
j["CoreCount"] = this->coreCount;
j["SocketCount"] = this->socketCount;
j["MemoryMegabytes"] = this->totalMemoryMb;
j["DistroInfo"] = json::value::string(this->distroInfo);
std::vector<json::value> networkValues;
for (const auto& info : this->networkInfo)
{
json::value v;
v["Name"] = json::value::string(std::get<0>(info));
v["MacAddress"] = json::value::string(std::get<1>(info));
v["IpV4"] = json::value::string(std::get<2>(info));
v["IpV6"] = json::value::string(std::get<3>(info));
v["IsIB"] = std::get<4>(info);
networkValues.push_back(v);
}
j["NetworksInfo"] = json::value::array(networkValues);
std::vector<json::value> gpuValues;
for (const auto& info : this->gpuInfo.GpuInfos)
{
json::value v;
v["Name"] = json::value::string(info.Name);
v["Uuid"] = json::value::string(info.Uuid);
v["PciBusDevice"] = json::value::string(info.GetPciBusDevice());
v["PciBusId"] = json::value::string(info.PciBusId);
v["TotalMemory"] = info.TotalMemoryMB;
v["MaxSMClock"] = info.MaxSMClock;
gpuValues.push_back(v);
}
j["GpuInfo"] = json::value::array(gpuValues);
if (!this->azureInstanceMetadata.empty())
{
j["AzureInstanceMetadata"] = json::value::string(this->azureInstanceMetadata);
}
j["CcpVersion"] = json::value::string(Version::GetVersion());
j["CustomProperties"] = json::value::string("");
return std::move(j);
}