[lttng-dev] [PATCH lttng-ust] Add demo test back as an example
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu Mar 28 09:50:40 EDT 2013
* Jérémie Galarneau (jeremie.galarneau at efficios.com) wrote:
> Updated the lttng-ust man page to point to doc/examples/demo instead
> of the now moved /tests/demo.
Merged, thanks! I added demo to doc/examples/Makefile.am too.
Moreover, do we need "hello" under tests ? Why not move it under
doc/examples ?
Also, we'd need to add capability to build examples within the tree from
automake. e.g.
make examples
from lttng-ust root. (or with just a simple "make" or "make check" maybe ?)
Thanks,
Mathieu
>
> Minor typo fix.
>
> Signed-off-by: Jérémie Galarneau <jeremie.galarneau at efficios.com>
> ---
> doc/examples/demo/Makefile | 42 ++++++++++++++++++++++
> doc/examples/demo/README | 27 ++++++++++++++
> doc/examples/demo/demo-trace | 6 ++++
> doc/examples/demo/demo.c | 65 +++++++++++++++++++++++++++++++++
> doc/examples/demo/tp.c | 26 ++++++++++++++
> doc/examples/demo/tp2.c | 26 ++++++++++++++
> doc/examples/demo/tp3.c | 26 ++++++++++++++
> doc/examples/demo/ust_tests_demo.h | 71 +++++++++++++++++++++++++++++++++++++
> doc/examples/demo/ust_tests_demo2.h | 68 +++++++++++++++++++++++++++++++++++
> doc/examples/demo/ust_tests_demo3.h | 53 +++++++++++++++++++++++++++
> doc/man/lttng-ust.3 | 4 +--
> 11 files changed, 412 insertions(+), 2 deletions(-)
> create mode 100644 doc/examples/demo/Makefile
> create mode 100644 doc/examples/demo/README
> create mode 100755 doc/examples/demo/demo-trace
> create mode 100644 doc/examples/demo/demo.c
> create mode 100644 doc/examples/demo/tp.c
> create mode 100644 doc/examples/demo/tp2.c
> create mode 100644 doc/examples/demo/tp3.c
> create mode 100644 doc/examples/demo/ust_tests_demo.h
> create mode 100644 doc/examples/demo/ust_tests_demo2.h
> create mode 100644 doc/examples/demo/ust_tests_demo3.h
>
> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile
> new file mode 100644
> index 0000000..41f4321
> --- /dev/null
> +++ b/doc/examples/demo/Makefile
> @@ -0,0 +1,42 @@
> +# Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau at efficios.com>
> +#
> +# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
> +# OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
> +#
> +# Permission is hereby granted to use or copy this program for any
> +# purpose, provided the above notices are retained on all copies.
> +# Permission to modify the code and to distribute modified code is
> +# granted, provided the above notices are retained, and a notice that
> +# the code was modified is included with the above copyright notice.
> +
> +# This Makefile is not using automake so that people may see how to build
> +# a program and tracepoint provider probes as stand-alone shared objects.
> +
> +CC = gcc
> +LIBS = -ldl # On Linux
> +#LIBS = -lc # On BSD
> +CFLAGS = -I.
> +
> +all: demo lttng-ust-provider-ust-tests-demo.so lttng-ust-provider-ust-tests-demo3.so
> +
> +lttng-ust-provider-ust-tests-demo.o: tp.c tp2.c ust_tests_demo.h ust_tests_demo2.h
> + $(CC) $(CFLAGS) -fpic -c -o $@ $<
> +
> +lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o
> + $(CC) -shared -o $@ -llttng-ust $<
> +
> +lttng-ust-provider-ust-tests-demo3.o: tp3.c ust_tests_demo3.h
> + $(CC) $(CFLAGS) -fpic -c -o $@ $<
> +
> +lttng-ust-provider-ust-tests-demo3.so: lttng-ust-provider-ust-tests-demo3.o
> + $(CC) -shared -o $@ -llttng-ust $<
> +
> +demo.o: demo.c
> + $(CC) $(CFLAGS) -c -o $@ $<
> +
> +demo: demo.o
> + $(CC) demo.o -o $@ $(LIBS)
> +
> +.PHONY: clean
> +clean:
> + rm -f *.o *.so demo
> diff --git a/doc/examples/demo/README b/doc/examples/demo/README
> new file mode 100644
> index 0000000..03ee4ee
> --- /dev/null
> +++ b/doc/examples/demo/README
> @@ -0,0 +1,27 @@
> +This is a demo application used to test the LTTng userspace tracer.
> +
> +demo-trace shell script preloads the provider shared objects before
> +executing the demo. Executing "demo" without the shell wrapper will not
> +provide any tracing support. This ensures the demo binary can be
> +distributed on distros without depending on having liblttng-ust.so in
> +place. Note: the "demo" program must be compiled with "-ldl" on Linux,
> +with "-lc" on BSD.
> +
> +The simplest command to trace the demo program are:
> +lttng create
> +lttng enable-event -u -a
> +lttng start
> +./demo-trace
> +lttng destroy
> +
> +That will create a trace in your $HOME/lttng-traces directory.
> +
> +The resulting babeltrace output should look like this:
> +[554297567999315] ust_tests_demo:starting: { 1 }, { value = 123 }
> +[554297568020834] ust_tests_demo2:loop: { 1 }, { intfield = 0, intfield2 = 0x0, longfield = 0, netintfield = 0, netintfieldhex = 0x0, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2 }
> +[554297568024780] ust_tests_demo2:loop: { 1 }, { intfield = 1, intfield2 = 0x1, longfield = 1, netintfield = 1, netintfieldhex = 0x1, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2 }
> +[554297568027050] ust_tests_demo2:loop: { 1 }, { intfield = 2, intfield2 = 0x2, longfield = 2, netintfield = 2, netintfieldhex = 0x2, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2 }
> +[554297568029014] ust_tests_demo2:loop: { 1 }, { intfield = 3, intfield2 = 0x3, longfield = 3, netintfield = 3, netintfieldhex = 0x3, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2 }
> +[554297568030861] ust_tests_demo2:loop: { 1 }, { intfield = 4, intfield2 = 0x4, longfield = 4, netintfield = 4, netintfieldhex = 0x4, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2 }
> +[554297568033138] ust_tests_demo:done: { 1 }, { value = 456 }
> +[554297568034533] ust_tests_demo3:done: { 1 }, { value = 42 }
> diff --git a/doc/examples/demo/demo-trace b/doc/examples/demo/demo-trace
> new file mode 100755
> index 0000000..dd67727
> --- /dev/null
> +++ b/doc/examples/demo/demo-trace
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +
> +DIR=$(dirname $0)
> +DIR=$(readlink -f $DIR)
> +
> +LD_PRELOAD=$DIR/lttng-ust-provider-ust-tests-demo.so:$DIR/lttng-ust-provider-ust-tests-demo3.so $DIR/demo ${*}
> diff --git a/doc/examples/demo/demo.c b/doc/examples/demo/demo.c
> new file mode 100644
> index 0000000..e2b61c2
> --- /dev/null
> +++ b/doc/examples/demo/demo.c
> @@ -0,0 +1,65 @@
> +/*
> + * Copyright (C) 2009 Pierre-Marc Fournier
> + * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * 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 <stdio.h>
> +#include <unistd.h>
> +#include <sys/mman.h>
> +#include <stdarg.h>
> +#include <sys/types.h>
> +#include <sys/stat.h>
> +#include <fcntl.h>
> +#include <signal.h>
> +#include <string.h>
> +#include <arpa/inet.h>
> +#include <stdlib.h>
> +
> +#define TRACEPOINT_DEFINE
> +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
> +#include "ust_tests_demo.h"
> +#include "ust_tests_demo2.h"
> +#include "ust_tests_demo3.h"
> +
> +int main(int argc, char **argv)
> +{
> + int i, netint;
> + long values[] = { 1, 2, 3 };
> + char text[10] = "test";
> + double dbl = 2.0;
> + float flt = 2222.0;
> + int delay = 0;
> +
> + if (argc == 2)
> + delay = atoi(argv[1]);
> +
> + fprintf(stderr, "Demo program starting.\n");
> +
> + sleep(delay);
> +
> + fprintf(stderr, "Tracing... ");
> + tracepoint(ust_tests_demo, starting, 123);
> + for (i = 0; i < 5; i++) {
> + netint = htonl(i);
> + tracepoint(ust_tests_demo2, loop, i, netint, values,
> + text, strlen(text), dbl, flt);
> + }
> + tracepoint(ust_tests_demo, done, 456);
> + tracepoint(ust_tests_demo3, done, 42);
> + fprintf(stderr, " done.\n");
> + return 0;
> +}
> diff --git a/doc/examples/demo/tp.c b/doc/examples/demo/tp.c
> new file mode 100644
> index 0000000..8e44db4
> --- /dev/null
> +++ b/doc/examples/demo/tp.c
> @@ -0,0 +1,26 @@
> +/*
> + * tp.c
> + *
> + * Copyright (c) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#define TRACEPOINT_CREATE_PROBES
> +#include "ust_tests_demo.h"
> diff --git a/doc/examples/demo/tp2.c b/doc/examples/demo/tp2.c
> new file mode 100644
> index 0000000..ba45c23
> --- /dev/null
> +++ b/doc/examples/demo/tp2.c
> @@ -0,0 +1,26 @@
> +/*
> + * tp2.c
> + *
> + * Copyright (c) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#define TRACEPOINT_CREATE_PROBES
> +#include "ust_tests_demo2.h"
> diff --git a/doc/examples/demo/tp3.c b/doc/examples/demo/tp3.c
> new file mode 100644
> index 0000000..5f97651
> --- /dev/null
> +++ b/doc/examples/demo/tp3.c
> @@ -0,0 +1,26 @@
> +/*
> + * tp3.c
> + *
> + * Copyright (c) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#define TRACEPOINT_CREATE_PROBES
> +#include "ust_tests_demo3.h"
> diff --git a/doc/examples/demo/ust_tests_demo.h b/doc/examples/demo/ust_tests_demo.h
> new file mode 100644
> index 0000000..b27d539
> --- /dev/null
> +++ b/doc/examples/demo/ust_tests_demo.h
> @@ -0,0 +1,71 @@
> +#undef TRACEPOINT_PROVIDER
> +#define TRACEPOINT_PROVIDER ust_tests_demo
> +
> +#if !defined(_TRACEPOINT_UST_TESTS_DEMO_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
> +#define _TRACEPOINT_UST_TESTS_DEMO_H
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +/*
> + * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#include <lttng/tracepoint.h>
> +
> +TRACEPOINT_EVENT(ust_tests_demo, starting,
> + TP_ARGS(int, value),
> + TP_FIELDS(
> + ctf_integer(int, value, value)
> + )
> +)
> +TRACEPOINT_LOGLEVEL(ust_tests_demo, starting, TRACE_CRIT)
> +
> +/*
> + * Dummy model information, just for example. TODO: we should check if
> + * EMF model URI have some standard format we should follow.
> + */
> +TRACEPOINT_MODEL_EMF_URI(ust_tests_demo, starting,
> + "http://example.com/path_to_model?q=ust_tests_demo:starting")
> +
> +TRACEPOINT_EVENT(ust_tests_demo, done,
> + TP_ARGS(int, value),
> + TP_FIELDS(
> + ctf_integer(int, value, value)
> + )
> +)
> +TRACEPOINT_LOGLEVEL(ust_tests_demo, done, TRACE_CRIT)
> +
> +TRACEPOINT_MODEL_EMF_URI(ust_tests_demo, done,
> + "http://example.com/path_to_model?q=ust_tests_demo:done")
> +
> +#endif /* _TRACEPOINT_UST_TESTS_DEMO_H */
> +
> +#undef TRACEPOINT_INCLUDE
> +#define TRACEPOINT_INCLUDE "./ust_tests_demo.h"
> +
> +/* This part must be outside ifdef protection */
> +#include <lttng/tracepoint-event.h>
> +
> +#ifdef __cplusplus
> +}
> +#endif
> diff --git a/doc/examples/demo/ust_tests_demo2.h b/doc/examples/demo/ust_tests_demo2.h
> new file mode 100644
> index 0000000..25d42ad
> --- /dev/null
> +++ b/doc/examples/demo/ust_tests_demo2.h
> @@ -0,0 +1,68 @@
> +#undef TRACEPOINT_PROVIDER
> +#define TRACEPOINT_PROVIDER ust_tests_demo2
> +
> +#if !defined(_TRACEPOINT_UST_TESTS_DEMO2_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
> +#define _TRACEPOINT_UST_TESTS_DEMO2_H
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +/*
> + * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#include <lttng/tracepoint.h>
> +
> +TRACEPOINT_EVENT(ust_tests_demo2, loop,
> + TP_ARGS(int, anint, int, netint, long *, values,
> + char *, text, size_t, textlen,
> + double, doublearg, float, floatarg),
> + TP_FIELDS(
> + ctf_integer(int, intfield, anint)
> + ctf_integer_hex(int, intfield2, anint)
> + ctf_integer(long, longfield, anint)
> + ctf_integer_network(int, netintfield, netint)
> + ctf_integer_network_hex(int, netintfieldhex, netint)
> + ctf_array(long, arrfield1, values, 3)
> + ctf_array_text(char, arrfield2, text, 10)
> + ctf_sequence(char, seqfield1, text,
> + size_t, textlen)
> + ctf_sequence_text(char, seqfield2, text,
> + size_t, textlen)
> + ctf_string(stringfield, text)
> + ctf_float(float, floatfield, floatarg)
> + ctf_float(double, doublefield, doublearg)
> + )
> +)
> +TRACEPOINT_LOGLEVEL(ust_tests_demo2, loop, TRACE_WARNING)
> +
> +#endif /* _TRACEPOINT_UST_TESTS_DEMO2_H */
> +
> +#undef TRACEPOINT_INCLUDE
> +#define TRACEPOINT_INCLUDE "./ust_tests_demo2.h"
> +
> +/* This part must be outside ifdef protection */
> +#include <lttng/tracepoint-event.h>
> +
> +#ifdef __cplusplus
> +}
> +#endif
> diff --git a/doc/examples/demo/ust_tests_demo3.h b/doc/examples/demo/ust_tests_demo3.h
> new file mode 100644
> index 0000000..c7b63dd
> --- /dev/null
> +++ b/doc/examples/demo/ust_tests_demo3.h
> @@ -0,0 +1,53 @@
> +#undef TRACEPOINT_PROVIDER
> +#define TRACEPOINT_PROVIDER ust_tests_demo3
> +
> +#if !defined(_TRACEPOINT_UST_TESTS_DEMO3_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
> +#define _TRACEPOINT_UST_TESTS_DEMO3_H
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +/*
> + * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#include <lttng/tracepoint.h>
> +
> +TRACEPOINT_EVENT(ust_tests_demo3, done,
> + TP_ARGS(int, value),
> + TP_FIELDS(
> + ctf_integer(int, value, value)
> + )
> +)
> +TRACEPOINT_LOGLEVEL(ust_tests_demo3, done, TRACE_WARNING)
> +
> +#endif /* _TRACEPOINT_UST_TESTS_DEMO3_H */
> +
> +#undef TRACEPOINT_INCLUDE
> +#define TRACEPOINT_INCLUDE "./ust_tests_demo3.h"
> +
> +/* This part must be outside ifdef protection */
> +#include <lttng/tracepoint-event.h>
> +
> +#ifdef __cplusplus
> +}
> +#endif
> diff --git a/doc/man/lttng-ust.3 b/doc/man/lttng-ust.3
> index 7cc3bfd..da3976d 100644
> --- a/doc/man/lttng-ust.3
> +++ b/doc/man/lttng-ust.3
> @@ -283,7 +283,7 @@ carefully:
> needed. Another way is to dlopen the tracepoint probe when needed
> by the application.
> - Example:
> - - tests/demo/ demo.c tp*.c ust_tests_demo*.h demo-trace
> + - doc/examples/demo demo.c tp*.c ust_tests_demo*.h demo-trace
>
> - Note about dlclose() usage: it is not safe to use dlclose on a
> provider shared object that is being actively used for tracing due
> @@ -365,7 +365,7 @@ lttng-gen-tp(1), lttng(1), babeltrace(1), lttng-sessiond(8)
> .SH "BUGS"
>
> .PP
> -No knows bugs at this point.
> +No known bugs at this point.
>
> If you encounter any issues or usability problem, please report it on
> our mailing list <lttng-dev at lists.lttng.org> to help improve this
> --
> 1.8.2
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list