mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-07 16:33:09 +00:00
feat: integrating metrics (#84)
This commit is contained in:
parent
0b42ac56ee
commit
aba84ffc7b
@ -321,6 +321,10 @@ package waku
|
|||||||
waku_is_online(wakuCtx, (WakuCallBack) WakuGoCallback, resp);
|
waku_is_online(wakuCtx, (WakuCallBack) WakuGoCallback, resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cGoWakuGetMetrics(void* wakuCtx, void* resp) {
|
||||||
|
waku_get_metrics(wakuCtx, (WakuCallBack) WakuGoCallback, resp);
|
||||||
|
}
|
||||||
|
|
||||||
*/
|
*/
|
||||||
import "C"
|
import "C"
|
||||||
import (
|
import (
|
||||||
@ -1651,3 +1655,39 @@ func (n *WakuNode) IsOnline() (bool, error) {
|
|||||||
|
|
||||||
return false, errors.New(errMsg)
|
return false, errors.New(errMsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (n *WakuNode) GetMetrics() (string, error) {
|
||||||
|
if n == nil {
|
||||||
|
err := errors.New("waku node is nil")
|
||||||
|
Error("Failed to get metrics %v", err)
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug("Querying metrics for %v", n.nodeName)
|
||||||
|
|
||||||
|
wg := sync.WaitGroup{}
|
||||||
|
var resp = C.allocResp(unsafe.Pointer(&wg))
|
||||||
|
defer C.freeResp(resp)
|
||||||
|
|
||||||
|
wg.Add(1)
|
||||||
|
C.cGoWakuGetMetrics(n.wakuCtx, resp)
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
|
if C.getRet(resp) == C.RET_OK {
|
||||||
|
metricsStr := C.GoStringN(C.getMyCharPtr(resp), C.int(C.getMyCharLen(resp)))
|
||||||
|
|
||||||
|
if metricsStr == "" {
|
||||||
|
errMsg := "received empty metrics response"
|
||||||
|
Error(errMsg)
|
||||||
|
return "", errors.New(errMsg)
|
||||||
|
}
|
||||||
|
|
||||||
|
return metricsStr, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
errMsg := "error GetMetrics: " + C.GoStringN(C.getMyCharPtr(resp), C.int(C.getMyCharLen(resp)))
|
||||||
|
Error("Failed to query metrics for %v: %v", n.nodeName, errMsg)
|
||||||
|
|
||||||
|
return "", errors.New(errMsg)
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user