From: xiubli@redhat.com
To: jlayton@kernel.org, idryomov@gmail.com
Cc: zyan@redhat.com, pdonnell@redhat.com, ceph-devel@vger.kernel.org,
Xiubo Li <xiubli@redhat.com>
Subject: [PATCH v4 0/5] ceph: periodically send perf metrics to ceph
Date: Sun, 28 Jun 2020 04:42:09 -0400 [thread overview]
Message-ID: <1593333734-27480-1-git-send-email-xiubli@redhat.com> (raw)
From: Xiubo Li <xiubli@redhat.com>
This series is based the previous patches of the metrics in kceph[1]
and mds daemons record and forward client side metrics to manager[2][3].
This will send the caps/read/write/metadata metrics to any available
MDS only once per second, which will be the same as the userland client.
We could disable it via the enable_send_metrics module parameter.
And will also send the metric flags to MDS, currently it supports the
cap, read latency, write latency and metadata latency.
Also have pushed this series to github [4].
[1] https://patchwork.kernel.org/project/ceph-devel/list/?series=238907 [Merged]
[2] https://github.com/ceph/ceph/pull/26004 [Merged]
[3] https://github.com/ceph/ceph/pull/35608 [Merged]
[4] https://github.com/lxbsz/ceph-client/commits/perf_metric4
Changes in V4:
- WARN_ON --> WARN_ON_ONCE
- do not send metrics when no mds suppor the metric collection.
- add global total_caps in mdsc->metric
- add the delayed work for each session and choose one to send the metrics to get rid of the mdsc->mutex lock
Changed in V3:
- fold "check the METRIC_COLLECT feature before sending metrics" into previous one
- use `enable_send_metrics` on/off switch instead
Changed in V2:
- split the patches into small ones as possible.
- check the METRIC_COLLECT feature before sending metrics
- switch to WARN_ON and bubble up errnos to the callers
Xiubo Li (5):
ceph: add check_session_state helper and make it global
ceph: add global total_caps to count the mdsc's caps number
ceph: periodically send perf metrics to ceph
ceph: switch to WARN_ON_ONCE and bubble up errnos to the callers
ceph: send client provided metric flags in client metadata
fs/ceph/caps.c | 2 +
fs/ceph/mds_client.c | 158 +++++++++++++++++++++++++++++++++++--------
fs/ceph/mds_client.h | 8 ++-
fs/ceph/metric.c | 156 ++++++++++++++++++++++++++++++++++++++++++
fs/ceph/metric.h | 96 ++++++++++++++++++++++++++
fs/ceph/super.c | 42 ++++++++++++
fs/ceph/super.h | 2 +
include/linux/ceph/ceph_fs.h | 1 +
8 files changed, 434 insertions(+), 31 deletions(-)
--
1.8.3.1
next reply other threads:[~2020-06-28 8:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-28 8:42 xiubli [this message]
2020-06-28 8:42 ` [PATCH v4 1/5] ceph: add check_session_state helper and make it global xiubli
2020-06-28 8:42 ` [PATCH v4 2/5] ceph: add global total_caps to count the mdsc's total caps number xiubli
2020-06-28 8:42 ` [PATCH v4 3/5] ceph: periodically send perf metrics to ceph xiubli
2020-06-29 11:51 ` Jeff Layton
2020-06-29 13:06 ` Xiubo Li
2020-06-28 8:42 ` [PATCH v4 4/5] ceph: switch to WARN_ON_ONCE and bubble up errnos to the callers xiubli
2020-06-28 8:42 ` [PATCH v4 5/5] ceph: send client provided metric flags in client metadata xiubli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1593333734-27480-1-git-send-email-xiubli@redhat.com \
--to=xiubli@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=jlayton@kernel.org \
--cc=pdonnell@redhat.com \
--cc=zyan@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.