summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_engine.h')
-rw-r--r--bgpd/bgp_engine.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/bgpd/bgp_engine.h b/bgpd/bgp_engine.h
index 6137226e..2d36b260 100644
--- a/bgpd/bgp_engine.h
+++ b/bgpd/bgp_engine.h
@@ -62,7 +62,9 @@ static struct queue_stats routing_engine_queue_stats ;
Inline void
bgp_queue_logging(const char* name, mqueue_queue mq, struct queue_stats* stats)
{
- double average ;
+ unsigned long average ;
+ unsigned av_i ;
+ unsigned av_f ;
unsigned my_count ;
mqueue_block mqb ;
@@ -96,11 +98,13 @@ bgp_queue_logging(const char* name, mqueue_queue mq, struct queue_stats* stats)
qpt_mutex_unlock(&mq->mutex) ;
- average = stats->total ;
- average /= stats->count ;
+ average = stats->total * 1000 ;
+ average = (average / stats->count) + 5 ;
+ av_i = average / 1000 ;
+ av_f = (average % 1000) / 10 ;
- zlog_debug("%s queue: max=%u recent: max=%u av=%3.1f (%u) [x=%u e=%u u=%u]",
- name, stats->max, stats->recent, average, stats->count,
+ zlog_debug("%s queue: max=%u recent: max=%u av=%d.%.2d (%u) [x=%u e=%u u=%u]",
+ name, stats->max, stats->recent, av_i, av_f, stats->count,
stats->xon, stats->event, stats->update) ;
stats->recent = 0 ;