5a7af53e2677c5a8a273a59fd7e604429b9d70d5
2 * Copyright (c) 2011 David Goulet <david.goulet@polymtl.ca>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * as published by the Free Software Foundation; only version 2
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 #include <lttng/lttng.h>
32 int main(int argc
, char **argv
)
34 struct lttng_handle
*handle
= NULL
;
35 struct lttng_domain dom
;
36 struct lttng_channel channel
;
37 struct lttng_event ev1
, ev2
, ev3
;
41 char *session_name
= "ust_global_event_basic";
43 dom
.type
= LTTNG_DOMAIN_UST
;
45 strcpy(channel
.name
, "mychan");
46 channel
.attr
.overwrite
= 0;
47 channel
.attr
.subbuf_size
= 4096;
48 channel
.attr
.num_subbuf
= 4;
49 channel
.attr
.switch_timer_interval
= 0;
50 channel
.attr
.read_timer_interval
= 200;
51 channel
.attr
.output
= LTTNG_EVENT_MMAP
;
53 strcpy(ev1
.name
, "tp1");
54 ev1
.type
= LTTNG_EVENT_TRACEPOINT
;
55 ev1
.loglevel_type
= LTTNG_EVENT_LOGLEVEL_ALL
;
57 strcpy(ev2
.name
, "ev2");
58 ev2
.type
= LTTNG_EVENT_TRACEPOINT
;
59 ev2
.loglevel_type
= LTTNG_EVENT_LOGLEVEL_ALL
;
61 strcpy(ev3
.name
, "ev3");
62 ev3
.type
= LTTNG_EVENT_TRACEPOINT
;
63 ev3
.loglevel_type
= LTTNG_EVENT_LOGLEVEL_ALL
;
65 printf("\nTesting tracing UST events:\n");
66 printf("-----------\n");
69 printf("Missing session trace path\n");
73 printf("Creating tracing session (%s): ", argv
[1]);
74 if ((ret
= lttng_create_session(session_name
, argv
[1])) < 0) {
75 printf("error creating the session : %s\n", lttng_strerror(ret
));
80 printf("Creating session handle: ");
81 if ((handle
= lttng_create_handle(session_name
, &dom
)) == NULL
) {
82 printf("error creating handle: %s\n", lttng_strerror(ret
));
87 printf("Enabling %s UST channel: ", channel
.name
);
88 if ((ret
= lttng_enable_channel(handle
, &channel
)) < 0) {
89 printf("error enable channel: %s\n", lttng_strerror(ret
));
94 printf("Enabling %s UST event: ", ev1
.name
);
95 if ((ret
= lttng_enable_event(handle
, &ev1
, channel
.name
)) < 0) {
96 printf("error enabling event: %s\n", lttng_strerror(ret
));
101 printf("Enabling %s UST event: ", ev2
.name
);
102 if ((ret
= lttng_enable_event(handle
, &ev2
, channel
.name
)) < 0) {
103 printf("error enabling event: %s\n", lttng_strerror(ret
));
108 printf("Enabling %s UST event: ", ev3
.name
);
109 if ((ret
= lttng_enable_event(handle
, &ev3
, channel
.name
)) < 0) {
110 printf("error enabling event: %s\n", lttng_strerror(ret
));
115 printf("Disabling %s UST event: ", ev1
.name
);
116 if ((ret
= lttng_disable_event(handle
, ev1
.name
, channel
.name
)) < 0) {
117 printf("error enabling event: %s\n", lttng_strerror(ret
));
122 printf("Disabling %s UST event: ", ev3
.name
);
123 if ((ret
= lttng_disable_event(handle
, ev3
.name
, channel
.name
)) < 0) {
124 printf("error enabling event: %s\n", lttng_strerror(ret
));
129 printf("Renabling %s UST event: ", ev1
.name
);
130 if ((ret
= lttng_enable_event(handle
, &ev1
, channel
.name
)) < 0) {
131 printf("error enabling event: %s\n", lttng_strerror(ret
));
136 printf("Renabling %s UST event: ", ev3
.name
);
137 if ((ret
= lttng_enable_event(handle
, &ev3
, channel
.name
)) < 0) {
138 printf("error enabling event: %s\n", lttng_strerror(ret
));
143 printf("Start tracing: ");
144 if ((ret
= lttng_start_tracing(session_name
)) < 0) {
145 printf("error starting tracing: %s\n", lttng_strerror(ret
));
152 printf("Stop tracing: ");
153 if ((ret
= lttng_stop_tracing(session_name
)) < 0) {
154 printf("error stopping tracing: %s\n", lttng_strerror(ret
));
159 printf("Destroy tracing session: ");
160 if ((ret
= lttng_destroy_session(session_name
)) < 0) {
161 printf("error destroying session: %s\n", lttng_strerror(ret
));
170 assert(handle
!= NULL
);
175 lttng_destroy_session(session_name
);
176 lttng_destroy_handle(handle
);
This page took 0.031976 seconds and 3 git commands to generate.