some nic metrics
This commit is contained in:
parent
e746628e58
commit
86ce6117de
|
@ -15,6 +15,7 @@
|
||||||
#include <sys/statfs.h>
|
#include <sys/statfs.h>
|
||||||
#define _STRUCT_TM
|
#define _STRUCT_TM
|
||||||
#include <nwtime.h>
|
#include <nwtime.h>
|
||||||
|
#include <nit/nwservst.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* http://developer.novell.com/research/appnotes/2003/may/05/a0305058.htm
|
* http://developer.novell.com/research/appnotes/2003/may/05/a0305058.htm
|
||||||
|
@ -358,18 +359,30 @@ int sigar_net_route_list_get(sigar_t *sigar,
|
||||||
int sigar_net_interface_stat_get(sigar_t *sigar, const char *name,
|
int sigar_net_interface_stat_get(sigar_t *sigar, const char *name,
|
||||||
sigar_net_interface_stat_t *ifstat)
|
sigar_net_interface_stat_t *ifstat)
|
||||||
{
|
{
|
||||||
ifstat->rx_bytes = -1;
|
LONG board = 1; /* XXX derive from name */
|
||||||
ifstat->rx_packets = -1;
|
LONG block = 0;
|
||||||
ifstat->rx_errors = -1;
|
BYTE buffer[SS_DEFAULT_BUFFER_SIZE];
|
||||||
|
WORD len = sizeof(buffer);
|
||||||
|
CommonLANStructure *info;
|
||||||
|
|
||||||
|
if (SSGetLANCommonCounters(board, block, buffer, len) != 0) {
|
||||||
|
return ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
info = &((GetLANCommonCountersStructure *)buffer)->info;
|
||||||
|
|
||||||
|
ifstat->rx_bytes = info->TotalTxOKByteCountHigh;
|
||||||
|
ifstat->rx_packets = info->TotalRxPacketCount;
|
||||||
|
ifstat->rx_errors = info->PacketRxMiscErrorCount;
|
||||||
ifstat->rx_dropped = -1;
|
ifstat->rx_dropped = -1;
|
||||||
ifstat->rx_overruns = -1;
|
ifstat->rx_overruns = info->PacketRxTooBigCount;
|
||||||
ifstat->rx_frame = -1;
|
ifstat->rx_frame = -1;
|
||||||
|
|
||||||
ifstat->tx_bytes = -1;
|
ifstat->tx_bytes = info->TotalTxOKByteCountHigh;
|
||||||
ifstat->tx_packets = -1;
|
ifstat->tx_packets = info->TotalTxPacketCount;
|
||||||
ifstat->tx_errors = -1;
|
ifstat->tx_errors = info->PacketTxMiscErrorCount;
|
||||||
ifstat->tx_dropped = -1;
|
ifstat->tx_dropped = info->RetryTxCount;
|
||||||
ifstat->tx_overruns = -1;
|
ifstat->tx_overruns = info->PacketTxTooBigCount;
|
||||||
ifstat->tx_collisions = -1;
|
ifstat->tx_collisions = -1;
|
||||||
ifstat->tx_carrier = -1;
|
ifstat->tx_carrier = -1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue