follow child working textdump and gui
[lttngtop.git] / src / lttngtoptypes.h
CommitLineData
1fc22eb4 1/*
aa15ac1c 2 * Copyright (C) 2011-2012 Julien Desfossez
1fc22eb4
JD
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
71bd7ce1
AM
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1fc22eb4
JD
16 */
17
18#ifndef LTTNGTOPTYPES_H
19#define LTTNGTOPTYPES_H
20
21#include <glib.h>
22
23struct lttngtop {
30b646c4 24 GHashTable *process_hash_table; /* struct processtop */
1fc22eb4
JD
25 GPtrArray *process_table; /* struct processtop */
26 GPtrArray *files_table; /* struct files */
27 GPtrArray *cpu_table; /* struct cputime */
246d5992 28 GPtrArray *kprobes_table; /* struct kprobes */
1fc22eb4
JD
29 unsigned long start;
30 unsigned long end;
31 unsigned int nbproc;
32 unsigned int nbnewproc;
33 unsigned int nbdeadproc;
34 unsigned int nbthreads;
35 unsigned int nbnewthreads;
36 unsigned int nbdeadthreads;
37 unsigned int nbfiles;
38 unsigned int nbnewfiles;
39 unsigned int nbclosedfiles;
40} lttngtop;
41
42struct processtop {
43 unsigned int puuid;
44 int pid;
45 char *comm;
b99227ca 46 struct host *host;
1fc22eb4
JD
47 int tid;
48 int ppid;
1402044a
JD
49 int vpid;
50 int vtid;
51 int vppid;
1fc22eb4
JD
52 unsigned long birth;
53 unsigned long death;
b093de8a 54 /* Files managing */
1fc22eb4 55 GPtrArray *process_files_table;
b093de8a 56 struct file_history *files_history;
1fc22eb4
JD
57 GPtrArray *threads;
58 GHashTable *perf;
59 struct processtop *threadparent;
b093de8a 60 /* IO calculting */
1fc22eb4
JD
61 unsigned long totalfileread;
62 unsigned long totalfilewrite;
b093de8a
MB
63 unsigned long fileread;
64 unsigned long filewrite;
65 struct syscalls *syscall_info;
1fc22eb4
JD
66 unsigned long totalcpunsec;
67 unsigned long threadstotalcpunsec;
1fc22eb4
JD
68};
69
70struct perfcounter
71{
72 unsigned long count;
73 int visible;
74 int sort;
75};
76
77struct cputime {
78 guint id;
79 struct processtop *current_task;
80 unsigned long task_start;
81 GHashTable *perf;
82};
83
84/*
85 * used for "relative seeks" (with fd, for example fs.lseek)
86 * and for "absolute seeks" (events occuring on a device without
87 * any link to a particular process)
88 */
89struct seeks {
90 unsigned long offset;
91 unsigned long count;
92};
93
94struct ioctls {
95 unsigned int command;
96 unsigned long count;
97};
98
99struct files {
100 struct processtop *ref;
101 unsigned int fuuid;
102 int fd;
103 char *name;
104 int oldfd;
105 int device;
106 int openmode;
ceb3a221 107 int flag;
1fc22eb4
JD
108 unsigned long openedat;
109 unsigned long closedat;
110 unsigned long lastaccess;
111 unsigned long read;
112 unsigned long write;
113 unsigned long nbpoll;
114 unsigned long nbselect;
115 unsigned long nbopen;
116 unsigned long nbclose;
117 //struct *seeks; /* relative seeks inside the file */
118 //struct *ioctls;
119 /* XXX : average wait time */
120};
121
b093de8a
MB
122struct file_history {
123 struct files *file;
124 struct file_history *next;
125};
126
1fc22eb4
JD
127struct sockets {
128 int fd;
129 int parent_fd; /* on accept a new fd is created from the bound socket */
130 int family;
131 int type;
132 int protocol;
133 int sock_address;
134 unsigned long openedat;
135 unsigned long closedat;
136 unsigned long bind_address;
137 unsigned long remote_address;
138 //struct *sock_options;
139};
140
141struct sock_options {
142 int name;
143 int value;
144};
145
146struct vmas {
147 unsigned long start;
148 unsigned long end;
149 unsigned long flags;
150 unsigned long prot;
151 char *description; /* filename or description if possible (stack, heap) */
152 unsigned long page_faults;
153};
154
155struct syscalls {
156 unsigned int id;
157 unsigned long count;
d67167cd 158 uint64_t cpu_id;
b093de8a
MB
159 unsigned int type;
160 unsigned int tid;
161 unsigned int fd;
1fc22eb4
JD
162};
163
164struct signals {
165 int dest_pid;
166 int id;
167 unsigned long count;
168};
169
b093de8a
MB
170struct file_info {
171 struct file_info *next;
172 char *name;
173 int fd;
174 int status;
1fc22eb4
JD
175};
176
3b15348c 177/* header for cputop display */
89f1e0d1 178struct header_view {
3b15348c
JD
179 char *title;
180 int visible;
181 int sort;
182 int reverse;
183};
184
246d5992
JD
185struct kprobes {
186 char *probe_name;
187 char *symbol_name;
188 int probe_addr;
189 int probe_offset;
190 int count;
191};
192
114cae59 193struct host {
ea5d1dc9 194 char *hostname;
114cae59 195 int filter;
ea5d1dc9
JD
196};
197
1fc22eb4 198#endif /* LTTNGTOPTYPES_H */
This page took 0.032194 seconds and 4 git commands to generate.