diff options
| author | Quentin Young <qlyoung@nvidia.com> | 2020-09-18 15:14:09 -0400 |
|---|---|---|
| committer | Quentin Young <qlyoung@nvidia.com> | 2020-10-23 15:13:51 -0400 |
| commit | a72255a336c68dcc62d7bd9fcc1d409ee766cf77 (patch) | |
| tree | e9b45dc7bece4b9a21e33ac15154bd9b748ed495 | |
| parent | d92658f4f7511c1b2c47a063df51ad3190db7af3 (diff) | |
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 b315637f19..0d1be2beff 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 989361e66c..5e0b13a655 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> |
