X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fresourceview%2Fprocesslist.h;h=a68df00786953f868ae1d181031880c43ee320d9;hb=1b17194774dd382bbf7da085ad0628968a3ebea5;hp=d94846030ea798d57aece063eb7cec4d5dc237b7;hpb=9e01e6d4aa891aa2900227503bde6e7dd9ae65a1;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/resourceview/processlist.h b/ltt/branches/poly/lttv/modules/gui/resourceview/processlist.h index d9484603..a68df007 100644 --- a/ltt/branches/poly/lttv/modules/gui/resourceview/processlist.h +++ b/ltt/branches/poly/lttv/modules/gui/resourceview/processlist.h @@ -16,8 +16,6 @@ * MA 02111-1307, USA. */ - - #ifndef _PROCESS_LIST_H #define _PROCESS_LIST_H @@ -45,33 +43,19 @@ /* Enumeration of the columns */ enum { - PROCESS_COLUMN, - BRAND_COLUMN, - PID_COLUMN, - TGID_COLUMN, - PPID_COLUMN, - CPU_COLUMN, - BIRTH_S_COLUMN, - BIRTH_NS_COLUMN, - TRACE_COLUMN, + NAME_COLUMN, N_COLUMNS }; -typedef struct _ProcessInfo { - - guint pid; - guint tgid; - guint cpu; - guint ppid; - LttTime birth; +typedef struct _ResourceInfo { + GQuark name; guint trace_num; + guint type; + guint64 id; +} ResourceInfo; - // gint height_cache; - -} ProcessInfo; - -typedef struct _HashedProcessData { +typedef struct _HashedResourceData { GdkPixmap *pixmap; // Pixmap slice containing drawing buffer for the PID gint height; // height of the pixmap @@ -93,7 +77,7 @@ typedef struct _HashedProcessData { LttTime next_good_time; /* precalculate the next time where the next pixel is.*/ -} HashedProcessData; +} HashedResourceData; struct _ProcessList { @@ -109,7 +93,7 @@ struct _ProcessList { gint cell_height; /* Current process pointer, one per cpu, one per trace */ - HashedProcessData ***current_hash_data; + HashedResourceData ***current_hash_data; /* Array containing index -> pixmap correspondance. Must be updated * every time the process list is reordered, process added or removed */ @@ -134,11 +118,10 @@ void processlist_clear(ProcessList *process_list); // out : success (0) and height /* CPU num is only used for PID 0 */ -int processlist_add(ProcessList *process_list, Drawing_t * drawing, - guint pid, guint tgid, guint cpu, guint ppid, - LttTime *birth, guint trace_num, GQuark name, GQuark brand, guint *height, - ProcessInfo **process_info, - HashedProcessData **hashed_process_data); +int resourcelist_add( ProcessList *process_list, Drawing_t *drawing, guint trace_num, + GQuark name, guint type, guint id, guint *height, ResourceInfo **pm_resource_info, + HashedResourceData **pm_hashed_resource_data); + // out : success (0) and height int processlist_remove(ProcessList *process_list, guint pid, guint cpu, LttTime *birth, guint trace_num); @@ -146,19 +129,19 @@ int processlist_remove(ProcessList *process_list, guint pid, guint cpu, /* Set the name of a process */ void processlist_set_name(ProcessList *process_list, GQuark name, - HashedProcessData *hashed_process_data); + HashedResourceData *hashed_process_data); void processlist_set_brand(ProcessList *process_list, GQuark brand, - HashedProcessData *hashed_process_data); + HashedResourceData *hashed_process_data); /* Set the ppid of a process */ void processlist_set_tgid(ProcessList *process_list, guint tgid, - HashedProcessData *hashed_process_data); + HashedResourceData *hashed_process_data); void processlist_set_ppid(ProcessList *process_list, guint ppid, - HashedProcessData *hashed_process_data); + HashedResourceData *hashed_process_data); /* Synchronize the list at the left and the drawing */ @@ -208,28 +191,29 @@ static inline guint processlist_get_height(ProcessList *process_list) } -static inline HashedProcessData *processlist_get_process_data( - ProcessList *process_list, - guint pid, guint cpu, LttTime *birth, guint trace_num) +static inline HashedResourceData *processlist_get_process_data( + ProcessList *process_list, GQuark resource_name, guint trace_num) { - ProcessInfo process_info; - - process_info.pid = pid; - if(pid == 0) - process_info.cpu = cpu; - else - process_info.cpu = ANY_CPU; - process_info.birth = *birth; - process_info.trace_num = trace_num; - - return (HashedProcessData*)g_hash_table_lookup( + ResourceInfo resource_info; + +// process_info.pid = pid; +// if(pid == 0) +// process_info.cpu = cpu; +// else +// process_info.cpu = ANY_CPU; +// process_info.birth = *birth; +// process_info.trace_num = trace_num; + resource_info.name = resource_name; + resource_info.trace_num = trace_num; + + return (HashedResourceData*)g_hash_table_lookup( process_list->process_hash, - &process_info); + &resource_info); } static inline gint processlist_get_pixels_from_data( ProcessList *process_list, - HashedProcessData *hashed_process_data, + HashedResourceData *hashed_process_data, guint *y, guint *height) { @@ -249,7 +233,7 @@ static inline gint processlist_get_pixels_from_data( ProcessList *process_list, } static inline guint processlist_get_index_from_data(ProcessList *process_list, - HashedProcessData *hashed_process_data) + HashedResourceData *hashed_process_data) { gint *path_indices; GtkTreePath *tree_path;