41708d2aaf1bd6325a1a7fa9849ae9e5503361c1
[barectf.git] / doc / examples / barectf-tracepoint / barectf-tracepoint.c
1 #include <stdio.h>
2 #include <stdint.h>
3 #include <stdlib.h>
4 #include <time.h>
5
6 #if defined(WITH_LTTNG_UST)
7 #include "barectf-tracepoint-lttng-ust.h"
8 #else
9 #include "barectf-tracepoint-linux-fs.h"
10 #endif
11
12 enum state_t {
13 NEW,
14 TERMINATED,
15 READY,
16 RUNNING,
17 WAITING,
18 };
19
20 static void trace_stuff(int argc, char *argv[])
21 {
22 int i;
23 const char *str;
24
25 /* record 40000 events */
26 for (i = 0; i < 5000; ++i) {
27 tracepoint(barectf_tp, simple_uint32, i * 1500);
28 tracepoint(barectf_tp, simple_int16, -i * 2);
29 tracepoint(barectf_tp, simple_float, (float) i / 1.23);
30
31 if (argc > 0) {
32 str = argv[i % argc];
33 } else {
34 str = "hello there!";
35 }
36
37 tracepoint(barectf_tp, simple_string, str);
38 tracepoint(barectf_tp, simple_enum, RUNNING);
39 tracepoint(barectf_tp, a_few_fields, -1, 301, -3.14159,
40 str, NEW);
41 tracepoint(barectf_tp, bit_packed_integers, 1, -1, 3,
42 -2, 2, 7, 23, -55, 232);
43 tracepoint(barectf_tp, simple_enum, TERMINATED);
44 }
45 }
46
47 int main(int argc, char *argv[])
48 {
49 init_tracing();
50 trace_stuff(argc, argv);
51 fini_tracing();
52
53 return 0;
54 }
This page took 0.02954 seconds and 3 git commands to generate.