projects
/
lttngtop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add_proc now takes hostname param
[lttngtop.git]
/
src
/
common.c
diff --git
a/src/common.c
b/src/common.c
index 500c80d674f9056ced114e75a54af1e04fc51fc2..02d72bb6e023b252da6be57af4330d138baa9a3b 100644
(file)
--- a/
src/common.c
+++ b/
src/common.c
@@
-175,7
+175,7
@@
struct processtop *find_process_tid(struct lttngtop *ctx, int tid, char *comm)
}
struct processtop* add_proc(struct lttngtop *ctx, int tid, char *comm,
}
struct processtop* add_proc(struct lttngtop *ctx, int tid, char *comm,
- unsigned long timestamp)
+ unsigned long timestamp
, char *hostname
)
{
struct processtop *newproc;
{
struct processtop *newproc;
@@
-207,6
+207,15
@@
struct processtop* add_proc(struct lttngtop *ctx, int tid, char *comm,
ctx->nbthreads++;
}
newproc->comm = strdup(comm);
ctx->nbthreads++;
}
newproc->comm = strdup(comm);
+ if (hostname) {
+ if (newproc->hostname && strcmp(newproc->hostname, hostname) != 0) {
+ free(newproc->hostname);
+ }
+ newproc->hostname = strdup(hostname);
+ if (lookup_hostname_list(hostname)) {
+ add_filter_tid_list(tid, newproc);
+ }
+ }
return newproc;
}
return newproc;
}
@@
-225,15
+234,6
@@
struct processtop* update_proc(struct processtop* proc, int pid, int tid,
free(proc->comm);
proc->comm = strdup(comm);
}
free(proc->comm);
proc->comm = strdup(comm);
}
- if (hostname) {
- if (proc->hostname && strcmp(proc->hostname, hostname) != 0) {
- free(proc->hostname);
- }
- proc->hostname = strdup(hostname);
- if (lookup_hostname_list(hostname)) {
- add_filter_tid_list(tid, proc);
- }
- }
}
return proc;
}
}
return proc;
}
@@
-258,23
+258,23
@@
void death_proc(struct lttngtop *ctx, int tid, char *comm,
}
struct processtop* get_proc(struct lttngtop *ctx, int tid, char *comm,
}
struct processtop* get_proc(struct lttngtop *ctx, int tid, char *comm,
- unsigned long timestamp)
+ unsigned long timestamp
, char *hostname
)
{
struct processtop *tmp;
tmp = find_process_tid(ctx, tid, comm);
if (tmp && strcmp(tmp->comm, comm) == 0)
return tmp;
{
struct processtop *tmp;
tmp = find_process_tid(ctx, tid, comm);
if (tmp && strcmp(tmp->comm, comm) == 0)
return tmp;
- return add_proc(ctx, tid, comm, timestamp);
+ return add_proc(ctx, tid, comm, timestamp
, hostname
);
}
struct processtop *get_proc_pid(struct lttngtop *ctx, int tid, int pid,
}
struct processtop *get_proc_pid(struct lttngtop *ctx, int tid, int pid,
- unsigned long timestamp)
+ unsigned long timestamp
, char *hostname
)
{
struct processtop *tmp;
tmp = find_process_tid(ctx, tid, NULL);
if (tmp && tmp->pid == pid)
return tmp;
{
struct processtop *tmp;
tmp = find_process_tid(ctx, tid, NULL);
if (tmp && tmp->pid == pid)
return tmp;
- return add_proc(ctx, tid, "Unknown", timestamp);
+ return add_proc(ctx, tid, "Unknown", timestamp
, hostname
);
}
void add_thread(struct processtop *parent, struct processtop *thread)
}
void add_thread(struct processtop *parent, struct processtop *thread)
@@
-620,8
+620,9
@@
enum bt_cb_ret handle_statedump_process_state(struct bt_ctf_event *call_data,
}
proc = find_process_tid(<tngtop, tid, procname);
}
proc = find_process_tid(<tngtop, tid, procname);
+ /* FIXME : hostname NULL */
if (proc == NULL)
if (proc == NULL)
- proc = add_proc(<tngtop, tid, procname, timestamp);
+ proc = add_proc(<tngtop, tid, procname, timestamp
, NULL
);
update_proc(proc, pid, tid, ppid, vpid, vtid, vppid, procname, NULL);
if (proc) {
update_proc(proc, pid, tid, ppid, vpid, vtid, vppid, procname, NULL);
if (proc) {
@@
-669,6
+670,14
@@
char *lookup_hostname_list(const char *hostname)
return g_hash_table_lookup(hostname_list, (gpointer) hostname);
}
return g_hash_table_lookup(hostname_list, (gpointer) hostname);
}
+void remove_hostname_list(const char *hostname)
+{
+ if (!hostname || !hostname_list)
+ return;
+
+ g_hash_table_remove(hostname_list, (gpointer) hostname);
+}
+
int *lookup_filter_tid_list(int tid)
{
return g_hash_table_lookup(global_filter_list, (gpointer) &tid);
int *lookup_filter_tid_list(int tid)
{
return g_hash_table_lookup(global_filter_list, (gpointer) &tid);
This page took
0.029215 seconds
and
4
git commands to generate.