1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

wprobe: export raw values (n, s, ss) to ipfix collectors for improved measurement accuracy

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18852 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2009-12-19 22:19:09 +00:00
parent 8b5cfa1fde
commit f87f98d0c5
3 changed files with 48 additions and 50 deletions

View File

@@ -25,7 +25,6 @@ static int do_close = 0;
struct wprobe_mapping {
int id;
bool counter;
float scale;
const char *wprobe_id;
struct wprobe_value *val;
};
@@ -36,16 +35,14 @@ struct wprobe_mapping {
#define WMAP(_id, _name, ...) \
{ \
.scale = 1.0f, \
.counter = false, \
.id = IPFIX_FT_WPROBE_##_id##_AVG, \
.id = IPFIX_FT_WPROBE_##_id##_N, \
.wprobe_id = _name \
, ## __VA_ARGS__ \
}
#define WMAP_COUNTER(_id, _name, ...) \
{ \
.scale = 1.0f, \
.counter = true, \
.id = IPFIX_FT_WPROBE_##_id, \
.wprobe_id = _name \
@@ -144,7 +141,7 @@ add_template_fields(ipfix_t *handle, ipfix_template_t *t, struct wprobe_mapping
if (map[i].counter)
g_data.addrs[f++] = &map[i].val->U32;
else
g_data.addrs[f++] = &map[i].val->avg;
g_data.addrs[f++] = &map[i].val->n;
if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 0, 4) < 0)
exit(1);
@@ -152,11 +149,11 @@ add_template_fields(ipfix_t *handle, ipfix_template_t *t, struct wprobe_mapping
if (map[i].counter)
continue;
g_data.addrs[f++] = &map[i].val->stdev;
g_data.addrs[f++] = &map[i].val->n;
if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 1, 4) < 0)
g_data.addrs[f++] = &map[i].val->s;
g_data.addrs[f++] = &map[i].val->ss;
if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 1, 8) < 0)
exit(1);
if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 2, 4) < 0)
if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 2, 8) < 0)
exit(1);
}
g_data.maxfields = f;