API sync babeltrace
[lttngtop.git] / src / lttngtop.c
index 95bd383e6d8b4f4b8f8d5c11cfe114b7f16b5052..d51302c71b78ac99d0c99c4095adce2a3b3056bd 100644 (file)
@@ -22,6 +22,7 @@
 #include <babeltrace/babeltrace.h>
 #include <babeltrace/ctf/events.h>
 #include <babeltrace/ctf/callbacks.h>
+#include <babeltrace/ctf/iterator.h>
 #include <fcntl.h>
 #include <pthread.h>
 #include <popt.h>
@@ -112,7 +113,7 @@ void *ncurses_display(void *p)
  * hook on each event to check the timestamp and refresh the display if
  * necessary
  */
-enum bt_cb_ret check_timestamp(struct bt_ctf_event *call_data, void *private_data)
+enum bt_cb_ret check_timestamp(struct ctf_event_definition *call_data, void *private_data)
 {
        unsigned long timestamp;
 
@@ -194,8 +195,8 @@ void update_perf_value(struct processtop *proc, struct cputime *cpu,
        }
 }
 
-void extract_perf_counter_scope(struct bt_ctf_event *event,
-               struct definition *scope,
+void extract_perf_counter_scope(const struct ctf_event_definition *event,
+               const struct definition *scope,
                struct processtop *proc,
                struct cputime *cpu)
 {
@@ -224,10 +225,10 @@ end:
        return;
 }
 
-void update_perf_counter(struct processtop *proc, struct bt_ctf_event *event)
+void update_perf_counter(struct processtop *proc, const struct ctf_event_definition *event)
 {
        struct cputime *cpu;
-       struct definition *scope;
+       const struct definition *scope;
 
        cpu = get_cpu(get_cpu_id(event));
 
@@ -241,7 +242,7 @@ void update_perf_counter(struct processtop *proc, struct bt_ctf_event *event)
        extract_perf_counter_scope(event, scope, proc, cpu);
 }
 
-enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
+enum bt_cb_ret fix_process_table(struct ctf_event_definition *call_data,
                void *private_data)
 {
        int pid, tid, ppid;
@@ -315,6 +316,11 @@ void init_lttngtop()
        sem_init(&pause_sem, 0, 1);
        sem_init(&end_trace_sem, 0, 0);
 
+       reset_global_counters();
+       lttngtop.nbproc = 0;
+       lttngtop.nbthreads = 0;
+       lttngtop.nbfiles = 0;
+
        lttngtop.process_table = g_ptr_array_new();
        lttngtop.files_table = g_ptr_array_new();
        lttngtop.cpu_table = g_ptr_array_new();
@@ -384,7 +390,7 @@ void iter_trace(struct bt_context *bt_ctx)
 {
        struct bt_ctf_iter *iter;
        struct bt_iter_pos begin_pos;
-       struct bt_ctf_event *event;
+       const struct ctf_event_definition *event;
        int ret = 0;
 
        begin_pos.type = BT_SEEK_BEGIN;
@@ -420,10 +426,15 @@ void iter_trace(struct bt_context *bt_ctx)
        bt_ctf_iter_add_callback(iter,
                        g_quark_from_static_string("sys_open"),
                        NULL, 0, handle_sys_open, NULL, NULL, NULL);
-
        bt_ctf_iter_add_callback(iter,
                        g_quark_from_static_string("sys_close"),
                        NULL, 0, handle_sys_close, NULL, NULL, NULL);
+       bt_ctf_iter_add_callback(iter,
+                       g_quark_from_static_string(
+                                       "lttng_statedump_file_descriptor"),
+                       NULL, 0, handle_statedump_file_descriptor,
+                       NULL, NULL, NULL);
+
        while ((event = bt_ctf_iter_read_event(iter)) != NULL) {
                ret = bt_iter_next(bt_ctf_get_iter(iter));
                if (ret < 0)
This page took 0.024403 seconds and 4 git commands to generate.