}
break;
}
+ case LTTNG_EVENT_FUNCTION:
+ MSG("%s%s (type: function)%s%s", indent6,
+ event->name, enabled_string(event->enabled),
+ filter_string(event->filter));
+ if (event->attr.probe.addr != 0) {
+ MSG("%saddr: 0x%" PRIx64, indent8, event->attr.probe.addr);
+ } else {
+ MSG("%soffset: 0x%" PRIx64, indent8, event->attr.probe.offset);
+ MSG("%ssymbol: %s", indent8, event->attr.probe.symbol_name);
+ }
+ break;
case LTTNG_EVENT_PROBE:
MSG("%s%s (type: probe)%s%s", indent6,
event->name, enabled_string(event->enabled),
MSG("%ssymbol: %s", indent8, event->attr.probe.symbol_name);
}
break;
- case LTTNG_EVENT_FUNCTION:
case LTTNG_EVENT_FUNCTION_ENTRY:
MSG("%s%s (type: function)%s%s", indent6,
event->name, enabled_string(event->enabled),
struct lttng_handle *handle;
struct lttng_event *event_list;
pid_t cur_pid = 0;
+ char *cmdline = NULL;
memset(&domain, 0, sizeof(domain));
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
- ERR("Unable to list UST events");
+ ERR("Unable to list UST events: %s", lttng_strerror(size));
lttng_destroy_handle(handle);
return size;
}
for (i = 0; i < size; i++) {
if (cur_pid != event_list[i].pid) {
cur_pid = event_list[i].pid;
- MSG("\nPID: %d - Name: %s", cur_pid, get_cmdline_by_pid(cur_pid));
+ cmdline = get_cmdline_by_pid(cur_pid);
+ MSG("\nPID: %d - Name: %s", cur_pid, cmdline);
+ free(cmdline);
}
print_events(&event_list[i]);
}
struct lttng_handle *handle;
struct lttng_event_field *event_field_list;
pid_t cur_pid = 0;
+ char *cmdline = NULL;
+
struct lttng_event cur_event;
memset(&domain, 0, sizeof(domain));
size = lttng_list_tracepoint_fields(handle, &event_field_list);
if (size < 0) {
- ERR("Unable to list UST event fields");
+ ERR("Unable to list UST event fields: %s", lttng_strerror(size));
lttng_destroy_handle(handle);
return size;
}
for (i = 0; i < size; i++) {
if (cur_pid != event_field_list[i].event.pid) {
cur_pid = event_field_list[i].event.pid;
- MSG("\nPID: %d - Name: %s", cur_pid, get_cmdline_by_pid(cur_pid));
+ cmdline = get_cmdline_by_pid(cur_pid);
+ MSG("\nPID: %d - Name: %s", cur_pid, cmdline);
+ free(cmdline);
}
if (strcmp(cur_event.name, event_field_list[i].event.name) != 0) {
print_events(&event_field_list[i].event);
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
- ERR("Unable to list kernel events");
+ ERR("Unable to list kernel events: %s", lttng_strerror(size));
lttng_destroy_handle(handle);
return size;
}
count = lttng_list_events(handle, channel_name, &events);
if (count < 0) {
ret = count;
+ ERR("%s", lttng_strerror(ret));
goto error;
}
MSG("");
end:
- if (events) {
- free(events);
- }
+ free(events);
ret = CMD_SUCCESS;
error:
/* We had a real error */
ret = count;
ERR("%s", lttng_strerror(ret));
+ break;
}
goto error_channels;
}
/* Listing events per channel */
ret = list_events(channels[i].name);
if (ret < 0) {
- MSG("%s", lttng_strerror(ret));
+ ERR("%s", lttng_strerror(ret));
}
if (chan_found) {
DBG("Session count %d", count);
if (count < 0) {
ret = count;
+ ERR("%s", lttng_strerror(ret));
goto error;
} else if (count == 0) {
MSG("Currently no available tracing session");
count = lttng_list_domains(session_name, &domains);
if (count < 0) {
ret = count;
+ ERR("%s", lttng_strerror(ret));
goto error;
} else if (count == 0) {
MSG(" None");
nb_domain = lttng_list_domains(session_name, &domains);
if (nb_domain < 0) {
ret = nb_domain;
+ ERR("%s", lttng_strerror(ret));
goto end;
}
}
end:
- if (domains) {
- free(domains);
- }
+ free(domains);
if (handle) {
lttng_destroy_handle(handle);
}