Skip to content

Commit

Permalink
Merge pull request ceph#57628 from joscollin/wip-B66173-doc-per-clien…
Browse files Browse the repository at this point in the history
…t-metrics

doc: document metrics exported by CephFS

Reviewed-by: Zac Dover <[email protected]>
  • Loading branch information
zdover23 authored May 27, 2024
2 parents 423a086 + f8f4785 commit 7ad6076
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/cephfs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ Developer Guides
Client's Capabilities <capabilities>
Java and Python bindings <api/index>
Mantle <mantle>
Metrics <metrics>


.. raw:: html
Expand Down
132 changes: 132 additions & 0 deletions doc/cephfs/metrics.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
.. _cephfs_metrics:

Metrics
=======

CephFS uses :ref:`Perf Counters` to track metrics. The counters can be labeled (:ref:`Labeled Perf Counters`).

Client Metrics
--------------

CephFS exports client metrics as :ref:`Labeled Perf Counters`, which could be used to monitor the client performance. CephFS exports the below client metrics.

.. list-table:: Client Metrics
:widths: 25 25 75
:header-rows: 1

* - Name
- Type
- Description
* - num_clients
- Gauge
- Number of client sessions
* - cap_hits
- Gauge
- Percentage of file capability hits over total number of caps
* - cap_miss
- Gauge
- Percentage of file capability misses over total number of caps
* - avg_read_latency
- Gauge
- Mean value of the read latencies
* - avg_write_latency
- Gauge
- Mean value of the write latencies
* - avg_metadata_latency
- Gauge
- Mean value of the metadata latencies
* - dentry_lease_hits
- Gauge
- Percentage of dentry lease hits handed out over the total dentry lease requests
* - dentry_lease_miss
- Gauge
- Percentage of dentry lease misses handed out over the total dentry lease requests
* - opened_files
- Gauge
- Number of opened files
* - opened_inodes
- Gauge
- Number of opened inodes
* - pinned_icaps
- Gauge
- Number of pinned Inode Caps
* - total_inodes
- Gauge
- Total number of Inodes
* - total_read_ops
- Gauge
- Total number of read operations generated by all process
* - total_read_size
- Gauge
- Number of bytes read in input/output operations generated by all process
* - total_write_ops
- Gauge
- Total number of write operations generated by all process
* - total_write_size
- Gauge
- Number of bytes written in input/output operations generated by all processes

Getting Metrics
===============

The metrics could be scraped from the MDS admin socket as well as using the tell interface. The ``mds_client_metrics-<fsname>`` section in the output of ``counter dump`` command displays the metrics for each client as shown below::

"mds_client_metrics": [
{
"labels": {
"fs_name": "<fsname>",
"id": "14213"
},
"counters": {
"num_clients": 2
}
}
],
"mds_client_metrics-<fsname>": [
{
"labels": {
"client": "client.0",
"rank": "0"
},
"counters": {
"cap_hits": 5149,
"cap_miss": 1,
"avg_read_latency": 0.000000000,
"avg_write_latency": 0.000000000,
"avg_metadata_latency": 0.000000000,
"dentry_lease_hits": 0,
"dentry_lease_miss": 0,
"opened_files": 1,
"opened_inodes": 2,
"pinned_icaps": 2,
"total_inodes": 2,
"total_read_ops": 0,
"total_read_size": 0,
"total_write_ops": 4836,
"total_write_size": 633864192
}
},
{
"labels": {
"client": "client.1",
"rank": "0"
},
"counters": {
"cap_hits": 3375,
"cap_miss": 8,
"avg_read_latency": 0.000000000,
"avg_write_latency": 0.000000000,
"avg_metadata_latency": 0.000000000,
"dentry_lease_hits": 0,
"dentry_lease_miss": 0,
"opened_files": 1,
"opened_inodes": 2,
"pinned_icaps": 2,
"total_inodes": 2,
"total_read_ops": 0,
"total_read_size": 0,
"total_write_ops": 3169,
"total_write_size": 415367168
}
}
]

0 comments on commit 7ad6076

Please sign in to comment.