From a10cfdbdf6ed789bc14a04a883bffaf3df2b6959 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 23 Aug 2011 17:15:57 -0400 Subject: [PATCH] Add UST core probe (metadata description) Signed-off-by: Mathieu Desnoyers --- libust/Makefile.am | 4 ++- libust/probes/lttng-probe-ust.c | 16 +++++++++++ libust/probes/lttng-probe-ust.h | 51 +++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 libust/probes/lttng-probe-ust.c create mode 100644 libust/probes/lttng-probe-ust.h diff --git a/libust/Makefile.am b/libust/Makefile.am index 0a6834ae..88777ef3 100644 --- a/libust/Makefile.am +++ b/libust/Makefile.am @@ -17,7 +17,9 @@ libust_la_SOURCES = \ ltt-probes.c \ lttng-ust-abi.c \ lttng-ust-comm.c \ - ust-core.c + ust-core.c \ + probes/lttng-probe-ust.c \ + probes/lttng-probe-ust.h #removed: buffers.c buffers.h diff --git a/libust/probes/lttng-probe-ust.c b/libust/probes/lttng-probe-ust.c new file mode 100644 index 00000000..a5fba868 --- /dev/null +++ b/libust/probes/lttng-probe-ust.c @@ -0,0 +1,16 @@ +/* + * probes/lttng-probe-ust.c + * + * Copyright 2010 (c) - Mathieu Desnoyers + * + * LTTng UST core probes. + * + * Dual LGPL v2.1/GPL v2 license. + */ + +/* + * Create LTTng tracepoint probes. + */ +#define TRACEPOINT_CREATE_PROBES + +#include "lttng-probe-ust.h" diff --git a/libust/probes/lttng-probe-ust.h b/libust/probes/lttng-probe-ust.h new file mode 100644 index 00000000..ba7ff3a1 --- /dev/null +++ b/libust/probes/lttng-probe-ust.h @@ -0,0 +1,51 @@ +#undef TRACEPOINT_SYSTEM +#define TRACEPOINT_SYSTEM lttng_ust + +#if !defined(_TRACEPOINT_LTTNG_UST_H) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define _TRACEPOINT_LTTNG_UST_H + +/* + * Copyright (C) 2011 Mathieu Desnoyers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; version 2.1 of + * the License. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +TRACEPOINT_EVENT(lttng_metadata, + + TP_PROTO(const char *str), + + TP_ARGS(str), + + /* + * Not exactly a string: more a sequence of bytes (dynamic + * array) without the length. This is a dummy anyway: we only + * use this declaration to generate an event metadata entry. + */ + TP_FIELDS( + ctf_string(str, str) + ) +) + +#undef TRACEPOINT_INCLUDE_PATH +#define TRACEPOINT_INCLUDE_PATH ./probes +#undef TRACEPOINT_INCLUDE_FILE +#define TRACEPOINT_INCLUDE_FILE lttng-probe-ust + +#endif /* _TRACEPOINT_LTTNG_UST_H */ + +/* This part must be outside protection */ +#include -- 2.34.1