Limit the number of events enabled in live
authorJulien Desfossez <jdesfossez@efficios.com>
Thu, 6 Dec 2012 15:49:10 +0000 (10:49 -0500)
committerJulien Desfossez <jdesfossez@efficios.com>
Thu, 6 Dec 2012 15:49:10 +0000 (10:49 -0500)
Instead of enabling all the kernel events, we now only activate the
events we need.
On an Intel Core 2 Duo, the CPU usage of LTTngTop in live mode pass
from 3% to 1%.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
src/lttngtop.c

index 39235748f4881203bc2b7eb4b318b5b45221eae4..1e1b42748070de8b896c59f2925e2d3c01c0c220 100644 (file)
@@ -1217,10 +1217,32 @@ int setup_live_tracing()
        }
 
        memset(&ev, '\0', sizeof(struct lttng_event));
-       //sprintf(ev.name, "sched_switch");
        ev.type = LTTNG_EVENT_TRACEPOINT;
+       sprintf(ev.name, "sched_switch");
        if ((ret = lttng_enable_event(handle, &ev, channel_name)) < 0) {
-               fprintf(stderr,"error enabling event : %s\n",
+               fprintf(stderr,"error enabling event %s : %s\n",
+                               ev.name,
+                               helper_lttcomm_get_readable_code(ret));
+               goto error_session;
+       }
+       sprintf(ev.name, "sched_process_free");
+       if ((ret = lttng_enable_event(handle, &ev, channel_name)) < 0) {
+               fprintf(stderr,"error enabling event %s : %s\n",
+                               ev.name,
+                               helper_lttcomm_get_readable_code(ret));
+               goto error_session;
+       }
+       sprintf(ev.name, "lttng_statedump_process_state");
+       if ((ret = lttng_enable_event(handle, &ev, channel_name)) < 0) {
+               fprintf(stderr,"error enabling event %s : %s\n",
+                               ev.name,
+                               helper_lttcomm_get_readable_code(ret));
+               goto error_session;
+       }
+       sprintf(ev.name, "lttng_statedump_file_descriptor");
+       if ((ret = lttng_enable_event(handle, &ev, channel_name)) < 0) {
+               fprintf(stderr,"error enabling event %s : %s\n",
+                               ev.name,
                                helper_lttcomm_get_readable_code(ret));
                goto error_session;
        }
This page took 0.024108 seconds and 4 git commands to generate.