diff options
author | Quentin Young <qlyoung@nvidia.com> | 2020-09-28 21:49:22 +0200 |
---|---|---|
committer | Quentin Young <qlyoung@nvidia.com> | 2020-10-23 21:13:51 +0200 |
commit | 912d45a1610dc7ec14017a2d8618ad357e89370e (patch) | |
tree | 4decb6683b6c781e028630cd959eab75fcdc7c7f /lib/trace.h | |
parent | lib: add tracepoint for route table get (diff) | |
download | frr-912d45a1610dc7ec14017a2d8618ad357e89370e.tar.xz frr-912d45a1610dc7ec14017a2d8618ad357e89370e.zip |
lib: move trace.h -> libfrr_trace.h
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
Diffstat (limited to 'lib/trace.h')
-rw-r--r-- | lib/trace.h | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/lib/trace.h b/lib/trace.h deleted file mode 100644 index 5e0b13a65..000000000 --- a/lib/trace.h +++ /dev/null @@ -1,249 +0,0 @@ -/* Tracing - * - * Copyright (C) 2020 NVIDIA Corporation - * Quentin Young - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; see the file COPYING; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#if !defined(_TRACE_H) || defined(TRACEPOINT_HEADER_MULTI_READ) -#define _TRACE_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif /* HAVE_CONFIG_H */ - -#ifdef HAVE_LTTNG - -#undef TRACEPOINT_PROVIDER -#define TRACEPOINT_PROVIDER frr_libfrr - -#undef TRACEPOINT_INCLUDE -#define TRACEPOINT_INCLUDE "./trace.h" - -#include <lttng/tracepoint.h> - -#include "hash.h" -#include "thread.h" -#include "memory.h" -#include "linklist.h" -#include "table.h" - -/* clang-format off */ - -TRACEPOINT_EVENT( - frr_libfrr, - hash_get, - TP_ARGS(struct hash *, hash, void *, data), - TP_FIELDS( - ctf_string(name, hash->name ? hash->name : "(unnamed)") - ctf_integer(unsigned int, index_size, hash->size) - ctf_integer(unsigned long, item_count, hash->count) - ctf_integer_hex(intptr_t, data_ptr, data) - ) -) - -TRACEPOINT_LOGLEVEL(frr_libfrr, hash_get, TRACE_INFO) - -TRACEPOINT_EVENT( - frr_libfrr, - hash_insert, - TP_ARGS(struct hash *, hash, void *, data, unsigned int, key), - TP_FIELDS( - ctf_string(name, hash->name ? hash->name : "(unnamed)") - ctf_integer(unsigned int, key, hash->size) - ctf_integer(unsigned int, index_size, hash->size) - ctf_integer(unsigned long, item_count, hash->count) - ctf_integer_hex(intptr_t, data_ptr, data) - ) -) - -TRACEPOINT_LOGLEVEL(frr_libfrr, hash_insert, TRACE_INFO) - -TRACEPOINT_EVENT( - frr_libfrr, - hash_release, - TP_ARGS(struct hash *, hash, void *, data, void *, released_item), - TP_FIELDS( - ctf_string(name, hash->name ? hash->name : "(unnamed)") - ctf_integer(unsigned int, index_size, hash->size) - ctf_integer(unsigned long, item_count, hash->count) - ctf_integer_hex(intptr_t, data_ptr, data) - ctf_integer_hex(intptr_t, released_item, data) - ) -) - -TRACEPOINT_LOGLEVEL(frr_libfrr, hash_release, TRACE_INFO) - -#define THREAD_SCHEDULE_ARGS \ - TP_ARGS(struct thread_master *, master, const char *, funcname, \ - const char *, schedfrom, int, fromln, struct thread **, \ - thread_ptr, int, fd, int, val, void *, arg, long, time) - -TRACEPOINT_EVENT_CLASS( - frr_libfrr, - thread_operation, - THREAD_SCHEDULE_ARGS, - TP_FIELDS( - ctf_string(threadmaster_name, master->name) - ctf_string(function_name, funcname ? funcname : "(unknown function)") - ctf_string(scheduled_from, schedfrom ? schedfrom : "(unknown file)") - ctf_integer(int, scheduled_on_line, fromln) - ctf_integer_hex(intptr_t, thread_addr, thread_ptr ? *thread_ptr : NULL) - ctf_integer(int, file_descriptor, fd) - ctf_integer(int, event_value, val) - ctf_integer_hex(intptr_t, argument_ptr, arg) - ctf_integer(long, timer, time) - ) -) - -#define THREAD_OPERATION_TRACEPOINT_INSTANCE(name) \ - TRACEPOINT_EVENT_INSTANCE(frr_libfrr, thread_operation, name, \ - THREAD_SCHEDULE_ARGS) \ - TRACEPOINT_LOGLEVEL(frr_libfrr, name, TRACE_INFO) - -THREAD_OPERATION_TRACEPOINT_INSTANCE(schedule_timer) -THREAD_OPERATION_TRACEPOINT_INSTANCE(schedule_event) -THREAD_OPERATION_TRACEPOINT_INSTANCE(schedule_read) -THREAD_OPERATION_TRACEPOINT_INSTANCE(schedule_write) -THREAD_OPERATION_TRACEPOINT_INSTANCE(thread_cancel) -THREAD_OPERATION_TRACEPOINT_INSTANCE(thread_cancel_async) -THREAD_OPERATION_TRACEPOINT_INSTANCE(thread_call) - -TRACEPOINT_EVENT( - frr_libfrr, - frr_pthread_run, - TP_ARGS( - char *, name - ), - TP_FIELDS( - ctf_string(frr_pthread_name, name) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - frr_pthread_stop, - TP_ARGS( - char *, name - ), - TP_FIELDS( - ctf_string(frr_pthread_name, name) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - memalloc, - TP_ARGS( - struct memtype *, mt, void *, ptr, size_t, size - ), - TP_FIELDS( - ctf_string(memtype, mt->name) - ctf_integer(size_t, size, size) - ctf_integer_hex(intptr_t, ptr, ptr) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - memfree, - TP_ARGS( - struct memtype *, mt, void *, ptr - ), - TP_FIELDS( - ctf_string(memtype, mt->name) - ctf_integer_hex(intptr_t, ptr, ptr) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - list_add, - TP_ARGS( - struct list *, list, const void *, ptr - ), - TP_FIELDS( - ctf_integer_hex(intptr_t, list, list) - ctf_integer(unsigned int, count, list->count) - ctf_integer_hex(intptr_t, ptr, ptr) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - list_remove, - TP_ARGS( - struct list *, list, const void *, ptr - ), - TP_FIELDS( - ctf_integer_hex(intptr_t, list, list) - ctf_integer(unsigned int, count, list->count) - ctf_integer_hex(intptr_t, ptr, ptr) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - list_delete_node, - TP_ARGS( - struct list *, list, const void *, node - ), - TP_FIELDS( - ctf_integer_hex(intptr_t, list, list) - ctf_integer(unsigned int, count, list->count) - ctf_integer_hex(intptr_t, node, node) - ) -) - -TRACEPOINT_EVENT( - frr_libfrr, - list_sort, - TP_ARGS( - struct list *, list - ), - TP_FIELDS( - ctf_integer_hex(intptr_t, list, list) - ctf_integer(unsigned int, count, list->count) - ) -) - -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> -#include <lttng/tracelog.h> - -#else /* HAVE_LTTNG */ - -#define tracepoint(...) -#define tracef(...) -#define tracelog(...) -#define tracepoint_enabled(...) true - -#endif /* HAVE_LTTNG */ - -#endif /* _TRACE_H */ |