diff options
Diffstat (limited to 'libglusterfs/src/statedump.c')
| -rw-r--r-- | libglusterfs/src/statedump.c | 21 | 
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);  | 
