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
/
cputop.c
diff --git
a/src/cputop.c
b/src/cputop.c
index 8d4f03e64e8417afde481cb23365af69de4e3658..7df54696afdcb186159bab40ca6b34ba5b37ec73 100644
(file)
--- a/
src/cputop.c
+++ b/
src/cputop.c
@@
-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
*
* 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
@@
-22,7
+22,7
@@
#include "cputop.h"
void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid,
#include "cputop.h"
void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid,
- int next_pid, char *prev_comm, char *next_comm)
+ int next_pid, char *prev_comm, char *next_comm
, char *hostname
)
{
struct cputime *tmpcpu;
unsigned long elapsed;
{
struct cputime *tmpcpu;
unsigned long elapsed;
@@
-33,26
+33,29
@@
void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid,
elapsed = timestamp - tmpcpu->task_start;
tmpcpu->current_task->totalcpunsec += elapsed;
tmpcpu->current_task->threadstotalcpunsec += elapsed;
elapsed = timestamp - tmpcpu->task_start;
tmpcpu->current_task->totalcpunsec += elapsed;
tmpcpu->current_task->threadstotalcpunsec += elapsed;
- if (tmpcpu->current_task->pid != tmpcpu->current_task->tid)
+ if (tmpcpu->current_task->threadparent &&
+ tmpcpu->current_task->pid != tmpcpu->current_task->tid)
tmpcpu->current_task->threadparent->threadstotalcpunsec += elapsed;
}
if (next_pid != 0)
tmpcpu->current_task->threadparent->threadstotalcpunsec += elapsed;
}
if (next_pid != 0)
- tmpcpu->current_task = get_proc(<tngtop, next_pid, next_comm, timestamp);
+ tmpcpu->current_task = get_proc(<tngtop, next_pid, next_comm,
+ timestamp, hostname);
else
tmpcpu->current_task = NULL;
tmpcpu->task_start = timestamp;
}
else
tmpcpu->current_task = NULL;
tmpcpu->task_start = timestamp;
}
-enum bt_cb_ret handle_sched_switch(struct
ctf_event_definition
*call_data,
+enum bt_cb_ret handle_sched_switch(struct
bt_ctf_event
*call_data,
void *private_data)
{
void *private_data)
{
- const struct definition *scope;
+ const struct
bt_
definition *scope;
unsigned long timestamp;
uint64_t cpu_id;
char *prev_comm, *next_comm;
int prev_tid, next_tid;
unsigned long timestamp;
uint64_t cpu_id;
char *prev_comm, *next_comm;
int prev_tid, next_tid;
+ char *hostname;
timestamp = bt_ctf_get_timestamp(call_data);
if (timestamp == -1ULL)
timestamp = bt_ctf_get_timestamp(call_data);
if (timestamp == -1ULL)
@@
-87,11
+90,12
@@
enum bt_cb_ret handle_sched_switch(struct ctf_event_definition *call_data,
fprintf(stderr, "Missing next_tid context info\n");
goto error;
}
fprintf(stderr, "Missing next_tid context info\n");
goto error;
}
+ hostname = get_context_hostname(call_data);
cpu_id = get_cpu_id(call_data);
update_cputop_data(timestamp, cpu_id, prev_tid, next_tid,
cpu_id = get_cpu_id(call_data);
update_cputop_data(timestamp, cpu_id, prev_tid, next_tid,
- prev_comm, next_comm);
+ prev_comm, next_comm
, hostname
);
return BT_CB_OK;
return BT_CB_OK;
@@
-99,10
+103,10
@@
error:
return BT_CB_ERROR_STOP;
}
return BT_CB_ERROR_STOP;
}
-enum bt_cb_ret handle_sched_process_free(struct
ctf_event_definition
*call_data,
+enum bt_cb_ret handle_sched_process_free(struct
bt_ctf_event
*call_data,
void *private_data)
{
void *private_data)
{
- const struct definition *scope;
+ const struct
bt_
definition *scope;
unsigned long timestamp;
char *comm;
int tid;
unsigned long timestamp;
char *comm;
int tid;
This page took
0.024183 seconds
and
4
git commands to generate.