mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-01 17:10:42 +00:00
[MINOR] show sess: report number of calls to each task
For debugging purposes, it can be useful to know how many times each task has been called.
This commit is contained in:
parent
2d045597f7
commit
3884cbaae6
@ -173,6 +173,7 @@ static inline struct task *task_init(struct task *t)
|
||||
t->rq.node.leaf_p = NULL;
|
||||
t->state = TASK_SLEEPING;
|
||||
t->nice = 0;
|
||||
t->calls = 0;
|
||||
return t;
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,7 @@ struct task {
|
||||
struct eb32_node rq; /* ebtree node used to hold the task in the run queue */
|
||||
int state; /* task state : bit field of TASK_* */
|
||||
int expire; /* next expiration date for this task, in ticks */
|
||||
unsigned int calls; /* number of times ->process() was called */
|
||||
struct task * (*process)(struct task *t); /* the function which processes the task */
|
||||
void *context; /* the task's context */
|
||||
int nice; /* the task's current nice value from -1024 to +1024 */
|
||||
|
@ -1209,10 +1209,11 @@ void stats_dump_sess_to_buffer(struct session *s, struct buffer *rep)
|
||||
}
|
||||
|
||||
chunk_printf(&msg, sizeof(trash),
|
||||
" si=(%d,%d) as=%d ts=%02x age=%s",
|
||||
" si=(%d,%d) as=%d ts=%02x age=%s calls=%d",
|
||||
curr_sess->si[0].state, curr_sess->si[1].state,
|
||||
curr_sess->ana_state, curr_sess->task->state,
|
||||
human_time(now.tv_sec - curr_sess->logs.tv_accept.tv_sec, 1));
|
||||
human_time(now.tv_sec - curr_sess->logs.tv_accept.tv_sec, 1),
|
||||
curr_sess->task->calls);
|
||||
|
||||
if (task_in_rq(curr_sess->task))
|
||||
chunk_printf(&msg, sizeof(trash), " run(nice=%d)\n", curr_sess->task->nice);
|
||||
|
@ -219,6 +219,7 @@ void process_runnable_tasks(int *next)
|
||||
/* This is an optimisation to help the processor's branch
|
||||
* predictor take this most common call.
|
||||
*/
|
||||
t->calls++;
|
||||
if (likely(t->process == process_session))
|
||||
t = process_session(t);
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user