summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/statedump.c
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2017-05-30 14:27:16 +0530
committerJeff Darcy <jeff@pl.atyp.us>2017-06-05 12:44:28 +0000
commitd7105ba1652e548d9ba893e05f3d1fa29e8ee3b1 (patch)
tree0858e051d220ad8bddf80aee029be1fa3b09583e /libglusterfs/src/statedump.c
parenta9d3d0438ef93beb6ec3f895923db4418c0ab3df (diff)
core: add more information on dictionary usage
when you take the 'statedump', it shows the output like below ----- [dict] max-number-of-dict-pairs=13 total-pairs-used=41613 total-dict-used=12629 average-pairs-per-dict=3 ------ Updates #220 Change-Id: I71a7eda3a3cd23edf4483234f22f983923bbb081 Signed-off-by: Amar Tumballi <amarts@redhat.com> Reviewed-on: https://review.gluster.org/4035 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
Diffstat (limited to 'libglusterfs/src/statedump.c')
-rw-r--r--libglusterfs/src/statedump.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c
index bb8043a869f..697ddc3b7ba 100644
--- a/libglusterfs/src/statedump.c
+++ b/libglusterfs/src/statedump.c
@@ -467,6 +467,23 @@ gf_proc_dump_mempool_info_to_dict (glusterfs_ctx_t *ctx, dict_t *dict)
void gf_proc_dump_latency_info (xlator_t *xl);
void
+gf_proc_dump_dict_info (glusterfs_ctx_t *ctx)
+{
+ uint64_t total_dicts = 0;
+ uint64_t total_pairs = 0;
+
+ total_dicts = GF_ATOMIC_GET (ctx->stats.total_dicts_used);
+ total_pairs = GF_ATOMIC_GET (ctx->stats.total_pairs_used);
+
+ gf_proc_dump_write ("max-pairs-per-dict", "%u",
+ GF_ATOMIC_GET (ctx->stats.max_dict_pairs));
+ gf_proc_dump_write ("total-pairs-used", "%lu", total_pairs);
+ gf_proc_dump_write ("total-dicts-used", "%lu", total_dicts);
+ gf_proc_dump_write ("average-pairs-per-dict", "%lu",
+ (total_pairs / total_dicts));
+}
+
+void
gf_proc_dump_xlator_info (xlator_t *top)
{
xlator_t *trav = NULL;
@@ -827,6 +844,10 @@ gf_proc_dump_info (int signum, glusterfs_ctx_t *ctx)
if (GF_PROC_DUMP_IS_OPTION_ENABLED (callpool))
gf_proc_dump_pending_frames (ctx->pool);
+ /* dictionary stats */
+ gf_proc_dump_add_section ("dict");
+ gf_proc_dump_dict_info (ctx);
+
if (ctx->master) {
gf_proc_dump_add_section ("fuse");
gf_proc_dump_xlator_info (ctx->master);