aqhome-nodes: handle new statistics messages.
This commit is contained in:
@@ -126,7 +126,6 @@ static void _forwardDataFromRecvStatsMsgToBroker(AQH_NODE_SERVER *xo, const AQH_
|
||||
static void _forwardDataFromMemStatsMsgToBroker(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||
static void _forwardTtyMsgToClients(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||
static void _publishIntWithIdx(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int idx, int vModality, const char *vUnits, int v);
|
||||
static void _publishDoubleWithIdx(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int idx, int vModality, const char *vUnits, double v);
|
||||
static void _publishInt(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int vModality, const char *vUnits, int v);
|
||||
static void _publishDouble(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int vModality, const char *vUnits, double v);
|
||||
static void _setDeviceName(AQH_VALUE *value, uint32_t uid);
|
||||
@@ -905,25 +904,20 @@ void _forwardDataFromSendStatsMsgToBroker(AQH_NODE_SERVER *xo, const AQH_MESSAGE
|
||||
if (packetsOutInt) {
|
||||
uint32_t uid;
|
||||
int devNum;
|
||||
double packetsOut;
|
||||
double collisions;
|
||||
double busy;
|
||||
double collisionsPercentage=0.0;
|
||||
double busyPercentage=0.0;
|
||||
|
||||
uid=AQH_SendStatsMessage_GetUid(msg);
|
||||
devNum=AQH_SendStatsMessage_GetInterface(msg);
|
||||
packetsOut=/*(double)*/ packetsOutInt;
|
||||
collisions=/*(double)*/ AQH_SendStatsMessage_GetCollisions(msg);
|
||||
busy=/*(double)*/ AQH_SendStatsMessage_GetBusyErrors(msg);
|
||||
|
||||
collisionsPercentage=collisions*100.0/packetsOut;
|
||||
busyPercentage=busy*100.0/packetsOut;
|
||||
|
||||
_publishIntWithIdx( xo, uid, "net/packetsOut", devNum, 0, NULL, packetsOutInt);
|
||||
_publishIntWithIdx( xo, uid, "net/collisions", devNum, 0, NULL, (int) AQH_SendStatsMessage_GetCollisions(msg));
|
||||
_publishDoubleWithIdx(xo, uid, "net/collisionsPercent", devNum, 0, "%", collisionsPercentage);
|
||||
_publishDoubleWithIdx(xo, uid, "net/busyPercent", devNum, 0, "%", busyPercentage);
|
||||
if (devNum==0) {
|
||||
_publishInt(xo, uid, "net/packetsOut", 0, NULL, packetsOutInt);
|
||||
_publishInt(xo, uid, "net/collisions", 0, NULL, (int) AQH_SendStatsMessage_GetCollisions(msg));
|
||||
_publishInt(xo, uid, "net/busy", 0, NULL, (int) AQH_SendStatsMessage_GetBusyErrors(msg));
|
||||
}
|
||||
else {
|
||||
_publishIntWithIdx(xo, uid, "net/packetsOut", devNum, 0, NULL, packetsOutInt);
|
||||
_publishIntWithIdx(xo, uid, "net/collisions", devNum, 0, NULL, (int) AQH_SendStatsMessage_GetCollisions(msg));
|
||||
_publishIntWithIdx(xo, uid, "net/busy", devNum, 0, NULL, (int) AQH_SendStatsMessage_GetBusyErrors(msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -937,26 +931,26 @@ void _forwardDataFromRecvStatsMsgToBroker(AQH_NODE_SERVER *xo, const AQH_MESSAGE
|
||||
if (packetsInInt) {
|
||||
uint32_t uid;
|
||||
int devNum;
|
||||
double packetsIn;
|
||||
double crcErrors;
|
||||
double ioErrors;
|
||||
double crcErrorsPercentage=0.0;
|
||||
double ioErrorsPercentage=0.0;
|
||||
|
||||
uid=AQH_RecvStatsMessage_GetUid(msg);
|
||||
devNum=AQH_RecvStatsMessage_GetInterface(msg);
|
||||
packetsIn=/*(double)*/ packetsInInt;
|
||||
crcErrors=/*(double)*/AQH_RecvStatsMessage_GetCrcErrors(msg);
|
||||
ioErrors=/*(double)*/AQH_RecvStatsMessage_GetIoErrors(msg);
|
||||
|
||||
crcErrorsPercentage=crcErrors*100.0/packetsIn;
|
||||
ioErrorsPercentage=ioErrors*100.0/packetsIn;
|
||||
|
||||
_publishIntWithIdx( xo, uid, "net/packetsIn", devNum, 0, NULL, packetsInInt);
|
||||
_publishIntWithIdx( xo, uid, "net/crcerrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetCrcErrors(msg));
|
||||
_publishIntWithIdx( xo, uid, "net/ioerrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetIoErrors(msg));
|
||||
_publishDoubleWithIdx(xo, uid, "net/crcerrorsPercent", devNum, 0, "%", crcErrorsPercentage);
|
||||
_publishDoubleWithIdx(xo, uid, "net/ioerrorsPercent", devNum, 0, "%", ioErrorsPercentage);
|
||||
if (devNum==0) {
|
||||
_publishInt(xo, uid, "net/packetsIn", 0, NULL, packetsInInt);
|
||||
_publishInt(xo, uid, "net/crcErrors", 0, NULL, (int) AQH_RecvStatsMessage_GetCrcErrors(msg));
|
||||
_publishInt(xo, uid, "net/ioErrors", 0, NULL, (int) AQH_RecvStatsMessage_GetIoErrors(msg));
|
||||
_publishInt(xo, uid, "net/nobufferErrors", 0, NULL, (int) AQH_RecvStatsMessage_GetNoBufferErrors(msg));
|
||||
_publishInt(xo, uid, "net/msgSizeErrors", 0, NULL, (int) AQH_RecvStatsMessage_GetMsgSizeErrors(msg));
|
||||
_publishInt(xo, uid, "net/missed", 0, NULL, (int) AQH_RecvStatsMessage_GetMissed(msg));
|
||||
}
|
||||
else {
|
||||
_publishIntWithIdx(xo, uid, "net/packetsIn", devNum, 0, NULL, packetsInInt);
|
||||
_publishIntWithIdx(xo, uid, "net/crcErrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetCrcErrors(msg));
|
||||
_publishIntWithIdx(xo, uid, "net/ioErrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetIoErrors(msg));
|
||||
_publishIntWithIdx(xo, uid, "net/nobufferErrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetNoBufferErrors(msg));
|
||||
_publishIntWithIdx(xo, uid, "net/msgSizeErrors", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetMsgSizeErrors(msg));
|
||||
_publishIntWithIdx(xo, uid, "net/missed", devNum, 0, NULL, (int) AQH_RecvStatsMessage_GetMissed(msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -986,18 +980,6 @@ void _publishIntWithIdx(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, in
|
||||
|
||||
|
||||
|
||||
void _publishDoubleWithIdx(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int idx, int vModality, const char *vUnits, double v)
|
||||
{
|
||||
GWEN_BUFFER *tbuf;
|
||||
|
||||
tbuf=GWEN_Buffer_new(0, 256, 0, 1);
|
||||
GWEN_Buffer_AppendArgs(tbuf, "%s%d", vPath, idx);
|
||||
_publishDouble(xo, uid, GWEN_Buffer_GetStart(tbuf), vModality, vUnits, v);
|
||||
GWEN_Buffer_free(tbuf);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _publishInt(AQH_NODE_SERVER *xo, uint32_t uid, const char *vPath, int vModality, const char *vUnits, int v)
|
||||
{
|
||||
_publishDouble(xo, uid, vPath, vModality, vUnits, /*(double)*/ v);
|
||||
|
||||
Reference in New Issue
Block a user