projects
/
lttngtop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle the file descriptor statedump
[lttngtop.git]
/
src
/
lttngtop.c
diff --git
a/src/lttngtop.c
b/src/lttngtop.c
index e4979ebb1f2bd68e178a5d201fd9e247c2286b0f..dc5711ea91402ede478a3662184d6ffcdc57f498 100644
(file)
--- a/
src/lttngtop.c
+++ b/
src/lttngtop.c
@@
-22,6
+22,7
@@
#include <babeltrace/babeltrace.h>
#include <babeltrace/ctf/events.h>
#include <babeltrace/ctf/callbacks.h>
#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>
#include <fcntl.h>
#include <pthread.h>
#include <popt.h>
@@
-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 bt_ctf_event *event,
+
const
struct definition *scope,
struct processtop *proc,
struct cputime *cpu)
{
struct processtop *proc,
struct cputime *cpu)
{
@@
-224,10
+225,10
@@
end:
return;
}
return;
}
-void update_perf_counter(struct processtop *proc, struct bt_ctf_event *event)
+void update_perf_counter(struct processtop *proc,
const
struct bt_ctf_event *event)
{
struct cputime *cpu;
{
struct cputime *cpu;
- struct definition *scope;
+
const
struct definition *scope;
cpu = get_cpu(get_cpu_id(event));
cpu = get_cpu(get_cpu_id(event));
@@
-315,6
+316,11
@@
void init_lttngtop()
sem_init(&pause_sem, 0, 1);
sem_init(&end_trace_sem, 0, 0);
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();
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_iter *iter;
struct bt_iter_pos begin_pos;
- struct bt_ctf_event *event;
+
const
struct bt_ctf_event *event;
int ret = 0;
begin_pos.type = BT_SEEK_BEGIN;
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_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("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)
while ((event = bt_ctf_iter_read_event(iter)) != NULL) {
ret = bt_iter_next(bt_ctf_get_iter(iter));
if (ret < 0)
@@
-434,7
+445,7
@@
void iter_trace(struct bt_context *bt_ctx)
sem_wait(&end_trace_sem);
end_iter:
sem_wait(&end_trace_sem);
end_iter:
- bt_
iter_destroy(bt_ctf_get_iter(iter)
);
+ bt_
ctf_iter_destroy(iter
);
}
/*
}
/*
This page took
0.023808 seconds
and
4
git commands to generate.