summaryrefslogtreecommitdiff
path: root/proto/perf/perf.h
diff options
context:
space:
mode:
authorMaria Matějka <mq@jmq.cz>2018-10-26 09:32:35 +0200
committerMaria Matejka <mq@ucw.cz>2018-12-18 15:08:31 +0100
commit82b742533bdbf977ec95997fc0011a47a672bcc8 (patch)
treed806c6229340325494ce757e13f149ff9e27948b /proto/perf/perf.h
parent78131eee64aeaf14cf418d6e5bf3f17ca602afb7 (diff)
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.
Diffstat (limited to 'proto/perf/perf.h')
-rw-r--r--proto/perf/perf.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/proto/perf/perf.h b/proto/perf/perf.h
new file mode 100644
index 00000000..301c6110
--- /dev/null
+++ b/proto/perf/perf.h
@@ -0,0 +1,45 @@
+/*
+ * BIRD -- Benchmarking Dummy Protocol
+ *
+ * (c) 2018 Maria Matejka <mq@jmq.cz>
+ *
+ * Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+#ifndef _BIRD_PERF_H_
+#define _BIRD_PERF_H_
+
+enum perf_mode {
+ PERF_MODE_IMPORT,
+ PERF_MODE_EXPORT,
+};
+
+struct perf_config {
+ struct proto_config p;
+ btime threshold_min;
+ btime threshold_max;
+ uint from;
+ uint to;
+ uint repeat;
+ uint keep;
+ enum perf_mode mode;
+};
+
+struct perf_proto {
+ struct proto p;
+ struct ifa *ifa;
+ void *data;
+ event *loop;
+ btime threshold_min;
+ btime threshold_max;
+ uint from;
+ uint to;
+ uint repeat;
+ uint run;
+ uint exp;
+ uint stop;
+ uint keep;
+ enum perf_mode mode;
+};
+
+#endif