diff options
author | Quentin Young <qlyoung@nvidia.com> | 2020-09-18 21:14:09 +0200 |
---|---|---|
committer | Quentin Young <qlyoung@nvidia.com> | 2020-10-23 21:13:51 +0200 |
commit | a72255a336c68dcc62d7bd9fcc1d409ee766cf77 (patch) | |
tree | e9b45dc7bece4b9a21e33ac15154bd9b748ed495 | |
parent | lib: add tracepoints for *malloc, list ops (diff) | |
download | frr-a72255a336c68dcc62d7bd9fcc1d409ee766cf77.tar.xz frr-a72255a336c68dcc62d7bd9fcc1d409ee766cf77.zip |
lib: add tracepoint for route table get
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
-rw-r--r-- | lib/table.c | 7 | ||||
-rw-r--r-- | lib/trace.h | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/table.c b/lib/table.c index b315637f1..0d1be2bef 100644 --- a/lib/table.c +++ b/lib/table.c @@ -27,6 +27,7 @@ #include "table.h" #include "memory.h" #include "sockunion.h" +#include "trace.h" DEFINE_MTYPE_STATIC(LIB, ROUTE_TABLE, "Route table") DEFINE_MTYPE(LIB, ROUTE_NODE, "Route node") @@ -276,6 +277,12 @@ struct route_node *route_node_lookup_maynull(struct route_table *table, struct route_node *route_node_get(struct route_table *table, union prefixconstptr pu) { + if (tracepoint_enabled(frr_libfrr, route_node_get)) { + char buf[PREFIX2STR_BUFFER]; + prefix2str(pu, buf, sizeof(buf)); + tracepoint(frr_libfrr, route_node_get, table, buf); + } + struct route_node search; struct prefix *p = &search.p; diff --git a/lib/trace.h b/lib/trace.h index 989361e66..5e0b13a65 100644 --- a/lib/trace.h +++ b/lib/trace.h @@ -39,6 +39,7 @@ #include "thread.h" #include "memory.h" #include "linklist.h" +#include "table.h" /* clang-format off */ @@ -219,6 +220,18 @@ TRACEPOINT_EVENT( ) ) +TRACEPOINT_EVENT( + frr_libfrr, + route_node_get, + TP_ARGS( + struct route_table *, table, char *, prefix + ), + TP_FIELDS( + ctf_integer_hex(intptr_t, table, table) + ctf_string(prefix, prefix) + ) +) + /* clang-format on */ #include <lttng/tracepoint-event.h> |