From 82b742533bdbf977ec95997fc0011a47a672bcc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maria=20Mat=C4=9Bjka?= Date: Fri, 26 Oct 2018 09:32:35 +0200 Subject: [PATCH] Perf: Protocol to measure BIRD performance internally This protocol is highly experimental and nobody should use it in production. Anyway it may help you getting some insight into what eats so much time in filter processing. --- configure.ac | 2 +- doc/bird.sgml | 50 ++++++- nest/proto.c | 3 + nest/protocol.h | 4 +- nest/route.h | 4 +- proto/perf/Doc | 1 + proto/perf/Makefile | 6 + proto/perf/config.Y | 58 ++++++++ proto/perf/parse.pl | 169 +++++++++++++++++++++++ proto/perf/perf.c | 319 ++++++++++++++++++++++++++++++++++++++++++++ proto/perf/perf.h | 45 +++++++ 11 files changed, 656 insertions(+), 5 deletions(-) create mode 100644 proto/perf/Doc create mode 100644 proto/perf/Makefile create mode 100644 proto/perf/config.Y create mode 100755 proto/perf/parse.pl create mode 100644 proto/perf/perf.c create mode 100644 proto/perf/perf.h diff --git a/configure.ac b/configure.ac index 4dda60cb..da1a8f44 100644 --- a/configure.ac +++ b/configure.ac @@ -271,7 +271,7 @@ if test "$enable_mpls_kernel" != no ; then fi fi -all_protocols="$proto_bfd babel bgp mrt ospf pipe radv rip $proto_rpki static" +all_protocols="$proto_bfd babel bgp mrt ospf perf pipe radv rip $proto_rpki static" all_protocols=`echo $all_protocols | sed 's/ /,/g'` diff --git a/doc/bird.sgml b/doc/bird.sgml index c76873cd..b3ac38b0 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -25,7 +25,7 @@ configuration - something in config which is not keyword. Ondrej Filip @@ -3759,6 +3759,54 @@ protocol ospf MyOSPF { } +Perf +