X-Git-Url: https://git.lttng.org/?p=lttngtop.git;a=blobdiff_plain;f=src%2Fcommon.h;h=e21ece4ff014d42f17a479acba05d6726b022da8;hp=0903413a157e43bf42547f3f137160b50d42f70f;hb=09e7f98e84338afb3f6959a19df84ec4b4c1c012;hpb=928f18a6c02cf1eaafb7b60cb72860ed68d7456b diff --git a/src/common.h b/src/common.h index 0903413..e21ece4 100644 --- a/src/common.h +++ b/src/common.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 @@ -29,21 +29,42 @@ sem_t goodtodisplay, goodtoupdate, timer, pause_sem, end_trace_sem, bootstrap; GPtrArray *copies; /* struct lttngtop */ -pthread_mutex_t perf_list_mutex; +GHashTable *global_perf_liszt; +GHashTable *global_filter_list; +GHashTable *global_host_list; + +char *opt_tid; +char *opt_hostname; +char *opt_relay_hostname; +char *opt_kprobes; +char *opt_exec_name; +char **opt_exec_argv; +char **opt_exec_env; +int opt_exec_pid; +char *opt_output; +FILE *output; +GHashTable *tid_filter_list; + +int remote_live; + +int toggle_filter; + +extern int quit; struct lttngtop *data; -struct processtop *find_process_tid(struct lttngtop *ctx, int pid, char *comm); +struct processtop *find_process_tid(struct lttngtop *ctx, int pid, const char *comm); struct processtop* add_proc(struct lttngtop *ctx, int pid, char *comm, - unsigned long timestamp); + unsigned long timestamp, char *hostname); struct processtop* update_proc(struct processtop* proc, int pid, int tid, - int ppid, char *comm); + int ppid, int vpid, int vtid, int vppid, char *comm, + char *hostname); void add_thread(struct processtop *parent, struct processtop *thread); struct processtop* get_proc(struct lttngtop *ctx, int tid, char *comm, - unsigned long timestamp); + unsigned long timestamp, char *hostname); struct processtop *get_proc_pid(struct lttngtop *ctx, int tid, int pid, - unsigned long timestamp); + unsigned long timestamp, char *hostname); void death_proc(struct lttngtop *ctx, int tid, char *comm, unsigned long timestamp); @@ -62,8 +83,24 @@ uint64_t get_context_tid(const struct bt_ctf_event *event); uint64_t get_context_pid(const struct bt_ctf_event *event); uint64_t get_context_ppid(const struct bt_ctf_event *event); char *get_context_comm(const struct bt_ctf_event *event); +uint64_t get_context_vtid(const struct bt_ctf_event *event); +uint64_t get_context_vpid(const struct bt_ctf_event *event); +uint64_t get_context_vppid(const struct bt_ctf_event *event); +char *get_context_hostname(const struct bt_ctf_event *event); enum bt_cb_ret handle_statedump_process_state(struct bt_ctf_event *call_data, void *private_data); +struct tm format_timestamp(uint64_t timestamp); + +int *lookup_filter_tid_list(int tid); +int *lookup_tid_list(int tid); +void remove_hostname_list(const char *hostname); +void add_filter_tid_list(struct processtop *proc); +void remove_filter_tid_list(int tid); +struct host *lookup_hostname_list(const char *hostname); +int is_hostname_filtered(const char *hostname); +struct host *add_hostname_list(char *hostname, int filter); +void update_hostname_filter(struct host *host); + #endif /* _COMMON_H */