fix: monitor in multi-process mode
This commit is contained in:
parent
fefc2dad11
commit
2d8ed7a947
|
@ -57,79 +57,79 @@ static void dmGetDmMonitorInfo(SDnode *pDnode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dmGetMmMonitorInfo(SDnode *pDnode) {
|
static void dmGetMmMonitorInfo(SDnode *pDnode) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[MNODE];
|
||||||
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
SMonMmInfo mmInfo = {0};
|
SMonMmInfo mmInfo = {0};
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, MNODE);
|
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_MM_INFO, tDeserializeSMonMmInfo, &mmInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_MM_INFO, tDeserializeSMonMmInfo, &mmInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
mmGetMonitorInfo(pWrapper->pMgmt, &mmInfo);
|
mmGetMonitorInfo(pWrapper->pMgmt, &mmInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
monSetMmInfo(&mmInfo);
|
monSetMmInfo(&mmInfo);
|
||||||
tFreeSMonMmInfo(&mmInfo);
|
tFreeSMonMmInfo(&mmInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void dmGetVmMonitorInfo(SDnode *pDnode) {
|
static void dmGetVmMonitorInfo(SDnode *pDnode) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[VNODE];
|
||||||
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
SMonVmInfo vmInfo = {0};
|
SMonVmInfo vmInfo = {0};
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, VNODE);
|
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_VM_INFO, tDeserializeSMonVmInfo, &vmInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_VM_INFO, tDeserializeSMonVmInfo, &vmInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
vmGetMonitorInfo(pWrapper->pMgmt, &vmInfo);
|
vmGetMonitorInfo(pWrapper->pMgmt, &vmInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
monSetVmInfo(&vmInfo);
|
monSetVmInfo(&vmInfo);
|
||||||
tFreeSMonVmInfo(&vmInfo);
|
tFreeSMonVmInfo(&vmInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void dmGetQmMonitorInfo(SDnode *pDnode) {
|
static void dmGetQmMonitorInfo(SDnode *pDnode) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[QNODE];
|
||||||
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
SMonQmInfo qmInfo = {0};
|
SMonQmInfo qmInfo = {0};
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, VNODE);
|
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_QM_INFO, tDeserializeSMonQmInfo, &qmInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_QM_INFO, tDeserializeSMonQmInfo, &qmInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
qmGetMonitorInfo(pWrapper->pMgmt, &qmInfo);
|
qmGetMonitorInfo(pWrapper->pMgmt, &qmInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
monSetQmInfo(&qmInfo);
|
monSetQmInfo(&qmInfo);
|
||||||
tFreeSMonQmInfo(&qmInfo);
|
tFreeSMonQmInfo(&qmInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void dmGetSmMonitorInfo(SDnode *pDnode) {
|
static void dmGetSmMonitorInfo(SDnode *pDnode) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[SNODE];
|
||||||
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
SMonSmInfo smInfo = {0};
|
SMonSmInfo smInfo = {0};
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, VNODE);
|
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_SM_INFO, tDeserializeSMonSmInfo, &smInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_SM_INFO, tDeserializeSMonSmInfo, &smInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
smGetMonitorInfo(pWrapper->pMgmt, &smInfo);
|
smGetMonitorInfo(pWrapper->pMgmt, &smInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
monSetSmInfo(&smInfo);
|
monSetSmInfo(&smInfo);
|
||||||
tFreeSMonSmInfo(&smInfo);
|
tFreeSMonSmInfo(&smInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void dmGetBmMonitorInfo(SDnode *pDnode) {
|
static void dmGetBmMonitorInfo(SDnode *pDnode) {
|
||||||
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[BNODE];
|
||||||
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
SMonBmInfo bmInfo = {0};
|
SMonBmInfo bmInfo = {0};
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, VNODE);
|
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_BM_INFO, tDeserializeSMonBmInfo, &bmInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_BM_INFO, tDeserializeSMonBmInfo, &bmInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
bmGetMonitorInfo(pWrapper->pMgmt, &bmInfo);
|
bmGetMonitorInfo(pWrapper->pMgmt, &bmInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
monSetBmInfo(&bmInfo);
|
monSetBmInfo(&bmInfo);
|
||||||
tFreeSMonBmInfo(&bmInfo);
|
tFreeSMonBmInfo(&bmInfo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void dmSendMonitorReport() {
|
void dmSendMonitorReport() {
|
||||||
if (!tsEnableMonitor || tsMonitorFqdn[0] == 0 || tsMonitorPort == 0) return;
|
if (!tsEnableMonitor || tsMonitorFqdn[0] == 0 || tsMonitorPort == 0) return;
|
||||||
|
@ -147,26 +147,24 @@ void dmSendMonitorReport() {
|
||||||
|
|
||||||
void dmGetVnodeLoads(SMonVloadInfo *pInfo) {
|
void dmGetVnodeLoads(SMonVloadInfo *pInfo) {
|
||||||
SDnode *pDnode = dmInstance();
|
SDnode *pDnode = dmInstance();
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, VNODE);
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[VNODE];
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
if (dmMarkWrapper(pWrapper) == 0) {
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_VM_LOAD, tDeserializeSMonVloadInfo, pInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_VM_LOAD, tDeserializeSMonVloadInfo, pInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
vmGetVnodeLoads(pWrapper->pMgmt, pInfo);
|
vmGetVnodeLoads(pWrapper->pMgmt, pInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void dmGetMnodeLoads(SMonMloadInfo *pInfo) {
|
void dmGetMnodeLoads(SMonMloadInfo *pInfo) {
|
||||||
SDnode *pDnode = dmInstance();
|
SDnode *pDnode = dmInstance();
|
||||||
SMgmtWrapper *pWrapper = dmAcquireWrapper(pDnode, MNODE);
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[MNODE];
|
||||||
if (pWrapper != NULL && pWrapper->required) {
|
|
||||||
if (tsMultiProcess) {
|
if (tsMultiProcess) {
|
||||||
dmSendLocalRecv(pDnode, TDMT_MON_MM_LOAD, tDeserializeSMonMloadInfo, pInfo);
|
dmSendLocalRecv(pDnode, TDMT_MON_MM_LOAD, tDeserializeSMonMloadInfo, pInfo);
|
||||||
} else if (pWrapper->pMgmt != NULL) {
|
} else if (pWrapper->pMgmt != NULL) {
|
||||||
mmGetMnodeLoads(pWrapper->pMgmt, pInfo);
|
mmGetMnodeLoads(pWrapper->pMgmt, pInfo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dmReleaseWrapper(pWrapper);
|
dmReleaseWrapper(pWrapper);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue