X-Git-Url: https://git.lttng.org/?p=lttngtop.git;a=blobdiff_plain;f=src%2Flttngtoptypes.h;h=c2b99c6680fe1664b0f7c1ce9d5ef14bfd49afc8;hp=7030b32f81ae253f871c13638a3f7f07ae399968;hb=c8d75a13bc5c025053b0c2c14fa1a7dfdaa1b448;hpb=85db46189f6379c1e517efd4cfc4558d696db988 diff --git a/src/lttngtoptypes.h b/src/lttngtoptypes.h index 7030b32..c2b99c6 100644 --- a/src/lttngtoptypes.h +++ b/src/lttngtoptypes.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Julien Desfossez + * Copyright (C) 2011-2012 Julien Desfossez * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License Version 2 as @@ -10,10 +10,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef LTTNGTOPTYPES_H @@ -22,10 +21,10 @@ #include struct lttngtop { + GHashTable *process_hash_table; /* struct processtop */ GPtrArray *process_table; /* struct processtop */ GPtrArray *files_table; /* struct files */ GPtrArray *cpu_table; /* struct cputime */ - GHashTable *perf_list; /* struct perfcounter */ unsigned long start; unsigned long end; unsigned int nbproc; @@ -43,24 +42,28 @@ struct processtop { unsigned int puuid; int pid; char *comm; + char *hostname; int tid; int ppid; - int oldpid; - int oldtid; - int oldppid; + int vpid; + int vtid; + int vppid; unsigned long birth; unsigned long death; - unsigned long lastactivity; + /* Files managing */ GPtrArray *process_files_table; + struct file_history *files_history; GPtrArray *threads; GHashTable *perf; struct processtop *threadparent; + /* IO calculting */ unsigned long totalfileread; unsigned long totalfilewrite; + unsigned long fileread; + unsigned long filewrite; + struct syscalls *syscall_info; unsigned long totalcpunsec; unsigned long threadstotalcpunsec; - /* IO speed for this process */ - struct iostream *iostream; }; struct perfcounter @@ -100,6 +103,7 @@ struct files { int oldfd; int device; int openmode; + int flag; unsigned long openedat; unsigned long closedat; unsigned long lastaccess; @@ -114,6 +118,11 @@ struct files { /* XXX : average wait time */ }; +struct file_history { + struct files *file; + struct file_history *next; +}; + struct sockets { int fd; int parent_fd; /* on accept a new fd is created from the bound socket */ @@ -145,9 +154,10 @@ struct vmas { struct syscalls { unsigned int id; unsigned long count; - unsigned int cpu_id; - unsigned int type; - unsigned int tid; + uint64_t cpu_id; + unsigned int type; + unsigned int tid; + unsigned int fd; }; struct signals { @@ -156,11 +166,19 @@ struct signals { unsigned long count; }; -struct iostream { - struct syscalls *syscall_info; /* NULL if there is no waiting for an exit_syscall */ - unsigned long ret_read; /* value returned by an I/O syscall_exit for a sys_read*/ - unsigned long ret_write; /* value returned by an I/O syscall_exit for a sys_write*/ - unsigned long ret_total; +struct file_info { + struct file_info *next; + char *name; + int fd; + int status; +}; + +/* header for cputop display */ +struct header_view { + char *title; + int visible; + int sort; + int reverse; }; #endif /* LTTNGTOPTYPES_H */