fix add_proc with hostname
authorJulien Desfossez <jdesfossez@efficios.com>
Wed, 29 Aug 2012 17:33:07 +0000 (13:33 -0400)
committerJulien Desfossez <jdesfossez@efficios.com>
Wed, 29 Aug 2012 17:33:07 +0000 (13:33 -0400)
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
src/common.c
src/cputop.c
src/lttngtop.c

index 222595c60c4a2b51ab7d4162d1bfa8c068211da4..15f9de0864fb8675859b4ad807fd50a826eb097a 100644 (file)
@@ -234,6 +234,12 @@ struct processtop* update_proc(struct processtop* proc, int pid, int tid,
                        free(proc->comm);
                        proc->comm = strdup(comm);
                }
+               if (hostname && !proc->hostname) {
+                       proc->hostname = strdup(hostname);
+                       if (lookup_hostname_list(hostname)) {
+                               add_filter_tid_list(tid, proc);
+                       }
+               }
        }
        return proc;
 }
@@ -261,9 +267,11 @@ struct processtop* get_proc(struct lttngtop *ctx, int tid, char *comm,
                unsigned long timestamp, char *hostname)
 {
        struct processtop *tmp;
+
        tmp = find_process_tid(ctx, tid, comm);
-       if (tmp && strcmp(tmp->comm, comm) == 0)
+       if (tmp && strcmp(tmp->comm, comm) == 0) {
                return tmp;
+       }
        return add_proc(ctx, tid, comm, timestamp, hostname);
 }
 
@@ -565,7 +573,7 @@ enum bt_cb_ret handle_statedump_process_state(struct bt_ctf_event *call_data,
        struct processtop *proc;
        unsigned long timestamp;
        int64_t pid, tid, ppid, vtid, vpid, vppid;
-       char *procname;
+       char *procname, *hostname = NULL;
 
        timestamp = bt_ctf_get_timestamp(call_data);
        if (timestamp == -1ULL)
@@ -618,12 +626,17 @@ enum bt_cb_ret handle_statedump_process_state(struct bt_ctf_event *call_data,
                fprintf(stderr, "Missing process name context info\n");
                goto error;
        }
+       /*
+       hostname = bt_ctf_get_char_array(bt_ctf_get_field(call_data,
+                               scope, "_hostname"));
+       if (bt_ctf_field_get_error()) {
+       }
+       */
 
        proc = find_process_tid(&lttngtop, tid, procname);
-       /* FIXME : hostname NULL */
        if (proc == NULL)
-               proc = add_proc(&lttngtop, tid, procname, timestamp, NULL);
-       update_proc(proc, pid, tid, ppid, vpid, vtid, vppid, procname, NULL);
+               proc = add_proc(&lttngtop, tid, procname, timestamp, hostname);
+       update_proc(proc, pid, tid, ppid, vpid, vtid, vppid, procname, hostname);
 
        if (proc) {
                free(proc->comm);
index e694f3422f515f0b2ddef0033254bd1fd6d3e31d..754179cd361a9f0b820451ac12a9c6c5d321d81a 100644 (file)
@@ -55,7 +55,7 @@ enum bt_cb_ret handle_sched_switch(struct bt_ctf_event *call_data,
        uint64_t cpu_id;
        char *prev_comm, *next_comm;
        int prev_tid, next_tid;
-       char *hostname;
+       char *hostname = NULL;
 
        timestamp = bt_ctf_get_timestamp(call_data);
        if (timestamp == -1ULL)
@@ -90,7 +90,6 @@ enum bt_cb_ret handle_sched_switch(struct bt_ctf_event *call_data,
                fprintf(stderr, "Missing next_tid context info\n");
                goto error;
        }
-       hostname = get_context_hostname(call_data);
 
        cpu_id = get_cpu_id(call_data);
 
index 69a0f506e55941a7b7145859b0b19e21c81cff7e..10ee4ee2c68a6a9b95320d9447976783576b7b63 100644 (file)
@@ -1214,7 +1214,8 @@ int setup_live_tracing()
                chan.attr.subbuf_size = 32768;
                chan.attr.num_subbuf = 8;
        } else {
-               chan.attr.subbuf_size = 1048576; /* 1MB */
+               //chan.attr.subbuf_size = 1048576; /* 1MB */
+               chan.attr.subbuf_size = 2097152; /* 1MB */
                chan.attr.num_subbuf = 4;
        }
        chan.attr.switch_timer_interval = 0;
This page took 0.02585 seconds and 4 git commands to generate.