projects
/
lttngtop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
live VPID and VTID
[lttngtop.git]
/
src
/
lttngtop.c
diff --git
a/src/lttngtop.c
b/src/lttngtop.c
index c56787826d252d95333a049f84adec3ebb28906b..571b0f88aff04c23859d40a5bd7c650070a74d0b 100644
(file)
--- a/
src/lttngtop.c
+++ b/
src/lttngtop.c
@@
-93,11
+93,15
@@
void *refresh_thread(void *p)
if (quit) {
sem_post(&pause_sem);
sem_post(&timer);
if (quit) {
sem_post(&pause_sem);
sem_post(&timer);
+ sem_post(&end_trace_sem);
sem_post(&goodtodisplay);
sem_post(&goodtodisplay);
+ sem_post(&goodtoupdate);
pthread_exit(0);
}
pthread_exit(0);
}
+ if (!opt_input_path) {
bt_list_for_each_entry(mmap_info, &mmap_list.head, list)
helper_kernctl_buffer_flush(mmap_info->fd);
bt_list_for_each_entry(mmap_info, &mmap_list.head, list)
helper_kernctl_buffer_flush(mmap_info->fd);
+ }
sem_wait(&pause_sem);
sem_post(&pause_sem);
sem_post(&timer);
sem_wait(&pause_sem);
sem_post(&pause_sem);
sem_post(&timer);
@@
-293,7
+297,7
@@
void update_perf_counter(struct processtop *proc, const struct bt_ctf_event *eve
enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
void *private_data)
{
enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
void *private_data)
{
- int pid, tid, ppid;
+ int pid, tid, ppid
, vpid, vtid, vppid
;
char *comm;
struct processtop *parent, *child;
unsigned long timestamp;
char *comm;
struct processtop *parent, *child;
unsigned long timestamp;
@@
-314,6
+318,18
@@
enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
if (ppid == -1ULL) {
goto error;
}
if (ppid == -1ULL) {
goto error;
}
+ vpid = get_context_vpid(call_data);
+ if (pid == -1ULL) {
+ vpid = -1;
+ }
+ vtid = get_context_vtid(call_data);
+ if (tid == -1ULL) {
+ vtid = -1;
+ }
+ vppid = get_context_vppid(call_data);
+ if (ppid == -1ULL) {
+ vppid = -1;
+ }
comm = get_context_comm(call_data);
if (!comm) {
goto error;
comm = get_context_comm(call_data);
if (!comm) {
goto error;
@@
-323,7
+339,7
@@
enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
child = find_process_tid(<tngtop, tid, comm);
if (!child)
child = add_proc(<tngtop, tid, comm, timestamp);
child = find_process_tid(<tngtop, tid, comm);
if (!child)
child = add_proc(<tngtop, tid, comm, timestamp);
- update_proc(child, pid, tid, ppid, comm);
+ update_proc(child, pid, tid, ppid,
vpid, vtid, vppid,
comm);
if (pid != tid) {
/* find or create the parent */
if (pid != tid) {
/* find or create the parent */
@@
-930,6
+946,10
@@
int setup_live_tracing()
lttng_add_context(handle, &kctxcomm, NULL, NULL);
kctxtid.ctx = LTTNG_EVENT_CONTEXT_TID;
lttng_add_context(handle, &kctxtid, NULL, NULL);
lttng_add_context(handle, &kctxcomm, NULL, NULL);
kctxtid.ctx = LTTNG_EVENT_CONTEXT_TID;
lttng_add_context(handle, &kctxtid, NULL, NULL);
+ kctxpid.ctx = LTTNG_EVENT_CONTEXT_VPID;
+ lttng_add_context(handle, &kctxpid, NULL, NULL);
+ kctxtid.ctx = LTTNG_EVENT_CONTEXT_VTID;
+ lttng_add_context(handle, &kctxtid, NULL, NULL);
if ((ret = lttng_start_tracing("test")) < 0) {
fprintf(stderr,"error starting tracing : %s\n",
if ((ret = lttng_start_tracing("test")) < 0) {
fprintf(stderr,"error starting tracing : %s\n",
This page took
0.023668 seconds
and
4
git commands to generate.