Refine the interactions between the hooks provided by the different modules.
[lttv.git] / ltt / branches / poly / include / lttv / stats.h
1
2 /* The statistics are for a complete time interval. These structures differ
3 from the system state since they relate to static components of the
4 system (all processes which existed instead of just the currently
5 existing processes).
6
7 At each level are kept statistics as well as pointers to subcomponents.
8 During the trace processing, the statistics are accumulated at the
9 lowest level component level. Then, in the "after" hooks of the processing,
10 these statistics are summed to get the values at higher levels (process,
11 CPU, trace, traceSet). */
12
13 typedef struct _lttv_trace_set_stats {
14 lttv_attributes *stats;
15 lttv_attributes *traces;
16 } lttv_trace_set_stats;
17
18 typedef struct _lttv_trace_stats {
19 lttv_attributes *stats;
20 lttv_attributes *CPUs;
21 lttv_attributes *processes;
22 lttv_attributes *int_calls;
23 lttv_attributes *block_devices;
24 } lttv_trace_stats;
25
26 typedef struct _lttv_cpu_stats {
27 lttv_attributes *processes;
28 lttv_attributes *int_calls;
29 lttv_attributes *block_devices;
30 } lttv_cpu_stats;
31
32 typedef struct _lttv_process_identity {
33 char *names;
34 lttv_time entry, exit;
35 } lttv_process_identity;
36
37 typedef struct _lttv_process_stats {
38 lttv_attributes *stats;
39 lttv_process_identify *p;
40 lttv_attributes *int_calls;
41 lttv_attributes *block_devices;
42 } lttv_process_stats;
43
44 typedef lttv_int_stats {
45 lttv_attributes *stats;
46 lttv_int_type type;
47 } lttv_int_stats;
48
49 typedef lttv_block_device_stats {
50 lttv_attributes *stats;
51 } lttv_block_device_stats;
52
This page took 0.02947 seconds and 4 git commands to generate.