public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Christian Ebner <c.ebner@proxmox.com>, pbs-devel@lists.proxmox.com
Subject: Re: [PATCH proxmox-backup v8 04/17] ui: expose s3 request counter statistics in the datastore summary
Date: Thu, 9 Apr 2026 10:21:12 +0200	[thread overview]
Message-ID: <e723bbce-13ec-4217-a621-ff7f1235688a@proxmox.com> (raw)
In-Reply-To: <20260402105333.463088-5-c.ebner@proxmox.com>

Looked at this a bit, and I think this is a bit crammed.
Especially the comment panel looks a bit weird when it's collapsed.

I'd propose switching the positions of s3 and comment, and make
the comment a full column wide in case it's an s3 datastore

this makes it look less cramped. also users in the past
wanted more space for the comments already, so making
it smaller in some cases is not good i think.

On 4/2/26 12:52 PM, Christian Ebner wrote:
> Show the current s3 request counter statistics for datastore backend.
> Use a dedicated info widget, only shown for s3 datastores.
> 
> Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
> Reviewed-by: Hannes Laimer <h.laimer@proxmox.com>
> Tested-by: Hannes Laimer <h.laimer@proxmox.com>
> ---
> changes since version 7:
> - no changes
> 
>   www/datastore/Summary.js | 110 +++++++++++++++++++++++++++++++++++++++
>   1 file changed, 110 insertions(+)
> 
> diff --git a/www/datastore/Summary.js b/www/datastore/Summary.js
> index c2b1cedc9..5dcc0e5dc 100644
> --- a/www/datastore/Summary.js
> +++ b/www/datastore/Summary.js
> @@ -130,6 +130,95 @@ Ext.define('PBS.DataStoreInfo', {
>       ],
>   });
>   
> +Ext.define('PBS.DataStoreS3Stats', {
> +    extend: 'Ext.panel.Panel',
> +    alias: 'widget.pbsDataStoreS3Stats',
> +
> +    defaults: {
> +        xtype: 'pmxInfoWidget',
> +    },
> +
> +    bodyPadding: 20,
> +
> +    items: [
> +        {
> +            xtype: 'box',
> +            html: `<b>${gettext('S3 traffic:')}</b>`,
> +            padding: '10 0 5 0',
> +        },
> +        {
> +            iconCls: 'fa fa-fw fa-arrow-up',
> +            title: gettext('Data uploaded'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{uploaded}',
> +                },
> +            },
> +        },
> +        {
> +            iconCls: 'fa fa-fw fa-arrow-down',
> +            title: gettext('Data downloaded'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{downloaded}',
> +                },
> +            },
> +        },
> +        {
> +            xtype: 'box',
> +            html: `<b>${gettext('S3 requests:')}</b>`,
> +            padding: '10 0 5 0',
> +        },
> +        {
> +            title: gettext('GET'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{get}',
> +                },
> +            },
> +        },
> +        {
> +            title: gettext('PUT'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{put}',
> +                },
> +            },
> +        },
> +        {
> +            title: gettext('POST'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{post}',
> +                },
> +            },
> +        },
> +        {
> +            title: gettext('HEAD'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{head}',
> +                },
> +            },
> +        },
> +        {
> +            title: gettext('DELETE'),
> +            printBar: false,
> +            bind: {
> +                data: {
> +                    text: '{delete}',
> +                },
> +            },
> +        },
> +    ],
> +});
> +
>   Ext.define('PBS.DataStoreSummary', {
>       extend: 'Ext.panel.Panel',
>       alias: 'widget.pbsDataStoreSummary',
> @@ -150,6 +239,7 @@ Ext.define('PBS.DataStoreSummary', {
>               usage: {},
>               stillbad: 0,
>               mountpoint: '',
> +            showS3Stats: false,
>           },
>       },
>   
> @@ -244,10 +334,19 @@ Ext.define('PBS.DataStoreSummary', {
>                   {
>                       xtype: 'pbsDataStoreNotes',
>                       flex: 1,
> +                    padding: '0 10 0 0',
>                       cbind: {
>                           datastore: '{datastore}',
>                       },
>                   },
> +                {
> +                    xtype: 'pbsDataStoreS3Stats',
> +                    flex: 1,
> +                    title: gettext('S3 statistics'),
> +                    bind: {
> +                        visible: '{showS3Stats}',
> +                    },
> +                },
>               ],
>           },
>           {
> @@ -464,6 +563,17 @@ Ext.define('PBS.DataStoreSummary', {
>                   vm.set('deduplication', dedup.toFixed(2));
>                   vm.set('stillbad', gcstatus['still-bad']);
>               }
> +            let s3Stats = store.getById('s3-statistics')?.data.value;
> +            if (s3Stats) {
> +                vm.set('uploaded', Proxmox.Utils.format_size(s3Stats.uploaded));
> +                vm.set('downloaded', Proxmox.Utils.format_size(s3Stats.downloaded));
> +                vm.set('get', s3Stats.get);
> +                vm.set('post', s3Stats.post);
> +                vm.set('delete', s3Stats.delete);
> +                vm.set('head', s3Stats.head);
> +                vm.set('put', s3Stats.put);
> +                vm.set('showS3Stats', true);
> +            }
>   
>               vm.set('ctcount', countstext(counts.ct));
>               vm.set('vmcount', countstext(counts.vm));





  reply	other threads:[~2026-04-09  8:20 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-02 10:53 [PATCH proxmox-backup v8 00/17] partially fix #6563: add s3 counter for statistics and notifications Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 01/17] api: s3: add endpoint to reset s3 request counters Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 02/17] bin: s3: expose request counter reset method as cli command Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 03/17] ui: datastore summary: move store to be part of summary panel Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 04/17] ui: expose s3 request counter statistics in the datastore summary Christian Ebner
2026-04-09  8:21   ` Dominik Csapak [this message]
2026-04-09  8:28     ` Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 05/17] metrics: collect s3 datastore statistics as rrd metrics Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 06/17] api: admin: expose s3 statistics in datastore rrd data Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 07/17] partially fix #6563: ui: expose s3 rrd charts in datastore summary Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 08/17] datastore: refactor datastore lookup parameters into dedicated type Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 09/17] api: config: update notification thresholds for config and counters Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 10/17] ui: add notification thresholds edit window Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 11/17] notification: define templates and template data for thresholds Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 12/17] datastore: add thresholds notification callback on datastore lookup Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 13/17] api/ui: notifications: add 'thresholds' as notification type value Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 14/17] api: config: allow counter reset schedule editing Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 15/17] ui: expose counter reset schedule edit window Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 16/17] bin: proxy: periodically schedule counter reset task Christian Ebner
2026-04-02 10:53 ` [PATCH proxmox-backup v8 17/17] ui: add task description for scheduled counter reset Christian Ebner
2026-04-09  9:34 ` [PATCH proxmox-backup v8 00/17] partially fix #6563: add s3 counter for statistics and notifications Dominik Csapak
2026-04-09  9:39   ` Christian Ebner

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=e723bbce-13ec-4217-a621-ff7f1235688a@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=c.ebner@proxmox.com \
    --cc=pbs-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal