Merge pull request #184 from g-oikonomou/bug-fixes/rimestats

Rimestats Fix (#183)
This commit is contained in:
Mariano Alvira 2013-05-19 07:45:22 -07:00
commit 5df586e09d
11 changed files with 53 additions and 47 deletions

View file

@ -856,11 +856,11 @@ generate_stats(void *arg)
}
#endif
#if RIMESTATS_CONF_ON
#if RIMESTATS_CONF_ENABLED
#include "net/rime/rimestats.h"
static const char httpd_cgi_sensor21[] HTTPD_STRING_ATTR = "<em>Packets (RIMESTATS):</em> Tx=%5lu Rx=%5lu TxL=%4lu RxL=%4lu\n";
numprinted+=httpd_snprintf((char *)uip_appdata+numprinted, uip_mss()-numprinted, httpd_cgi_sensor21,
rimestats.tx,rimestats.rx,rimestats.lltx-rimestats.tx,rimestats.llrx-rimestats.rx);
RIMESTATS_GET(tx),RIMESTATS_GET(rx),RIMESTATS_GET(lltx)-RIMESTATS_GET(tx),RIMESTATS_GET(llrx)-RIMESTATS_GET(rx));
#endif
#if RADIOSTATS
@ -1295,12 +1295,12 @@ static uint16_t c0=0x3ff,c1=0x3ff,c2=0x3ff,c3=0x3ff,c4=0x3ff,c5=0x3ff,c6=0x3ff,c
}
#endif
#if RIMESTATS_CONF_ON
#if RIMESTATS_CONF_ENABLED
#include "net/rime/rimestats.h"
static const char httpd_cgi_ajaxr1[] HTTPD_STRING_ATTR ="rime(%lu,%lu,%lu,%lu);";
numprinted += httpd_snprintf(buf+numprinted, sizeof(buf)-numprinted,httpd_cgi_ajaxr1,
rimestats.tx,rimestats.rx,rimestats.lltx-rimestats.tx,rimestats.llrx-rimestats.rx);
RIMESTATS_GET(tx),RIMESTATS_GET(rx),RIMESTATS_GET(lltx)-RIMESTATS_GET(tx),RIMESTATS_GET(llrx)-RIMESTATS_GET(rx));
#endif
#if ENERGEST_CONF_ON

View file

@ -59,14 +59,14 @@ print_stats(void)
PRINTA("S %d.%d clock %lu tx %lu rx %lu rtx %lu rrx %lu rexmit %lu acktx %lu noacktx %lu ackrx %lu timedout %lu badackrx %lu toolong %lu tooshort %lu badsynch %lu badcrc %lu contentiondrop %lu sendingdrop %lu lltx %lu llrx %lu\n",
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1],
clock_seconds(),
rimestats.tx, rimestats.rx,
rimestats.reliabletx, rimestats.reliablerx,
rimestats.rexmit, rimestats.acktx, rimestats.noacktx,
rimestats.ackrx, rimestats.timedout, rimestats.badackrx,
rimestats.toolong, rimestats.tooshort,
rimestats.badsynch, rimestats.badcrc,
rimestats.contentiondrop, rimestats.sendingdrop,
rimestats.lltx, rimestats.llrx);
RIMESTATS_GET(tx), RIMESTATS_GET(rx),
RIMESTATS_GET(reliabletx), RIMESTATS_GET(reliablerx),
RIMESTATS_GET(rexmit), RIMESTATS_GET(acktx), RIMESTATS_GET(noacktx),
RIMESTATS_GET(ackrx), RIMESTATS_GET(timedout), RIMESTATS_GET(badackrx),
RIMESTATS_GET(toolong), RIMESTATS_GET(tooshort),
RIMESTATS_GET(badsynch), RIMESTATS_GET(badcrc),
RIMESTATS_GET(contentiondrop), RIMESTATS_GET(sendingdrop),
RIMESTATS_GET(lltx), RIMESTATS_GET(llrx));
#endif /* RIMESTATS_CONF_ENABLED */
#if ENERGEST_CONF_ON
PRINTA("E %d.%d clock %lu cpu %lu lpm %lu irq %lu gled %lu yled %lu rled %lu tx %lu listen %lu sensors %lu serial %lu\n",

View file

@ -56,10 +56,14 @@ struct rimestats {
};
#if RIMESTATS_CONF_ENABLED
/* Don't access this variable directly, use RIMESTATS_ADD and RIMESTATS_GET */
extern struct rimestats rimestats;
#define RIMESTATS_ADD(x) rimestats.x++
#define RIMESTATS_GET(x) rimestats.x
#else /* RIMESTATS_CONF_ENABLED */
#define RIMESTATS_ADD(x)
#define RIMESTATS_GET(x) 0
#endif /* RIMESTATS_CONF_ENABLED */
#endif /* __RIMESTATS_H__ */

View file

@ -44,5 +44,6 @@
#define BUTTON_SENSOR_CONF_ON 1
#define UIP_CONF_ICMP6 1
#define RIMESTATS_CONF_ENABLED 1
#endif /* PROJECT_CONF_H_ */

View file

@ -92,10 +92,10 @@ static void
print_stats()
{
PRINTF("tl=%lu, ts=%lu, bs=%lu, bc=%lu\n",
rimestats.toolong, rimestats.tooshort, rimestats.badsynch,
rimestats.badcrc);
PRINTF("llrx=%lu, lltx=%lu, rx=%lu, tx=%lu\n", rimestats.llrx,
rimestats.lltx, rimestats.rx, rimestats.tx);
RIMESTATS_GET(toolong), RIMESTATS_GET(tooshort),
RIMESTATS_GET(badsynch), RIMESTATS_GET(badcrc));
PRINTF("llrx=%lu, lltx=%lu, rx=%lu, tx=%lu\n", RIMESTATS_GET(llrx),
RIMESTATS_GET(lltx), RIMESTATS_GET(rx), RIMESTATS_GET(tx));
}
#endif
/*---------------------------------------------------------------------------*/

View file

@ -36,7 +36,6 @@
* \author
* Adam Dunkels <adam@sics.se>
*/
#include "contiki.h"
#include "net/rime.h"
#include "lib/random.h"
@ -72,11 +71,12 @@ static void
print_rime_stats()
{
PRINTF("\nNetwork Stats\n");
PRINTF(" TX=%lu , RX=%lu\n", rimestats.tx, rimestats.rx);
PRINTF("LL-TX=%lu , LL-RX=%lu\n", rimestats.lltx, rimestats.llrx);
PRINTF(" Long=%lu , Short=%lu\n", rimestats.toolong, rimestats.tooshort);
PRINTF("T/Out=%lu , CCA-Err=%lu\n", rimestats.timedout,
rimestats.contentiondrop);
PRINTF(" TX=%lu , RX=%lu\n", RIMESTATS_GET(tx), RIMESTATS_GET(rx));
PRINTF("LL-TX=%lu , LL-RX=%lu\n", RIMESTATS_GET(lltx), RIMESTATS_GET(llrx));
PRINTF(" Long=%lu , Short=%lu\n", RIMESTATS_GET(toolong),
RIMESTATS_GET(tooshort));
PRINTF("T/Out=%lu , CCA-Err=%lu\n", RIMESTATS_GET(timedout),
RIMESTATS_GET(contentiondrop));
}
static const struct broadcast_callbacks bc_rx = { broadcast_recv };

View file

@ -45,5 +45,6 @@
#define PROJECT_CONF_H_
#define BUTTON_SENSOR_CONF_ON 1
#define RIMESTATS_CONF_ENABLED 1
#endif /* PROJECT_CONF_H_ */

View file

