From 7290272a43db41fd13f2e102076eedbad9879049 Mon Sep 17 00:00:00 2001 From: Jan Maria Matejka Date: Thu, 1 Nov 2018 14:16:04 +0100 Subject: [PATCH] Perf: export mode for measuring feed time --- doc/bird.sgml | 10 +++++++-- proto/perf/config.Y | 5 ++++- proto/perf/perf.c | 50 ++++++++++++++++++++++++++++++++++++++++++++- proto/perf/perf.h | 7 +++++++ 4 files changed, 68 insertions(+), 4 deletions(-) diff --git a/doc/bird.sgml b/doc/bird.sgml index 0d8d6b15..2926c556 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -3758,21 +3758,27 @@ protocol ospf MyOSPF {

The Perf protocol is a generator of fake routes together with a time measurement framework. Its purpose is to check BIRD performance and to benchmark filters. -

This protocol runs in several steps. In each step, it generates 2^x routes, +

Import mode of this protocol runs in several steps. In each step, it generates 2^x routes, imports them into the appropriate table and withdraws them. The exponent x is configurable. It runs the benchmark several times for the same x, then it increases x by one until it gets too high, then it stops. +

Export mode of this protocol repeats route refresh from table and measures how long it takes. +

Output data is logged on info level. There is a Perl script proto/perf/parse.pl which may be handy to parse the data and draw some plots.

Implementation of this protocol is experimental. Use with caution and do not keep -any instance of Perf in production configs. +any instance of Perf in production configs for long time. The config interface is also unstable +and may change in future versions without warning. Configuration

+ + Set perf mode. Default: import +