diff --git a/include/libs/monitor/monitor.h b/include/libs/monitor/monitor.h index a3e049b00c..fc7a4bb95d 100644 --- a/include/libs/monitor/monitor.h +++ b/include/libs/monitor/monitor.h @@ -32,6 +32,8 @@ extern "C" { typedef struct { int32_t dnode_id; char dnode_ep[TSDB_EP_LEN]; + int64_t cluster_id; + int32_t protocol; } SMonBasicInfo; typedef struct { diff --git a/source/dnode/mgmt/impl/src/dndMgmt.c b/source/dnode/mgmt/impl/src/dndMgmt.c index 1782b2aba0..866076a3d0 100644 --- a/source/dnode/mgmt/impl/src/dndMgmt.c +++ b/source/dnode/mgmt/impl/src/dndMgmt.c @@ -477,6 +477,8 @@ void dndProcessStartupReq(SDnode *pDnode, SRpcMsg *pReq) { static void dndGetMonitorBasicInfo(SDnode *pDnode, SMonBasicInfo *pInfo) { pInfo->dnode_id = dndGetDnodeId(pDnode); tstrncpy(pInfo->dnode_ep, tsLocalEp, TSDB_EP_LEN); + pInfo->cluster_id = dndGetClusterId(pDnode); + pInfo->protocol = 1; } static void dndGetMonitorDnodeInfo(SDnode *pDnode, SMonDnodeInfo *pInfo) { diff --git a/source/libs/monitor/src/monitor.c b/source/libs/monitor/src/monitor.c index 0760d7ae9e..352b59e931 100644 --- a/source/libs/monitor/src/monitor.c +++ b/source/libs/monitor/src/monitor.c @@ -99,6 +99,9 @@ void monSetBasicInfo(SMonInfo *pMonitor, SMonBasicInfo *pInfo) { tjsonAddStringToObject(pJson, "ts", buf); tjsonAddDoubleToObject(pJson, "dnode_id", pInfo->dnode_id); tjsonAddStringToObject(pJson, "dnode_ep", pInfo->dnode_ep); + snprintf(buf, sizeof(buf), "%" PRId64, pInfo->cluster_id); + tjsonAddStringToObject(pJson, "cluster_id", buf); + tjsonAddDoubleToObject(pJson, "protocol", pInfo->protocol); } void monSetClusterInfo(SMonInfo *pMonitor, SMonClusterInfo *pInfo) { diff --git a/source/libs/monitor/test/monTest.cpp b/source/libs/monitor/test/monTest.cpp index a6486b992e..05c9fb8b38 100644 --- a/source/libs/monitor/test/monTest.cpp +++ b/source/libs/monitor/test/monTest.cpp @@ -22,6 +22,7 @@ class MonitorTest : public ::testing::Test { cfg.maxLogs = 2; cfg.port = 80; cfg.server = "localhost"; + cfg.comp = 0; monInit(&cfg); } @@ -44,6 +45,8 @@ class MonitorTest : public ::testing::Test { void MonitorTest::GetBasicInfo(SMonInfo *pMonitor, SMonBasicInfo *pInfo) { pInfo->dnode_id = 1; strcpy(pInfo->dnode_ep, "localhost"); + pInfo->cluster_id = 6980428120398645172; + pInfo->protocol = 1; } void MonitorTest::GetClusterInfo(SMonInfo *pMonitor, SMonClusterInfo *pInfo) {