@ -104,10 +104,10 @@ static void
print_stats()
{
PRINTF("tl=%lu, ts=%lu, bs=%lu, bc=%lu\n",
rimestats.toolong, rimestats.tooshort, rimestats.badsynch,
rimestats.badcrc);
PRINTF("llrx=%lu, lltx=%lu, rx=%lu, tx=%lu\n", rimestats.llrx,
rimestats.lltx, rimestats.rx, rimestats.tx);
RIMESTATS_GET(toolong), RIMESTATS_GET(tooshort),
RIMESTATS_GET(badsynch), RIMESTATS_GET(badcrc));
PRINTF("llrx=%lu, lltx=%lu, rx=%lu, tx=%lu\n", RIMESTATS_GET(llrx),
RIMESTATS_GET(lltx), RIMESTATS_GET(rx), RIMESTATS_GET(tx));
}
#else
#define print_stats()

View file

@ -246,24 +246,24 @@ PROCESS_THREAD(test_collect_process, ev, data)
msg->best_neighbor_rtmetric = n->rtmetric;
}
msg->tx = rimestats.tx;
msg->rx = rimestats.rx;
msg->reliabletx = rimestats.reliabletx;
msg->reliablerx = rimestats.reliablerx;
msg->rexmit = rimestats.rexmit;
msg->acktx = rimestats.acktx;
msg->noacktx = rimestats.noacktx;
msg->ackrx = rimestats.ackrx;
msg->timedout = rimestats.timedout;
msg->badackrx = rimestats.badackrx;
msg->toolong = rimestats.toolong;
msg->tooshort = rimestats.tooshort;
msg->badsynch = rimestats.badsynch;
msg->badcrc = rimestats.badcrc;
msg->contentiondrop = rimestats.contentiondrop;
msg->sendingdrop = rimestats.sendingdrop;
msg->lltx = rimestats.lltx;
msg->llrx = rimestats.llrx;
msg->tx = RIMESTATS_GET(tx);
msg->rx = RIMESTATS_GET(rx);
msg->reliabletx = RIMESTATS_GET(reliabletx);
msg->reliablerx = RIMESTATS_GET(reliablerx);
msg->rexmit = RIMESTATS_GET(rexmit);
msg->acktx = RIMESTATS_GET(acktx);
msg->noacktx = RIMESTATS_GET(noacktx);
msg->ackrx = RIMESTATS_GET(ackrx);
msg->timedout = RIMESTATS_GET(timedout);
msg->badackrx = RIMESTATS_GET(badackrx);
msg->toolong = RIMESTATS_GET(toolong);
msg->tooshort = RIMESTATS_GET(tooshort);
msg->badsynch = RIMESTATS_GET(badsynch);
msg->badcrc = RIMESTATS_GET(badcrc);
msg->contentiondrop = RIMESTATS_GET(contentiondrop);
msg->sendingdrop = RIMESTATS_GET(sendingdrop);
msg->lltx = RIMESTATS_GET(lltx);
msg->llrx = RIMESTATS_GET(llrx);
#if TIMESYNCH_CONF_ENABLED
msg->timestamp = timesynch_time();
#else

View file

@ -244,7 +244,7 @@ typedef unsigned short uip_stats_t;
/* Not tested much yet */
#define WITH_PHASE_OPTIMIZATION 0
#define CONTIKIMAC_CONF_COMPOWER 1
#define RIMESTATS_CONF_ON 1
#define RIMESTATS_CONF_ENABLED 1
#define NETSTACK_CONF_FRAMER framer_802154
#define NETSTACK_CONF_RADIO rf230_driver
#define CHANNEL_802_15_4 26

View file

@ -260,7 +260,7 @@ typedef unsigned short uip_stats_t;
/* Not tested much yet */
#define WITH_PHASE_OPTIMIZATION 0
#define CONTIKIMAC_CONF_COMPOWER 1
#define RIMESTATS_CONF_ON 1
#define RIMESTATS_CONF_ENABLED 1
#define NETSTACK_CONF_FRAMER framer_802154
#define NETSTACK_CONF_RADIO rf230_driver
#define CHANNEL_802_15_4 26