projects
/
lttv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
put back hook adder the way they were, new state hook adder and remover hook
[lttv.git]
/
ltt
/
branches
/
poly
/
lttv
/
lttv
/
stats.c
diff --git
a/ltt/branches/poly/lttv/lttv/stats.c
b/ltt/branches/poly/lttv/lttv/stats.c
index d36438dc5a8327c50ee88e30714050dff949e93e..b56eb36fda3a9107785a86fe42109cf9cd7d9b2b 100644
(file)
--- a/
ltt/branches/poly/lttv/lttv/stats.c
+++ b/
ltt/branches/poly/lttv/lttv/stats.c
@@
-80,9
+80,12
@@
init(LttvTracesetStats *self, LttvTraceset *ts)
LTTV_TRACESET_CONTEXT_CLASS(g_type_class_peek(LTTV_TRACESET_STATE_TYPE))->
init((LttvTracesetContext *)self, ts);
LTTV_TRACESET_CONTEXT_CLASS(g_type_class_peek(LTTV_TRACESET_STATE_TYPE))->
init((LttvTracesetContext *)self, ts);
- self->stats =lttv_attribute_find_subdir(self->parent.parent.ts_a,LTTV_STATS);
- lttv_attribute_find(self->parent.parent.ts_a, LTTV_STATS_USE_COUNT,
- LTTV_UINT, &v);
+ self->stats = lttv_attribute_find_subdir(
+ lttv_traceset_attribute(self->parent.parent.ts),
+ LTTV_STATS);
+ lttv_attribute_find(lttv_traceset_attribute(self->parent.parent.ts),
+ LTTV_STATS_USE_COUNT,
+ LTTV_UINT, &v);
*(v.v_uint)++;
if(*(v.v_uint) == 1) {
*(v.v_uint)++;
if(*(v.v_uint) == 1) {
@@
-121,7
+124,6
@@
init(LttvTracesetStats *self, LttvTraceset *ts)
}
}
}
}
-
static void
fini(LttvTracesetStats *self)
{
static void
fini(LttvTracesetStats *self)
{
@@
-149,7
+151,6
@@
fini(LttvTracesetStats *self)
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(self->parent.parent.ts_a, LTTV_STATS);
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(self->parent.parent.ts_a, LTTV_STATS);
- lttv_attribute_recursive_free(self->stats);
}
self->stats = NULL;
}
self->stats = NULL;
@@
-165,12
+166,10
@@
fini(LttvTracesetStats *self)
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(tcs->parent.parent.t_a,LTTV_STATS);
if(*(v.v_uint) == 0) {
lttv_attribute_remove_by_name(tcs->parent.parent.t_a,LTTV_STATS);
- lttv_attribute_recursive_free(tcs->stats);
tracefiles_stats = lttv_attribute_find_subdir(tcs->parent.parent.t_a,
LTTV_STATS_TRACEFILES);
lttv_attribute_remove_by_name(tcs->parent.parent.t_a,
LTTV_STATS_TRACEFILES);
tracefiles_stats = lttv_attribute_find_subdir(tcs->parent.parent.t_a,
LTTV_STATS_TRACEFILES);
lttv_attribute_remove_by_name(tcs->parent.parent.t_a,
LTTV_STATS_TRACEFILES);
- lttv_attribute_recursive_free(tracefiles_stats);
}
tcs->stats = NULL;
}
tcs->stats = NULL;
@@
-578,7
+577,7
@@
gboolean every_event(void *hook_data, void *call_data)
void
lttv_stats_sum_trace(LttvTraceStats *self)
{
void
lttv_stats_sum_trace(LttvTraceStats *self)
{
- Lttv
TraceStats *tc
s;
+ Lttv
Attribute *sum_container = self->stat
s;
LttvAttributeType type;
LttvAttributeType type;
@@
-597,16
+596,18
@@
lttv_stats_sum_trace(LttvTraceStats *self)
*cpu_events_tree, *process_modes_tree, *trace_cpu_tree,
*trace_modes_tree;
*cpu_events_tree, *process_modes_tree, *trace_cpu_tree,
*trace_modes_tree;
- main_tree = s
elf->stats
;
+ main_tree = s
um_container
;
- lttv_attribute_find(self->parent.parent.t_a, LTTV_STATS_SUMMED,
- LTTV_UINT, &value);
+ lttv_attribute_find(sum_container,
+ LTTV_STATS_SUMMED,
+ LTTV_UINT, &value);
if(*(value.v_uint) != 0) return;
*(value.v_uint) = 1;
processes_tree = lttv_attribute_find_subdir(main_tree,
if(*(value.v_uint) != 0) return;
*(value.v_uint) = 1;
processes_tree = lttv_attribute_find_subdir(main_tree,
- LTTV_STATS_PROCESSES);
- trace_modes_tree = lttv_attribute_find_subdir(main_tree, LTTV_STATS_MODES);
+ LTTV_STATS_PROCESSES);
+ trace_modes_tree = lttv_attribute_find_subdir(main_tree,
+ LTTV_STATS_MODES);
nb_process = lttv_attribute_get_number(processes_tree);
for(i = 0 ; i < nb_process ; i++) {
nb_process = lttv_attribute_get_number(processes_tree);
for(i = 0 ; i < nb_process ; i++) {
@@
-668,10
+669,17
@@
lttv_stats_sum_trace(LttvTraceStats *self)
}
}
+gboolean lttv_stats_sum_traceset_hook(void *hook_data, void *call_data)
+{
+ lttv_stats_sum_traceset((LttvTracesetStats *)call_data);
+ return 0;
+}
+
void
lttv_stats_sum_traceset(LttvTracesetStats *self)
{
LttvTraceset *traceset = self->parent.parent.ts;
void
lttv_stats_sum_traceset(LttvTracesetStats *self)
{
LttvTraceset *traceset = self->parent.parent.ts;
+ LttvAttribute *sum_container = self->stats;
LttvTraceStats *tcs;
LttvTraceStats *tcs;
@@
-681,12
+689,12
@@
lttv_stats_sum_traceset(LttvTracesetStats *self)
LttvAttributeValue value;
LttvAttributeValue value;
- lttv_attribute_find(s
elf->parent.parent.ts_a
, LTTV_STATS_SUMMED,
+ lttv_attribute_find(s
um_container
, LTTV_STATS_SUMMED,
LTTV_UINT, &value);
if(*(value.v_uint) != 0) return;
*(value.v_uint) = 1;
LTTV_UINT, &value);
if(*(value.v_uint) != 0) return;
*(value.v_uint) = 1;
- traceset_modes_tree = lttv_attribute_find_subdir(s
elf->stats
,
+ traceset_modes_tree = lttv_attribute_find_subdir(s
um_container
,
LTTV_STATS_MODES);
nb_trace = lttv_traceset_number(traceset);
LTTV_STATS_MODES);
nb_trace = lttv_traceset_number(traceset);
@@
-700,6
+708,16
@@
lttv_stats_sum_traceset(LttvTracesetStats *self)
}
}
+// Hook wrapper. call_data is a traceset context.
+gint lttv_stats_hook_add_event_hooks(void *hook_data, void *call_data)
+{
+ LttvTracesetStats *tss = (LttvTracesetStats*)call_data;
+
+ lttv_stats_add_event_hooks(tss);
+
+ return 0;
+}
+
lttv_stats_add_event_hooks(LttvTracesetStats *self)
{
LttvTraceset *traceset = self->parent.parent.ts;
lttv_stats_add_event_hooks(LttvTracesetStats *self)
{
LttvTraceset *traceset = self->parent.parent.ts;
@@
-825,6
+843,15
@@
lttv_stats_add_event_hooks(LttvTracesetStats *self)
}
}
}
}
+// Hook wrapper. call_data is a traceset context.
+gint lttv_stats_hook_remove_event_hooks(void *hook_data, void *call_data)
+{
+ LttvTracesetStats *tss = (LttvTracesetStats*)call_data;
+
+ lttv_stats_remove_event_hooks(tss);
+
+ return 0;
+}
lttv_stats_remove_event_hooks(LttvTracesetStats *self)
{
lttv_stats_remove_event_hooks(LttvTracesetStats *self)
{
This page took
0.024886 seconds
and
4
git commands to generate.