summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2010-09-24 10:16:23 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-09-24 11:26:06 -0700
commitbd73298410ac6814ed2f45acf2beafee21dc0af1 (patch)
tree14b14473a92fbb23c0eca8d115152d3c7dc1d359
parentdca5c02cf31e373e6e4ff376a5f35684cd43e081 (diff)
glusterd: add new stats related options for 'volume set'
* 'gluster volume set <VOLNAME> latency-measurement <yes|no>' * 'gluster volume set <VOLNAME> dump-fd-stats <yes|no>' Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1701 (better statistics gathering in glusterd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1701
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c28
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.h2
3 files changed, 27 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index 81762320f55..3b6a0201670 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -1119,6 +1119,8 @@ char *set_option_list[] = {
"io-cache",
"quick-read",
"stat-prefetch",
+ "latency-measurement",
+ "dump-fd-stats",
};
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index 9609342b67d..75f728c6343 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -308,6 +308,16 @@ set_default_options (dict_t *dict, char *volname)
if (ret)
goto out;
+ ret = set_xlator_option (dict, VOLGEN_IOS_OPTION_DUMP_FD_STATS,
+ "no");
+ if (ret)
+ goto out;
+
+ ret = set_xlator_option (dict, VOLGEN_IOS_OPTION_MEASURE_LATENCY,
+ "no");
+ if (ret)
+ goto out;
+
ret = 0;
out:
@@ -1600,12 +1610,14 @@ __write_iostats_xlator (FILE *file, dict_t *dict,
char *subvolume)
{
char *volname = NULL;
+ char *dumpfd = NULL;
+ char *latency = NULL;
int ret = -1;
const char *iostats_str = "volume %s\n"
" type debug/io-stats\n"
- " # option dump-fd-stats enable\n"
- " # option latency-measurement enable\n"
+ " option dump-fd-stats %s\n"
+ " option latency-measurement %s\n"
" subvolumes %s\n"
"end-volume\n\n";
@@ -1614,9 +1626,15 @@ __write_iostats_xlator (FILE *file, dict_t *dict,
goto out;
}
- fprintf (file, iostats_str,
- volname,
- subvolume);
+ ret = dict_get_str (dict, VOLGEN_IOS_OPTION_DUMP_FD_STATS, &dumpfd);
+ if (ret)
+ goto out;
+
+ ret = dict_get_str (dict, VOLGEN_IOS_OPTION_MEASURE_LATENCY, &latency);
+ if (ret)
+ goto out;
+
+ fprintf (file, iostats_str, volname, dumpfd, latency, subvolume);
ret = 0;
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.h b/xlators/mgmt/glusterd/src/glusterd-volgen.h
index a93bac6751a..2f0ab8bdbd0 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.h
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.h
@@ -125,6 +125,8 @@
#define VOLGEN_QR_OPTION_CACHESIZE "volgen_qr_option_cachesize"
#define VOLGEN_QR_OPTION_MAXFILESIZE "volgen_qr_option_maxfilesize"
+#define VOLGEN_IOS_OPTION_DUMP_FD_STATS "dump-fd-stats"
+#define VOLGEN_IOS_OPTION_MEASURE_LATENCY "latency-measurement"
int
glusterd_create_volfiles (glusterd_volinfo_t *volinfo);