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

On 7/7/21 12:19 PM, Thomas Lamprecht wrote:
> 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.

yes, i think this would be good to backport

> 
>> 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
i read the code and thought 'toRecover' means objects that need 
recovery, but it is not. {misplaced,unfound,degraded}_total each contain
the total number of objects taking part in the recovery
(also the ones that are not unhealthy)

maybe 'totalRecoveryObjects' would make more sense ?

> 
> 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.

they contain all the same number
src/mon/PGMap.cc:{467,482,498} pool_sum.stats.sum.num_object_copies

but are only given if the respective category has objects that need recovery

> 
>> +	    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 11:24 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
2021-07-07 11:23   ` Dominik Csapak [this message]
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=c737362c-563f-000d-7bb8-28b2b64b2d9c@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@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