feat: do not store each infos of each node
This commit is contained in:
@@ -122,11 +122,6 @@ void ClusterManager::onDiscovery(const char* /*msg*/) {
|
||||
|
||||
void ClusterManager::onHeartbeat(const char* /*msg*/) {
|
||||
JsonDocument doc;
|
||||
doc["freeHeap"] = ESP.getFreeHeap();
|
||||
doc["chipId"] = ESP.getChipId();
|
||||
doc["sdkVersion"] = ESP.getSdkVersion();
|
||||
doc["cpuFreqMHz"] = ESP.getCpuFreqMHz();
|
||||
doc["flashChipSize"] = ESP.getFlashChipSize();
|
||||
|
||||
if (ctx.memberList) {
|
||||
auto it = ctx.memberList->find(ctx.hostname);
|
||||
@@ -178,14 +173,6 @@ void ClusterManager::onNodeInfo(const char* msg) {
|
||||
auto it = memberList.find(nodeHost);
|
||||
if (it != memberList.end()) {
|
||||
NodeInfo& node = it->second;
|
||||
node.resources.freeHeap = doc["freeHeap"] | node.resources.freeHeap;
|
||||
node.resources.chipId = doc["chipId"] | node.resources.chipId;
|
||||
{
|
||||
const char* sdk = doc["sdkVersion"] | node.resources.sdkVersion.c_str();
|
||||
node.resources.sdkVersion = sdk ? String(sdk) : node.resources.sdkVersion;
|
||||
}
|
||||
node.resources.cpuFreqMHz = doc["cpuFreqMHz"] | node.resources.cpuFreqMHz;
|
||||
node.resources.flashChipSize = doc["flashChipSize"] | node.resources.flashChipSize;
|
||||
node.status = NodeInfo::ACTIVE;
|
||||
unsigned long now = millis();
|
||||
node.lastSeen = now;
|
||||
@@ -277,6 +264,7 @@ void ClusterManager::addOrUpdateNode(const String& nodeHost, IPAddress nodeIP) {
|
||||
//fetchNodeInfo(nodeIP); // Do not fetch here, handled by periodic task
|
||||
}
|
||||
|
||||
// unused http client to fetch complete node info
|
||||
void ClusterManager::fetchNodeInfo(const IPAddress& ip) {
|
||||
if(ip == ctx.localIP) {
|
||||
LOG_DEBUG("Cluster", "Skipping fetch for local node");
|
||||
@@ -392,7 +380,7 @@ void ClusterManager::heartbeatTaskCallback() {
|
||||
node.lastSeen = millis();
|
||||
node.status = NodeInfo::ACTIVE;
|
||||
updateLocalNodeResources();
|
||||
ctx.fire("node_discovered", &node);
|
||||
addOrUpdateNode(ctx.hostname, ctx.localIP);
|
||||
}
|
||||
|
||||
// Broadcast heartbeat so peers can respond with their node info
|
||||
|
||||
@@ -44,11 +44,6 @@ void ClusterService::handleMembersRequest(AsyncWebServerRequest* request) {
|
||||
obj["lastSeen"] = node.lastSeen;
|
||||
obj["latency"] = node.latency;
|
||||
obj["status"] = statusToStr(node.status);
|
||||
obj["resources"]["freeHeap"] = node.resources.freeHeap;
|
||||
obj["resources"]["chipId"] = node.resources.chipId;
|
||||
obj["resources"]["sdkVersion"] = node.resources.sdkVersion;
|
||||
obj["resources"]["cpuFreqMHz"] = node.resources.cpuFreqMHz;
|
||||
obj["resources"]["flashChipSize"] = node.resources.flashChipSize;
|
||||
|
||||
// Add labels if present
|
||||
if (!node.labels.empty()) {
|
||||
|
||||
Reference in New Issue
Block a user