Re: [PATCH] libceph: add osd op counter metric support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 10, 2020 at 3:01 AM <xiubli@xxxxxxxxxx> wrote:
>
> From: Xiubo Li <xiubli@xxxxxxxxxx>
>
> The logic is the same with osdc/Objecter.cc in ceph in user space.
>
> URL: https://tracker.ceph.com/issues/48053
> Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx>
> ---
>  include/linux/ceph/osd_client.h |  46 ++++++
>  net/ceph/debugfs.c              |  51 +++++++
>  net/ceph/osd_client.c           | 249 +++++++++++++++++++++++++++++++-
>  3 files changed, 343 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
> index 83fa08a06507..9ff9ceed7cb5 100644
> --- a/include/linux/ceph/osd_client.h
> +++ b/include/linux/ceph/osd_client.h
> @@ -339,6 +339,50 @@ struct ceph_osd_backoff {
>         struct ceph_hobject_id *end;
>  };
>
> +struct ceph_osd_metric {
> +       struct percpu_counter op_ops;
> +       struct percpu_counter op_oplen_avg;
> +       struct percpu_counter op_send;
> +       struct percpu_counter op_send_bytes;
> +       struct percpu_counter op_resend;
> +       struct percpu_counter op_reply;
> +
> +       struct percpu_counter op_rmw;
> +       struct percpu_counter op_r;
> +       struct percpu_counter op_w;
> +       struct percpu_counter op_pgop;
> +
> +       struct percpu_counter op_stat;
> +       struct percpu_counter op_create;
> +       struct percpu_counter op_read;
> +       struct percpu_counter op_write;
> +       struct percpu_counter op_writefull;
> +       struct percpu_counter op_append;
> +       struct percpu_counter op_zero;
> +       struct percpu_counter op_truncate;
> +       struct percpu_counter op_delete;
> +       struct percpu_counter op_mapext;
> +       struct percpu_counter op_sparse_read;
> +       struct percpu_counter op_clonerange;
> +       struct percpu_counter op_getxattr;
> +       struct percpu_counter op_setxattr;
> +       struct percpu_counter op_cmpxattr;
> +       struct percpu_counter op_rmxattr;
> +       struct percpu_counter op_resetxattrs;
> +       struct percpu_counter op_call;
> +       struct percpu_counter op_watch;
> +       struct percpu_counter op_notify;
> +
> +       struct percpu_counter op_omap_rd;
> +       struct percpu_counter op_omap_wr;
> +       struct percpu_counter op_omap_del;
> +
> +       struct percpu_counter op_linger_active;
> +       struct percpu_counter op_linger_send;
> +       struct percpu_counter op_linger_resend;
> +       struct percpu_counter op_linger_ping;

Many of these ops aren't supported by the kernel client.  Let's trim
this down to what your use case actually needs.  If it's just reads and
writes, aren't they already surfaced through the new filesystem metrics
framework?

Thanks,

                Ilya



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux