From d90c2f86ca7a8f6660e98da1e48c4798539b7d51 Mon Sep 17 00:00:00 2001 From: Vikas Gorur Date: Sun, 4 Apr 2010 14:11:26 +0000 Subject: 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 Signed-off-by: Anand V. Avati BUG: 268 (Add timing instrumentation code) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=268 --- libglusterfs/src/statedump.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libglusterfs/src/statedump.c') diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c index 7f1e3e241..4e4228006 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; } -- cgit