all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Dominik Csapak <d.csapak@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager] ui: ceph/Status: fix recovery percentage display
Date: Wed, 7 Jul 2021 12:19:32 +0200	[thread overview]
Message-ID: <ea9592f6-630f-133b-1f1e-a9f2dd1ba43a@proxmox.com> (raw)
In-Reply-To: <20210707084747.1785337-1-d.csapak@proxmox.com>

On 07.07.21 10:47, Dominik Csapak wrote:
> we incorrectly used 'total' as 100% of the to recovered objects here,
> but that contains the total number of *bytes*.
> 
> rename 'toRecover' to better reflect its meaning and use that as
> 100% of the objects.
> 
> reported by a user:
> https://forum.proxmox.com/threads/bug-ceph-recovery-bar-not-showing-percentage.91782/
> 

please note if this would need to be backported too.

> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
>  www/manager6/ceph/Status.js | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/www/manager6/ceph/Status.js b/www/manager6/ceph/Status.js
> index e92c698b..52563605 100644
> --- a/www/manager6/ceph/Status.js
> +++ b/www/manager6/ceph/Status.js
> @@ -321,14 +321,14 @@ Ext.define('PVE.node.CephStatus', {
>  	let unhealthy = degraded + unfound + misplaced;
>  	// update recovery
>  	if (pgmap.recovering_objects_per_sec !== undefined || unhealthy > 0) {
> -	    let toRecover = pgmap.misplaced_total || pgmap.unfound_total || pgmap.degraded_total || 0;
> -	    if (toRecover === 0) {
> +	    let totalRecovery = pgmap.misplaced_total || pgmap.unfound_total || pgmap.degraded_total || 0;

why change the variable name, `toRecover` was still OK? Or at least I do not see
any improvement in making it easier to understand with `totalRecovery` if byte vs.
objects where a issue of confusion why not addressing that by using `toRecoverObjects`
or the like

Also, why not adding those metrics up? If, misplaced and unfound do not have any
overlap, IIRC, so would def. make sense for those - for degraded I'm not so sure
about overlap with the other two from top of my head though.

> +	    if (totalRecovery === 0) {
>  		return; // FIXME: unexpected return and leaves things possible visible when it shouldn't?
>  	    }
> -	    let recovered = toRecover - unhealthy || 0;
> +	    let recovered = totalRecovery - unhealthy || 0;
>  	    let speed = pgmap.recovering_bytes_per_sec || 0;
>  
> -	    let recoveryRatio = recovered / total;
> +	    let recoveryRatio = recovered / totalRecovery;
>  	    let txt = `${(recoveryRatio * 100).toFixed(2)}%`;
>  	    if (speed > 0) {
>  		let obj_per_sec = speed / (4 * 1024 * 1024); // 4 MiB per Object
> 





  reply	other threads:[~2021-07-07 10:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-07  8:47 Dominik Csapak
2021-07-07 10:19 ` Thomas Lamprecht [this message]
2021-07-07 11:23   ` Dominik Csapak
2021-07-07 12:24     ` Thomas Lamprecht
2021-07-07 12:30       ` Dominik Csapak
2021-07-07 12:36         ` Thomas Lamprecht

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=ea9592f6-630f-133b-1f1e-a9f2dd1ba43a@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal