[lttng-dev] [PATCH lttng-ust] Remove redondant "hello" test and move "hello-static-lib" to doc/examples

Jérémie Galarneau jeremie.galarneau at efficios.com
Thu Apr 11 18:30:35 EDT 2013


On Thu, Apr 11, 2013 at 5:54 PM, Mathieu Desnoyers
<mathieu.desnoyers at efficios.com> wrote:
> redondant -> redundant

Indeed, will fix.

>
> * Jérémie Galarneau (jeremie.galarneau at efficios.com) wrote:
>> The examples are now automatically built as part of the default make target.
>>
>> The "hello" test verified that an application with statically embedded
>> tracepoint providers could be built. This is now covered by "easy-ust" in
>> doc/examples since we now build the examples.
>
> No, hello is referenced by lttng-ust(3) manpage.
>

Not anymore since I also changed the manpage in this patch to reflect
the change.

> Please leave it there, but move it to examples.
>

I don't mind keeping either easy-ust or hello as examples. However, I
don't see the point in keeping them both since they demonstrate the
same thing; that is building an application with built-in providers.
What do you think?

Jérémie

> Thanks,
>
> Mathieu
>
>>
>> Move the "hello-static-lib" test to doc/examples.
>>
>> This should provide complete and easy to understand Makefile examples to users
>> who wish to integrate tracepoint providers to their applications.
>>
>> Signed-off-by: Jérémie Galarneau <jeremie.galarneau at efficios.com>
>> ---
>>  .gitignore                                      |  6 +-
>>  README                                          |  2 +-
>>  configure.ac                                    |  2 -
>>  doc/examples/Makefile.am                        | 15 ++++
>>  doc/examples/README                             |  3 +
>>  doc/examples/demo/Makefile                      | 27 +++++--
>>  doc/examples/easy-ust/Makefile                  | 30 ++++++--
>>  doc/examples/hello-static-lib/Makefile          | 53 ++++++++++++++
>>  doc/examples/hello-static-lib/README            |  3 +
>>  doc/examples/hello-static-lib/hello.c           | 94 ++++++++++++++++++++++++
>>  doc/examples/hello-static-lib/tp.c              | 26 +++++++
>>  doc/examples/hello-static-lib/ust_tests_hello.h | 72 ++++++++++++++++++
>>  doc/man/lttng-ust.3                             | 62 ++++++++--------
>>  tests/Makefile.am                               |  2 +-
>>  tests/hello-static-lib/Makefile.am              | 18 -----
>>  tests/hello-static-lib/README                   |  3 -
>>  tests/hello-static-lib/hello.c                  | 95 ------------------------
>>  tests/hello-static-lib/tp.c                     | 26 -------
>>  tests/hello-static-lib/ust_tests_hello.h        | 72 ------------------
>>  tests/hello/Makefile.am                         | 13 ----
>>  tests/hello/Makefile.example.bsd                |  8 --
>>  tests/hello/Makefile.example.linux              |  8 --
>>  tests/hello/README                              |  2 -
>>  tests/hello/hello.c                             | 97 -------------------------
>>  tests/hello/tp.c                                | 26 -------
>>  tests/hello/ust_tests_hello.h                   | 76 -------------------
>>  26 files changed, 349 insertions(+), 492 deletions(-)
>>  create mode 100644 doc/examples/README
>>  create mode 100644 doc/examples/hello-static-lib/Makefile
>>  create mode 100644 doc/examples/hello-static-lib/README
>>  create mode 100644 doc/examples/hello-static-lib/hello.c
>>  create mode 100644 doc/examples/hello-static-lib/tp.c
>>  create mode 100644 doc/examples/hello-static-lib/ust_tests_hello.h
>>  delete mode 100644 tests/hello-static-lib/Makefile.am
>>  delete mode 100644 tests/hello-static-lib/README
>>  delete mode 100644 tests/hello-static-lib/hello.c
>>  delete mode 100644 tests/hello-static-lib/tp.c
>>  delete mode 100644 tests/hello-static-lib/ust_tests_hello.h
>>  delete mode 100644 tests/hello/Makefile.am
>>  delete mode 100644 tests/hello/Makefile.example.bsd
>>  delete mode 100644 tests/hello/Makefile.example.linux
>>  delete mode 100644 tests/hello/README
>>  delete mode 100644 tests/hello/hello.c
>>  delete mode 100644 tests/hello/tp.c
>>  delete mode 100644 tests/hello/ust_tests_hello.h
>>
>> diff --git a/.gitignore b/.gitignore
>> index 1065aa3..e118025 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -31,7 +31,10 @@ lttng-ust.pc
>>  ustctl/ustctl
>>  ust-consumerd/ust-consumerd
>>
>> -tests/hello/hello
>> +doc/examples/demo/demo
>> +doc/examples/easy-ust/sample
>> +doc/examples/hello-static-lib/hello
>> +
>>  tests/hello.cxx/hello
>>  tests/same_line_tracepoint/same_line_tracepoint
>>  tests/ust-basic-tracing/ust-basic-tracing
>> @@ -39,5 +42,4 @@ tests/ust-multi-test/ust-multi-test
>>  tests/trace_event/trace_event_test
>>  tests/tracepoint/benchmark/tracepoint_benchmark
>>  tests/tracepoint/tracepoint_test
>> -tests/hello-static-lib/hello
>>  tests/snprintf/prog
>> diff --git a/README b/README
>> index 30ccb34..dadcd1f 100644
>> --- a/README
>> +++ b/README
>> @@ -72,7 +72,7 @@ USAGE:
>>      - If building the provider directly into the application,
>>        link the application with "-llttng-ust".
>>      - If building a static library for the provider, link the static
>> -      library with "-lllttng-ust".
>> +      library with "-llttng-ust".
>>      - Include the tracepoint provider header into all C files using
>>        the provider.
>>      - Example:
>> diff --git a/configure.ac b/configure.ac
>> index e54cfea..be392cf 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -265,8 +265,6 @@ AC_CONFIG_FILES([
>>       liblttng-ust-cyg-profile/Makefile
>>       tools/Makefile
>>       tests/Makefile
>> -     tests/hello/Makefile
>> -     tests/hello-static-lib/Makefile
>>       tests/hello.cxx/Makefile
>>       tests/same_line_tracepoint/Makefile
>>       tests/snprintf/Makefile
>> diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
>> index 2dc042a..e9dd170 100644
>> --- a/doc/examples/Makefile.am
>> +++ b/doc/examples/Makefile.am
>> @@ -1,6 +1,12 @@
>> +SUBDIRS = easy-ust demo hello-static-lib
>> +
>> +doc_examplesdir = ${docdir}/examples
>>  doc_examples_easy_ustdir = ${docdir}/examples/easy-ust
>>  doc_examples_gen_tpdir = ${docdir}/examples/gen-tp
>>  doc_examples_demodir = ${docdir}/examples/demo
>> +doc_examples_hello_static_libdir = ${docdir}/examples/hello-static-lib
>> +
>> +dist_doc_examples_DATA = README
>>
>>  dist_doc_examples_easy_ust_DATA = easy-ust/Makefile \
>>       easy-ust/sample.c \
>> @@ -19,3 +25,12 @@ dist_doc_examples_demo_DATA = demo/demo.c \
>>       demo/ust_tests_demo2.h \
>>       demo/ust_tests_demo3.h \
>>       demo/ust_tests_demo.h
>> +
>> +dist_doc_examples_hello_static_lib_DATA = hello-static-lib/Makefile \
>> +     hello-static-lib/hello.c \
>> +     hello-static-lib/README \
>> +     hello-static-lib/ust_tests_hello.h \
>> +     hello-static-lib/tp.c
>> +
>> +BUILD_EXAMPLES_FROM_TREE = 1
>> +export
>> diff --git a/doc/examples/README b/doc/examples/README
>> new file mode 100644
>> index 0000000..e9ed352
>> --- /dev/null
>> +++ b/doc/examples/README
>> @@ -0,0 +1,3 @@
>> +To build the examples from the source tree, the BUILD_EXAMPLES_FROM_TREE
>> +environment variable must be defined. This will force the examples'
>> +Makefiles to use the source tree's public header files and libraries.
>> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile
>> index 41f4321..0c829da 100644
>> --- a/doc/examples/demo/Makefile
>> +++ b/doc/examples/demo/Makefile
>> @@ -9,13 +9,30 @@
>>  # 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.
>> +# This Makefile is not using automake so that users may see how to build
>> +# a program with tracepoint provider probes as stand-alone shared objects.
>>
>>  CC = gcc
>>  LIBS = -ldl  # On Linux
>>  #LIBS = -lc  # On BSD
>> -CFLAGS = -I.
>> +CFLAGS += -I.
>> +
>> +# Only necessary when building from the source tree and lttng-ust is not
>> +# installed
>> +ifdef BUILD_EXAMPLES_FROM_TREE
>> +CFLAGS += -I../../../include/
>> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
>> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>> +
>> +# Third-party Makefiles have to define these targets to integrate with an
>> +# automake project
>> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec uninstall \
>> +     install-dvi install-html install-info install-ps install-pdf \
>> +     installdirs check installcheck mostlyclean distclean maintainer-clean \
>> +     dvi html pdf ps info tags ctags
>> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
>> +$(EMPTY_AUTOMAKE_TARGETS):
>> +endif
>>
>>  all: demo lttng-ust-provider-ust-tests-demo.so lttng-ust-provider-ust-tests-demo3.so
>>
>> @@ -23,13 +40,13 @@ lttng-ust-provider-ust-tests-demo.o: tp.c tp2.c ust_tests_demo.h ust_tests_demo2
>>       $(CC) $(CFLAGS) -fpic -c -o $@ $<
>>
>>  lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o
>> -     $(CC) -shared -o $@ -llttng-ust $<
>> +     $(CC) -shared -o $@ $(LDFLAGS) -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 $<
>> +     $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $<
>>
>>  demo.o: demo.c
>>       $(CC) $(CFLAGS) -c -o $@ $<
>> diff --git a/doc/examples/easy-ust/Makefile b/doc/examples/easy-ust/Makefile
>> index 1e3c941..304632b 100644
>> --- a/doc/examples/easy-ust/Makefile
>> +++ b/doc/examples/easy-ust/Makefile
>> @@ -10,20 +10,36 @@
>>  # 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 can see how to make
>> -# simply. It builds a program with a statically embedded tracepoint
>> -# provider probe.
>> +# This makefile is not using automake so that users can see how to build
>> +# a program with a statically embedded tracepoint provider probe.
>>  # the "html" target helps for documentation (req. code2html)
>>
>>  CC = gcc
>>  LIBS = -ldl -llttng-ust              # On Linux
>>  #LIBS = -lc -llttng-ust              # On BSD
>> -CFLAGS = -I.
>> +CFLAGS += -I.
>> +
>> +# Only necessary when building from the source tree and lttng-ust is not
>> +# installed
>> +ifdef BUILD_EXAMPLES_FROM_TREE
>> +CFLAGS += -I../../../include/
>> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
>> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>> +
>> +# Third-party Makefiles have to define these targets to integrate with an
>> +# automake project
>> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec uninstall \
>> +     install-dvi install-html install-info install-ps install-pdf \
>> +     installdirs check installcheck mostlyclean distclean maintainer-clean \
>> +     dvi pdf ps info tags ctags
>> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
>> +$(EMPTY_AUTOMAKE_TARGETS):
>> +endif
>>
>>  all: sample
>>
>>  sample: sample.o tp.o
>> -     $(CC) -o $@ $^ $(LIBS)
>> +     $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
>>
>>  sample.o: sample.c sample_component_provider.h
>>       $(CC) $(CFLAGS) -c -o $@ $<
>> @@ -33,7 +49,7 @@ tp.o: tp.c sample_component_provider.h
>>
>>  html: sample_component_provider.html sample.html tp.html
>>
>> -%.html: %.c
>> +%.html: %.c
>>       code2html -lc $< $@
>>
>>  %.html : %.h
>> @@ -41,5 +57,5 @@ html: sample_component_provider.html sample.html tp.html
>>
>>  .PHONY: clean
>>  clean:
>> -     rm -f *.html
>> +     rm -f *.html
>>       rm -f *.o sample
>> diff --git a/doc/examples/hello-static-lib/Makefile b/doc/examples/hello-static-lib/Makefile
>> new file mode 100644
>> index 0000000..c18fd3f
>> --- /dev/null
>> +++ b/doc/examples/hello-static-lib/Makefile
>> @@ -0,0 +1,53 @@
>> +# 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 users may see how to build
>> +# a program with tracepoint provider probes in static libraries.
>> +
>> +CC = gcc
>> +CFLAGS += -I.
>> +LIBS = -ldl -llttng-ust      # On Linux
>> +#LIBS = -lc -llttng-ust      # On BSD
>> +
>> +# Only necessary when building from the source tree and lttng-ust is not
>> +# installed
>> +ifdef BUILD_EXAMPLES_FROM_TREE
>> +CFLAGS += -I../../../include/
>> +LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
>> +LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>> +
>> +# Third-party Makefiles have to define these targets to integrate with an
>> +# automake project
>> +EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec uninstall \
>> +     install-dvi install-html install-info install-ps install-pdf \
>> +     installdirs check installcheck mostlyclean distclean maintainer-clean \
>> +     dvi html pdf ps info tags ctags
>> +.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
>> +$(EMPTY_AUTOMAKE_TARGETS):
>> +endif
>> +
>> +all: hello
>> +
>> +lttng-ust-provider-hello.o: tp.c ust_tests_hello.h
>> +     $(CC) $(CFLAGS) -c -o $@ $<
>> +
>> +lttng-ust-provider-hello.a: lttng-ust-provider-hello.o
>> +     ar -rc $@ $<
>> +
>> +hello.o: hello.c
>> +     $(CC) $(CFLAGS) -c -o $@ $<
>> +
>> +hello: hello.o lttng-ust-provider-hello.a
>> +     $(CC) -o $@ $(LDFLAGS) $(LIBS) $^
>> +
>> +.PHONY: clean
>> +clean:
>> +     rm -f *.o *.a hello
>> diff --git a/doc/examples/hello-static-lib/README b/doc/examples/hello-static-lib/README
>> new file mode 100644
>> index 0000000..abb056f
>> --- /dev/null
>> +++ b/doc/examples/hello-static-lib/README
>> @@ -0,0 +1,3 @@
>> +This is a "hello world" application used to verify that an instrumented
>> +program can be built successfully and linked with tracepoint providers
>> +built as a separate static library.
>> diff --git a/doc/examples/hello-static-lib/hello.c b/doc/examples/hello-static-lib/hello.c
>> new file mode 100644
>> index 0000000..693709d
>> --- /dev/null
>> +++ b/doc/examples/hello-static-lib/hello.c
>> @@ -0,0 +1,94 @@
>> +/*
>> + * 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
>> +#include "ust_tests_hello.h"
>> +
>> +void inthandler(int sig)
>> +{
>> +     printf("in SIGUSR1 handler\n");
>> +     tracepoint(ust_tests_hello, tptest_sighandler);
>> +}
>> +
>> +int init_int_handler(void)
>> +{
>> +     int result;
>> +     struct sigaction act;
>> +
>> +     memset(&act, 0, sizeof(act));
>> +     result = sigemptyset(&act.sa_mask);
>> +     if (result == -1) {
>> +             perror("sigemptyset");
>> +             return -1;
>> +     }
>> +
>> +     act.sa_handler = inthandler;
>> +     act.sa_flags = SA_RESTART;
>> +
>> +     /* Only defer ourselves. Also, try to restart interrupted
>> +      * syscalls to disturb the traced program as little as possible.
>> +      */
>> +     result = sigaction(SIGUSR1, &act, NULL);
>> +     if (result == -1) {
>> +             perror("sigaction");
>> +             return -1;
>> +     }
>> +
>> +     return 0;
>> +}
>> +
>> +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;
>> +
>> +     init_int_handler();
>> +
>> +     if (argc == 2)
>> +             delay = atoi(argv[1]);
>> +
>> +     fprintf(stderr, "Hello, World!\n");
>> +
>> +     sleep(delay);
>> +
>> +     fprintf(stderr, "Tracing... ");
>> +     for (i = 0; i < 1000000; i++) {
>> +             netint = htonl(i);
>> +             tracepoint(ust_tests_hello, tptest, i, netint, values,
>> +                        text, strlen(text), dbl, flt);
>> +     }
>> +     fprintf(stderr, " done.\n");
>> +     return 0;
>> +}
>> diff --git a/doc/examples/hello-static-lib/tp.c b/doc/examples/hello-static-lib/tp.c
>> new file mode 100644
>> index 0000000..4790965
>> --- /dev/null
>> +++ b/doc/examples/hello-static-lib/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_hello.h"
>> diff --git a/doc/examples/hello-static-lib/ust_tests_hello.h b/doc/examples/hello-static-lib/ust_tests_hello.h
>> new file mode 100644
>> index 0000000..35ea5f5
>> --- /dev/null
>> +++ b/doc/examples/hello-static-lib/ust_tests_hello.h
>> @@ -0,0 +1,72 @@
>> +#undef TRACEPOINT_PROVIDER
>> +#define TRACEPOINT_PROVIDER ust_tests_hello
>> +
>> +#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
>> +#define _TRACEPOINT_UST_TESTS_HELLO_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_hello, tptest,
>> +     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_EVENT(ust_tests_hello, tptest_sighandler,
>> +     TP_ARGS(),
>> +     TP_FIELDS()
>> +)
>> +
>> +#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */
>> +
>> +#undef TRACEPOINT_INCLUDE
>> +#define TRACEPOINT_INCLUDE "./ust_tests_hello.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 5be3cfa..585d133 100644
>> --- a/doc/man/lttng-ust.3
>> +++ b/doc/man/lttng-ust.3
>> @@ -40,11 +40,11 @@ focus on the various types that can be recorded into a trace event:
>>  TRACEPOINT_EVENT(
>>       /*
>>        * provider name, not a variable but a string starting with a
>> -      * letter and containing either letters, numbers or underscores.
>> +      * letter and containing either letters, numbers or underscores.
>>        * Needs to be the same as TRACEPOINT_PROVIDER. Needs to
>>        * follow the namespacing guide-lines in lttng/tracepoint.h:
>> -      *
>> -      * Must be included before include tracepoint provider
>> +      *
>> +      * Must be included before include tracepoint provider
>>        * ex.: project_event
>>        * ex.: project_component_event
>>        *
>> @@ -59,19 +59,19 @@ TRACEPOINT_EVENT(
>>       /*
>>        * tracepoint name, same format as sample provider. Does not
>>        * need to be declared before. in this case the name is
>> -      * "message"
>> +      * "message"
>>        */
>>       message,
>>
>>       /*
>> -      * TP_ARGS macro contains the arguments passed for the tracepoint
>> +      * TP_ARGS macro contains the arguments passed for the tracepoint
>>        * it is in the following format
>>        *            TP_ARGS(type1, name1, type2, name2, ... type10,
>>                                name10)
>> -      * where there can be from zero to ten elements.
>> -      * typeN is the datatype, such as int, struct or double **.
>> +      * where there can be from zero to ten elements.
>> +      * typeN is the datatype, such as int, struct or double **.
>>        * name is the variable name (in "int myInt" the name would be
>> -      * myint)
>> +      * myint)
>>        *            TP_ARGS() is valid to mean no arguments
>>        *            TP_ARGS(void) is valid too
>>        */
>> @@ -80,7 +80,7 @@ TRACEPOINT_EVENT(
>>                double, doublearg, float, floatarg),
>>
>>       /*
>> -      * TP_FIELDS describes how to write the fields of the trace event.
>> +      * TP_FIELDS describes how to write the fields of the trace event.
>>        * You can put expressions in the "argument expression" area,
>>        * typically using the input arguments from TP_ARGS.
>>        */
>> @@ -109,14 +109,14 @@ TRACEPOINT_EVENT(
>>               /*
>>                * ctf_array: a statically-sized array.
>>                * args: (type, field name, argument expression, value)
>> -              */
>> +              */
>>               ctf_array(long, arrfield1, values, 3)
>>
>>               /*
>>                * ctf_array_text: a statically-sized array, printed as
>>                * a string. No need to be terminated by a null
>>                * character.
>> -              */
>> +              */
>>               ctf_array_text(char, arrfield2, text, 10)
>>
>>               /*
>> @@ -127,7 +127,7 @@ TRACEPOINT_EVENT(
>>                * unsigned type. As a reminder, "unsigned char" should
>>                * be preferred to "char", since the signedness of
>>                * "char" is implementation-defined.
>> -              */
>> +              */
>>               ctf_sequence(char, seqfield1, text,
>>                            size_t, textlen)
>>
>> @@ -172,54 +172,54 @@ declared before declaring a TRACEPOINT_LOGLEVEL.
>>
>>  The loglevels go from 0 to 14. Higher numbers imply the most verbosity
>>  (higher event throughput expected.
>> -
>> +
>>  Loglevels 0 through 6, and loglevel 14, match syslog(3) loglevels
>>  semantic. Loglevels 7 through 13 offer more fine-grained selection of
>>  debug information.
>> -
>> +
>>     TRACE_EMERG           0
>>     system is unusable
>> -
>> +
>>     TRACE_ALERT           1
>>     action must be taken immediately
>> -
>> +
>>     TRACE_CRIT            2
>>     critical conditions
>> -
>> +
>>     TRACE_ERR             3
>>     error conditions
>> -
>> +
>>     TRACE_WARNING         4
>>     warning conditions
>> -
>> +
>>     TRACE_NOTICE          5
>>     normal, but significant, condition
>> -
>> +
>>     TRACE_INFO            6
>>     informational message
>> -
>> +
>>     TRACE_DEBUG_SYSTEM    7
>>     debug information with system-level scope (set of programs)
>> -
>> +
>>     TRACE_DEBUG_PROGRAM   8
>>     debug information with program-level scope (set of processes)
>> -
>> +
>>     TRACE_DEBUG_PROCESS   9
>>     debug information with process-level scope (set of modules)
>> -
>> +
>>     TRACE_DEBUG_MODULE    10
>>     debug information with module (executable/library) scope (set of
>>     units)
>> -
>> +
>>     TRACE_DEBUG_UNIT      11
>>     debug information with compilation unit scope (set of functions)
>> -
>> +
>>     TRACE_DEBUG_FUNCTION  12
>>     debug information with function-level scope
>> -
>> +
>>     TRACE_DEBUG_LINE      13
>>     debug information with line-level scope (TRACEPOINT_EVENT default)
>> -
>> +
>>     TRACE_DEBUG           14
>>     debug-level message (trace_printf default)
>>
>> @@ -269,7 +269,9 @@ carefully:
>>      - Include the tracepoint provider header into all C files using
>>        the provider.
>>      - Example:
>> -      - tests/hello/  hello.c tp.c ust_tests_hello.h Makefile.example
>> +      - doc/examples/easy-ust/   sample.c sample_component_provider.h tp.c
>> +        Makefile
>> +      - doc/examples/hello-static-lib/   hello.c tp.c ust_test_hello.h Makefile
>>
>>    2) Compile the Tracepoint Provider separately from the application,
>>       using dynamic linking:
>> @@ -287,7 +289,7 @@ carefully:
>>        needed. Another way is to dlopen the tracepoint probe when needed
>>        by the application.
>>      - Example:
>> -      - doc/examples/demo   demo.c  tp*.c ust_tests_demo*.h demo-trace
>> +      - doc/examples/demo   demo.c  tp*.c ust_tests_demo*.h demo-trace Makefile
>>
>>    - Note about dlclose() usage: it is not safe to use dlclose on a
>>      provider shared object that is being actively used for tracing due
>> diff --git a/tests/Makefile.am b/tests/Makefile.am
>> index 425440a..8c971e3 100644
>> --- a/tests/Makefile.am
>> +++ b/tests/Makefile.am
>> @@ -1,4 +1,4 @@
>> -SUBDIRS = . hello hello-static-lib same_line_tracepoint snprintf
>> +SUBDIRS = . same_line_tracepoint snprintf
>>
>>  if CXX_WORKS
>>  SUBDIRS += hello.cxx
>> diff --git a/tests/hello-static-lib/Makefile.am b/tests/hello-static-lib/Makefile.am
>> deleted file mode 100644
>> index 699845b..0000000
>> --- a/tests/hello-static-lib/Makefile.am
>> +++ /dev/null
>> @@ -1,18 +0,0 @@
>> -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
>> -
>> -noinst_LTLIBRARIES = liblttng-ust-provider-ust-test-hello.la
>> -liblttng_ust_provider_ust_test_hello_la_SOURCES = \
>> -     tp.c ust_tests_hello.h
>> -liblttng_ust_provider_ust_test_hello_la_LIBADD = \
>> -     $(top_builddir)/liblttng-ust/liblttng-ust.la
>> -
>> -noinst_PROGRAMS = hello
>> -hello_SOURCES = hello.c
>> -hello_LDADD = liblttng-ust-provider-ust-test-hello.la
>> -
>> -if LTTNG_UST_BUILD_WITH_LIBDL
>> -hello_LDADD += -ldl
>> -endif
>> -if LTTNG_UST_BUILD_WITH_LIBC_DL
>> -hello_LDADD += -lc
>> -endif
>> diff --git a/tests/hello-static-lib/README b/tests/hello-static-lib/README
>> deleted file mode 100644
>> index abb056f..0000000
>> --- a/tests/hello-static-lib/README
>> +++ /dev/null
>> @@ -1,3 +0,0 @@
>> -This is a "hello world" application used to verify that an instrumented
>> -program can be built successfully and linked with tracepoint providers
>> -built as a separate static library.
>> diff --git a/tests/hello-static-lib/hello.c b/tests/hello-static-lib/hello.c
>> deleted file mode 100644
>> index 584d3f7..0000000
>> --- a/tests/hello-static-lib/hello.c
>> +++ /dev/null
>> @@ -1,95 +0,0 @@
>> -/*
>> - * 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
>> -#include "ust_tests_hello.h"
>> -
>> -void inthandler(int sig)
>> -{
>> -     printf("in SIGUSR1 handler\n");
>> -     tracepoint(ust_tests_hello, tptest_sighandler);
>> -}
>> -
>> -int init_int_handler(void)
>> -{
>> -     int result;
>> -     struct sigaction act;
>> -
>> -     memset(&act, 0, sizeof(act));
>> -     result = sigemptyset(&act.sa_mask);
>> -     if (result == -1) {
>> -             perror("sigemptyset");
>> -             return -1;
>> -     }
>> -
>> -     act.sa_handler = inthandler;
>> -     act.sa_flags = SA_RESTART;
>> -
>> -     /* Only defer ourselves. Also, try to restart interrupted
>> -      * syscalls to disturb the traced program as little as possible.
>> -      */
>> -     result = sigaction(SIGUSR1, &act, NULL);
>> -     if (result == -1) {
>> -             perror("sigaction");
>> -             return -1;
>> -     }
>> -
>> -     return 0;
>> -}
>> -
>> -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;
>> -
>> -     init_int_handler();
>> -
>> -     if (argc == 2)
>> -             delay = atoi(argv[1]);
>> -
>> -     fprintf(stderr, "Hello, World!\n");
>> -
>> -     sleep(delay);
>> -
>> -     fprintf(stderr, "Tracing... ");
>> -     for (i = 0; i < 1000000; i++) {
>> -             netint = htonl(i);
>> -             tracepoint(ust_tests_hello, tptest, i, netint, values,
>> -                        text, strlen(text), dbl, flt);
>> -             //usleep(100000);
>> -     }
>> -     fprintf(stderr, " done.\n");
>> -     return 0;
>> -}
>> diff --git a/tests/hello-static-lib/tp.c b/tests/hello-static-lib/tp.c
>> deleted file mode 100644
>> index 4790965..0000000
>> --- a/tests/hello-static-lib/tp.c
>> +++ /dev/null
>> @@ -1,26 +0,0 @@
>> -/*
>> - * 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_hello.h"
>> diff --git a/tests/hello-static-lib/ust_tests_hello.h b/tests/hello-static-lib/ust_tests_hello.h
>> deleted file mode 100644
>> index 35ea5f5..0000000
>> --- a/tests/hello-static-lib/ust_tests_hello.h
>> +++ /dev/null
>> @@ -1,72 +0,0 @@
>> -#undef TRACEPOINT_PROVIDER
>> -#define TRACEPOINT_PROVIDER ust_tests_hello
>> -
>> -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
>> -#define _TRACEPOINT_UST_TESTS_HELLO_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_hello, tptest,
>> -     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_EVENT(ust_tests_hello, tptest_sighandler,
>> -     TP_ARGS(),
>> -     TP_FIELDS()
>> -)
>> -
>> -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */
>> -
>> -#undef TRACEPOINT_INCLUDE
>> -#define TRACEPOINT_INCLUDE "./ust_tests_hello.h"
>> -
>> -/* This part must be outside ifdef protection */
>> -#include <lttng/tracepoint-event.h>
>> -
>> -#ifdef __cplusplus
>> -}
>> -#endif
>> diff --git a/tests/hello/Makefile.am b/tests/hello/Makefile.am
>> deleted file mode 100644
>> index 324c2cd..0000000
>> --- a/tests/hello/Makefile.am
>> +++ /dev/null
>> @@ -1,13 +0,0 @@
>> -AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
>> -
>> -noinst_PROGRAMS = hello
>> -hello_SOURCES = hello.c tp.c ust_tests_hello.h
>> -hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
>> -hello_CFLAGS = -Werror=old-style-definition
>> -
>> -if LTTNG_UST_BUILD_WITH_LIBDL
>> -hello_LDADD += -ldl
>> -endif
>> -if LTTNG_UST_BUILD_WITH_LIBC_DL
>> -hello_LDADD += -lc
>> -endif
>> diff --git a/tests/hello/Makefile.example.bsd b/tests/hello/Makefile.example.bsd
>> deleted file mode 100644
>> index 607171c..0000000
>> --- a/tests/hello/Makefile.example.bsd
>> +++ /dev/null
>> @@ -1,8 +0,0 @@
>> -# Example makefile for build outside of the LTTng-UST tree.
>> -
>> -hello:
>> -     ${CC} -O2 -I. -o hello -lc -llttng-ust hello.c tp.c
>> -
>> -.PHONY: clean
>> -clean:
>> -     rm -f hello
>> diff --git a/tests/hello/Makefile.example.linux b/tests/hello/Makefile.example.linux
>> deleted file mode 100644
>> index c983f4c..0000000
>> --- a/tests/hello/Makefile.example.linux
>> +++ /dev/null
>> @@ -1,8 +0,0 @@
>> -# Example makefile for build outside of the LTTng-UST tree.
>> -
>> -hello:
>> -     ${CC} -O2 -I. -o hello -ldl -llttng-ust hello.c tp.c
>> -
>> -.PHONY: clean
>> -clean:
>> -     rm -f hello
>> diff --git a/tests/hello/README b/tests/hello/README
>> deleted file mode 100644
>> index 5d5100d..0000000
>> --- a/tests/hello/README
>> +++ /dev/null
>> @@ -1,2 +0,0 @@
>> -This is a "hello world" application used to verify that an instrumented
>> -program can be built successfully.
>> \ No newline at end of file
>> diff --git a/tests/hello/hello.c b/tests/hello/hello.c
>> deleted file mode 100644
>> index 0c18c01..0000000
>> --- a/tests/hello/hello.c
>> +++ /dev/null
>> @@ -1,97 +0,0 @@
>> -/*
>> - * 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>
>> -#include <stdbool.h>
>> -
>> -#define TRACEPOINT_DEFINE
>> -#include "ust_tests_hello.h"
>> -
>> -void inthandler(int sig)
>> -{
>> -     printf("in SIGUSR1 handler\n");
>> -     tracepoint(ust_tests_hello, tptest_sighandler);
>> -}
>> -
>> -int init_int_handler(void)
>> -{
>> -     int result;
>> -     struct sigaction act;
>> -
>> -     memset(&act, 0, sizeof(act));
>> -     result = sigemptyset(&act.sa_mask);
>> -     if (result == -1) {
>> -             perror("sigemptyset");
>> -             return -1;
>> -     }
>> -
>> -     act.sa_handler = inthandler;
>> -     act.sa_flags = SA_RESTART;
>> -
>> -     /* Only defer ourselves. Also, try to restart interrupted
>> -      * syscalls to disturb the traced program as little as possible.
>> -      */
>> -     result = sigaction(SIGUSR1, &act, NULL);
>> -     if (result == -1) {
>> -             perror("sigaction");
>> -             return -1;
>> -     }
>> -
>> -     return 0;
>> -}
>> -
>> -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;
>> -     bool mybool = 123;      /* should print "1" */
>> -
>> -     init_int_handler();
>> -
>> -     if (argc == 2)
>> -             delay = atoi(argv[1]);
>> -
>> -     fprintf(stderr, "Hello, World!\n");
>> -
>> -     sleep(delay);
>> -
>> -     fprintf(stderr, "Tracing... ");
>> -     for (i = 0; i < 1000000; i++) {
>> -             netint = htonl(i);
>> -             tracepoint(ust_tests_hello, tptest, i, netint, values,
>> -                        text, strlen(text), dbl, flt, mybool);
>> -             //usleep(100000);
>> -     }
>> -     fprintf(stderr, " done.\n");
>> -     return 0;
>> -}
>> diff --git a/tests/hello/tp.c b/tests/hello/tp.c
>> deleted file mode 100644
>> index 4790965..0000000
>> --- a/tests/hello/tp.c
>> +++ /dev/null
>> @@ -1,26 +0,0 @@
>> -/*
>> - * 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_hello.h"
>> diff --git a/tests/hello/ust_tests_hello.h b/tests/hello/ust_tests_hello.h
>> deleted file mode 100644
>> index 88f1a7f..0000000
>> --- a/tests/hello/ust_tests_hello.h
>> +++ /dev/null
>> @@ -1,76 +0,0 @@
>> -#undef TRACEPOINT_PROVIDER
>> -#define TRACEPOINT_PROVIDER ust_tests_hello
>> -
>> -#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
>> -#define _TRACEPOINT_UST_TESTS_HELLO_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>
>> -#include <stdbool.h>
>> -
>> -TRACEPOINT_EVENT(ust_tests_hello, tptest,
>> -     TP_ARGS(int, anint, int, netint, long *, values,
>> -             char *, text, size_t, textlen,
>> -             double, doublearg, float, floatarg,
>> -             bool, boolarg),
>> -     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)
>> -             ctf_integer(bool, boolfield, boolarg)
>> -             ctf_integer_nowrite(int, filterfield, anint)
>> -     )
>> -)
>> -
>> -TRACEPOINT_EVENT(ust_tests_hello, tptest_sighandler,
>> -     TP_ARGS(),
>> -     TP_FIELDS()
>> -)
>> -
>> -#endif /* _TRACEPOINT_UST_TESTS_HELLO_H */
>> -
>> -#undef TRACEPOINT_INCLUDE
>> -#define TRACEPOINT_INCLUDE "./ust_tests_hello.h"
>> -
>> -/* This part must be outside ifdef protection */
>> -#include <lttng/tracepoint-event.h>
>> -
>> -#ifdef __cplusplus
>> -}
>> -#endif
>> --
>> 1.8.2.1
>>
>>
>> _______________________________________________
>> 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



--
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list