From aa04f3faedb6edcb0897e802a8390904deb6f936 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Wed, 19 May 2021 03:03:49 -0400 Subject: [PATCH] doc: include read, write, metadata average latencies in doc/man. Also, the sample cephfs-top image in the doc is outdated. Update that! Fixes: http://tracker.ceph.com/issues/48619 Signed-off-by: Venky Shankar --- doc/cephfs/cephfs-top.png | Bin 18369 -> 13928 bytes doc/cephfs/cephfs-top.rst | 2 +- doc/man/8/cephfs-top.rst | 35 +++++++++++++++++++++++------------ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/doc/cephfs/cephfs-top.png b/doc/cephfs/cephfs-top.png index f65aea1d2b9011701999729c8c71f9f00344c845..807029d00703effe49032b6f7d2d6f46492f7cb6 100644 GIT binary patch literal 13928 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 B#U20v diff --git a/doc/cephfs/cephfs-top.rst b/doc/cephfs/cephfs-top.rst index e2ca724275e..824fb9d06f7 100644 --- a/doc/cephfs/cephfs-top.rst +++ b/doc/cephfs/cephfs-top.rst @@ -29,7 +29,7 @@ metrics are for a particular MDS rank (e.g., number of subtrees handled by an MD Once enabled, Ceph Filesystem metrics can be fetched via:: $ ceph fs perf stats - {"version": 1, "global_counters": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease"], "counters": [], "client_metadata": {"client.614146": {"IP": "10.1.1.100", "hostname" : "ceph-host1", "root": "/", "mount_point": "/mnt/cephfs", "valid_metrics": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease"]}}, "global_metrics": {"client.614146": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, "metrics": {"delayed_ranks": [], "mds.0": {"client.614146": []}}} + {"version": 1, "global_counters": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease", "opened_files", "pinned_icaps", "opened_inodes", "avg_read_latency", "stdev_read_latency", "avg_write_latency", "stdev_write_latency", "avg_metadata_latency", "stdev_metadata_latency"], "counters": [], "client_metadata": {"client.324130": {"IP": "192.168.1.100", "hostname": "ceph-host1", "root": "/", "mount_point": "/mnt/cephfs", "valid_metrics": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease, "opened_files", "pinned_icaps", "opened_inodes", "avg_read_latency", "stdev_read_latency", "avg_write_latency", "stdev_write_latency", "avg_metadata_latency", "stdev_metadata_latency"]}}, "global_metrics": {"client.324130": [[309785, 1280], [0, 0], [197, 519015022], [88, 279074768], [12, 70147], [0, 3], [3, 3], [0, 3], [0, 0], [0, 0], [0, 11699223], [0, 88245], [0, 6596951], [0, 9539]]}, "metrics": {"delayed_ranks": [], "mds.0": {"client.324130": []}}} Details of the JSON command output are as follows: diff --git a/doc/man/8/cephfs-top.rst b/doc/man/8/cephfs-top.rst index 654633c7568..c3719cd36fc 100644 --- a/doc/man/8/cephfs-top.rst +++ b/doc/man/8/cephfs-top.rst @@ -43,18 +43,6 @@ Descriptions of fields cap hit rate -.. describe:: rlat - - read latency - -.. describe:: wlat - - write latency - -.. describe:: mlat - - metadata latency - .. describe:: dlease dentry lease rate @@ -95,6 +83,29 @@ Descriptions of fields speed of write IOs compared with the last refresh +.. describe:: rlatavg + + average read latency + +.. describe:: rlatsd + + standard deviation (variance) for read latency + +.. describe:: wlatavg + + average write latency + +.. describe:: wlatsd + + standard deviation (variance) for write latency + +.. describe:: mlatavg + + average metadata latency + +.. describe:: mlatsd + + standard deviation (variance) for metadata latency Availability ============