diff options
author | Vikas Gorur <vikas@gluster.com> | 2010-04-04 14:11:26 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-04-04 22:27:04 -0700 |
commit | d90c2f86ca7a8f6660e98da1e48c4798539b7d51 (patch) | |
tree | 2c0bab231490147b95d488cb097b8edd56670cea /libglusterfs/src/statedump.c | |
parent | 9c2bfa8a4441d27178f3b843bfa0a77df9f867e5 (diff) |
core: Do internal latency measurement of FOPs.
This patch adds a facility by which each translator
keeps track of the average latency of a FOP from
its point of view. That is, the duration between
the translator handing over the call to a lower-level
translator and the reply coming back.
The latency measurement is off by default, and can
be toggled by sending SIGUSR2 to the GlusterFS process.
Latency data is printed as part of the process state dump.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 268 (Add timing instrumentation code)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=268
Diffstat (limited to 'libglusterfs/src/statedump.c')
-rw-r--r-- | libglusterfs/src/statedump.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c index 7f1e3e24196..4e42280068f 100644 --- a/libglusterfs/src/statedump.c +++ b/libglusterfs/src/statedump.c @@ -141,6 +141,7 @@ gf_proc_dump_mem_info () } +void gf_proc_dump_latency_info (xlator_t *xl); void gf_proc_dump_xlator_info (xlator_t *this_xl) @@ -150,6 +151,8 @@ gf_proc_dump_xlator_info (xlator_t *this_xl) return; while (this_xl) { + gf_proc_dump_latency_info (this_xl); + if (!this_xl->dumpops) { this_xl = this_xl->next; continue; @@ -160,6 +163,7 @@ gf_proc_dump_xlator_info (xlator_t *this_xl) this_xl->dumpops->inode(this_xl); if (this_xl->dumpops->fd) this_xl->dumpops->fd(this_xl); + this_xl = this_xl->next; } |