X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fcompile%2Ftest-app-ctx%2Fhello.c;h=85df998486c3c56f6d2a7980e9e4b88e97de75c5;hb=4405cc3e105e60c95939e595b8dddcd0940a0b92;hp=20df12db0e80bb4b0d2cc001d7f8e04c4e6de180;hpb=daacdbfc04fe07ecff0a0d1878b4f48d38912c78;p=lttng-ust.git diff --git a/tests/compile/test-app-ctx/hello.c b/tests/compile/test-app-ctx/hello.c index 20df12db..85df9984 100644 --- a/tests/compile/test-app-ctx/hello.c +++ b/tests/compile/test-app-ctx/hello.c @@ -25,70 +25,73 @@ struct mmsghdr; #include #include -#define TRACEPOINT_DEFINE +#define LTTNG_UST_TRACEPOINT_DEFINE #include "ust_tests_hello.h" -/* Internal header. */ #include -#include -#include +#include +/* Internal header. */ +#include static __thread unsigned int test_count; +static void test_inc_count(void) { test_count++; } static -size_t test_get_size(struct lttng_ust_ctx_field *field, size_t offset) +size_t test_get_size(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + size_t offset) { int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; size_t size = 0; - size += lib_ring_buffer_align(offset, lttng_alignof(char)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(char)); size += sizeof(char); /* tag */ switch (sel) { case LTTNG_UST_DYNAMIC_TYPE_NONE: break; case LTTNG_UST_DYNAMIC_TYPE_S8: - size += lib_ring_buffer_align(offset, lttng_alignof(int8_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int8_t)); size += sizeof(int8_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_S16: - size += lib_ring_buffer_align(offset, lttng_alignof(int16_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int16_t)); size += sizeof(int16_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_S32: - size += lib_ring_buffer_align(offset, lttng_alignof(int32_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int32_t)); size += sizeof(int32_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_S64: - size += lib_ring_buffer_align(offset, lttng_alignof(int64_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(int64_t)); size += sizeof(int64_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_U8: - size += lib_ring_buffer_align(offset, lttng_alignof(uint8_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint8_t)); size += sizeof(uint8_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_U16: - size += lib_ring_buffer_align(offset, lttng_alignof(uint16_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint16_t)); size += sizeof(uint16_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_U32: - size += lib_ring_buffer_align(offset, lttng_alignof(uint32_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint32_t)); size += sizeof(uint32_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_U64: - size += lib_ring_buffer_align(offset, lttng_alignof(uint64_t)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(uint64_t)); size += sizeof(uint64_t); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_FLOAT: - size += lib_ring_buffer_align(offset, lttng_alignof(float)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(float)); size += sizeof(float); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: - size += lib_ring_buffer_align(offset, lttng_alignof(double)); + size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(double)); size += sizeof(double); /* variant */ break; case LTTNG_UST_DYNAMIC_TYPE_STRING: @@ -102,15 +105,15 @@ size_t test_get_size(struct lttng_ust_ctx_field *field, size_t offset) } static -void test_record(struct lttng_ust_ctx_field *field, - struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct lttng_channel *chan) +void test_record(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), + struct lttng_ust_ring_buffer_ctx *ctx, + struct lttng_ust_channel_buffer *lttng_chan_buf) { int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; char sel_char = (char) sel; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(char)); - chan->ops->event_write(ctx, &sel_char, sizeof(sel_char)); + lttng_chan_buf->ops->event_write(ctx, &sel_char, sizeof(sel_char), lttng_ust_rb_alignof(char)); switch (sel) { case LTTNG_UST_DYNAMIC_TYPE_NONE: break; @@ -118,86 +121,76 @@ void test_record(struct lttng_ust_ctx_field *field, { int8_t v = -8; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_S16: { int16_t v = -16; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_S32: { int32_t v = -32; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_S64: { int64_t v = -64; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_U8: { uint8_t v = 8; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_U16: { uint16_t v = 16; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_U32: { uint32_t v = 32; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_U64: { uint64_t v = 64; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(v)); - chan->ops->event_write(ctx, &v, sizeof(v)); + lttng_chan_buf->ops->event_write(ctx, &v, sizeof(v), lttng_ust_rb_alignof(v)); break; } case LTTNG_UST_DYNAMIC_TYPE_FLOAT: { float f = 22322.0; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(f)); - chan->ops->event_write(ctx, &f, sizeof(f)); + lttng_chan_buf->ops->event_write(ctx, &f, sizeof(f), lttng_ust_rb_alignof(f)); break; } case LTTNG_UST_DYNAMIC_TYPE_DOUBLE: { double d = 2.0; - lib_ring_buffer_align_ctx(ctx, lttng_alignof(d)); - chan->ops->event_write(ctx, &d, sizeof(d)); + lttng_chan_buf->ops->event_write(ctx, &d, sizeof(d), lttng_ust_rb_alignof(d)); break; } case LTTNG_UST_DYNAMIC_TYPE_STRING: { const char *str = "teststr"; - chan->ops->event_write(ctx, str, strlen(str) + 1); + lttng_chan_buf->ops->event_write(ctx, str, strlen(str) + 1, 1); break; } default: @@ -206,7 +199,8 @@ void test_record(struct lttng_ust_ctx_field *field, } static -void test_get_value(struct lttng_ust_ctx_field *field, +void test_get_value(void *priv __attribute__((unused)), + struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)), struct lttng_ust_ctx_value *value) { int sel = test_count % _NR_LTTNG_UST_DYNAMIC_TYPES; @@ -253,20 +247,23 @@ void test_get_value(struct lttng_ust_ctx_field *field, } } +static char myprovider_name[] = "$app.myprovider"; struct lttng_ust_context_provider myprovider = { .struct_size = sizeof(struct lttng_ust_context_provider), - .name = "$app.myprovider", + .name = myprovider_name, .get_size = test_get_size, .record = test_record, .get_value = test_get_value, }; -void inthandler(int sig) +static +void inthandler(int sig __attribute__((unused))) { printf("in SIGUSR1 handler\n"); - tracepoint(ust_tests_hello, tptest_sighandler); + lttng_ust_tracepoint(ust_tests_hello, tptest_sighandler); } +static int init_int_handler(void) { int result; @@ -294,10 +291,9 @@ int init_int_handler(void) return 0; } -void test_inc_count(void); - int main(int argc, char **argv) { + struct lttng_ust_registered_context_provider *reg_provider; int i, netint; long values[] = { 1, 2, 3 }; char text[10] = "test"; @@ -311,7 +307,8 @@ int main(int argc, char **argv) if (argc == 2) delay = atoi(argv[1]); - if (lttng_ust_context_provider_register(&myprovider)) + reg_provider = lttng_ust_context_provider_register(&myprovider); + if (!reg_provider) abort(); fprintf(stderr, "Hello, World!\n"); @@ -321,12 +318,12 @@ int main(int argc, char **argv) fprintf(stderr, "Tracing... "); for (i = 0; i < 1000000; i++) { netint = htonl(i); - tracepoint(ust_tests_hello, tptest, i, netint, values, + lttng_ust_tracepoint(ust_tests_hello, tptest, i, netint, values, text, strlen(text), dbl, flt, mybool); test_inc_count(); //usleep(100000); } - lttng_ust_context_provider_unregister(&myprovider); + lttng_ust_context_provider_unregister(reg_provider); fprintf(stderr, " done.\n"); return 0; }