function to extract cpu_id
[lttngtop.git] / src / lttngtop.c
index 52bf6e98bf77e7cd9a9d484f442db94e9afbb9ad..6bb03ac760c20c1a3f9daa121475af0c7fd72b70 100644 (file)
@@ -227,17 +227,10 @@ end:
 
 void update_perf_counter(struct processtop *proc, struct bt_ctf_event *event)
 {
-       struct definition *scope;
-       uint64_t cpu_id;
        struct cputime *cpu;
+       struct definition *scope;
 
-       scope = bt_ctf_get_top_level_scope(event, BT_STREAM_PACKET_CONTEXT);
-       cpu_id = bt_ctf_get_uint64(bt_ctf_get_field(event, scope, "cpu_id"));
-       if (bt_ctf_field_get_error()) {
-               fprintf(stderr, "[error] get cpu_id\n");
-               goto end;
-       }
-       cpu = get_cpu(cpu_id);
+       cpu = get_cpu(get_cpu_id(event));
 
        scope = bt_ctf_get_top_level_scope(event, BT_STREAM_EVENT_CONTEXT);
        extract_perf_counter_scope(event, scope, proc, cpu);
@@ -247,9 +240,6 @@ void update_perf_counter(struct processtop *proc, struct bt_ctf_event *event)
 
        scope = bt_ctf_get_top_level_scope(event, BT_EVENT_CONTEXT);
        extract_perf_counter_scope(event, scope, proc, cpu);
-
-end:
-       return;
 }
 
 enum bt_cb_ret fix_process_table(struct bt_ctf_event *call_data,
@@ -431,6 +421,13 @@ void iter_trace(struct bt_context *bt_ctx)
        bt_ctf_iter_add_callback(iter,
                        g_quark_from_static_string("sys_read"),
                        NULL, 0, handle_sys_read, NULL, NULL, NULL);
+       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);
        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.022392 seconds and 4 git commands to generate.