[pve-devel] [PATCH manager v3 08/14] ui: add pressure graphs to node and guest summary

Dominik Csapak d.csapak at proxmox.com
Mon Jul 21 14:05:56 CEST 2025


As with the patch before, we might want to refactor the colors somewhere
Otherwise:

Reviewed-by: Dominik Csapak <d.csapak at proxmox.com>

On 7/15/25 16:32, Aaron Lauterer wrote:
> From: Folke Gleumes <f.gleumes at proxmox.com>
> 
> Pressures are indicatios that processes needed to wait for their
> resources. While 'some' means, that some of the processes on the host
> (node summary) or in the guests cgroup had to wait, 'full' means that
> all processes couldn't get the resources fast enough.
> 
> We set the colors accordingly. For 'some' we use yellow, for 'full' we
> use red.
> This should make it clear that this is not just another graph, but
> indicates performance issues. It also sets the pressure graphs apart
> from the other graphs that follow the usual color scheme.
> 
> Originally-by: Folke Gleumes <f.gleumes at proxmox.com>
> [AL:
>      * rebased
>      * reworked commit msg
>      * set colors
> ]
> Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
> ---
>   www/manager6/node/Summary.js       | 27 +++++++++++++++++++++++++++
>   www/manager6/panel/GuestSummary.js | 30 ++++++++++++++++++++++++++++++
>   2 files changed, 57 insertions(+)
> 
> diff --git a/www/manager6/node/Summary.js b/www/manager6/node/Summary.js
> index ed3d33d9..b00fcf2e 100644
> --- a/www/manager6/node/Summary.js
> +++ b/www/manager6/node/Summary.js
> @@ -196,6 +196,33 @@ Ext.define('PVE.node.Summary', {
>                               fields: ['netin', 'netout'],
>                               store: rrdstore,
>                           },
> +                        {
> +                            xtype: 'proxmoxRRDChart',
> +                            title: gettext('CPU pressure'),
> +                            fieldTitles: ['Some'],
> +                            fields: ['pressurecpusome'],
> +                            colors: ['#FFD13E', '#A61120'],
> +                            store: rrdstore,
> +                            unit: 'percent',
> +                        },
> +                        {
> +                            xtype: 'proxmoxRRDChart',
> +                            title: gettext('IO pressure'),
> +                            fieldTitles: ['Some', 'Full'],
> +                            fields: ['pressureiosome', 'pressureiofull'],
> +                            colors: ['#FFD13E', '#A61120'],
> +                            store: rrdstore,
> +                            unit: 'percent',
> +                        },
> +                        {
> +                            xtype: 'proxmoxRRDChart',
> +                            title: gettext('Memory pressure'),
> +                            fieldTitles: ['Some', 'Full'],
> +                            fields: ['pressurememorysome', 'pressurememoryfull'],
> +                            colors: ['#FFD13E', '#A61120'],
> +                            store: rrdstore,
> +                            unit: 'percent',
> +                        },
>                       ],
>                       listeners: {
>                           resize: function (panel) {
> diff --git a/www/manager6/panel/GuestSummary.js b/www/manager6/panel/GuestSummary.js
> index 5efbe40f..0b62dbb7 100644
> --- a/www/manager6/panel/GuestSummary.js
> +++ b/www/manager6/panel/GuestSummary.js
> @@ -102,6 +102,36 @@ Ext.define('PVE.guest.Summary', {
>                       fields: ['diskread', 'diskwrite'],
>                       store: rrdstore,
>                   },
> +                {
> +                    xtype: 'proxmoxRRDChart',
> +                    title: gettext('CPU pressure'),
> +                    pveSelNode: me.pveSelNode,
> +                    fieldTitles: ['Some', 'Full'],
> +                    fields: ['pressurecpusome', 'pressurecpufull'],
> +                    colors: ['#FFD13E', '#A61120'],
> +                    store: rrdstore,
> +                    unit: 'percent',
> +                },
> +                {
> +                    xtype: 'proxmoxRRDChart',
> +                    title: gettext('IO pressure'),
> +                    pveSelNode: me.pveSelNode,
> +                    fieldTitles: ['Some', 'Full'],
> +                    fields: ['pressureiosome', 'pressureiofull'],
> +                    colors: ['#FFD13E', '#A61120'],
> +                    store: rrdstore,
> +                    unit: 'percent',
> +                },
> +                {
> +                    xtype: 'proxmoxRRDChart',
> +                    title: gettext('Memory pressure'),
> +                    pveSelNode: me.pveSelNode,
> +                    fieldTitles: ['Some', 'Full'],
> +                    fields: ['pressurememorysome', 'pressurememoryfull'],
> +                    colors: ['#FFD13E', '#A61120'],
> +                    store: rrdstore,
> +                    unit: 'percent',
> +                },
>               );
>           }
>   





More information about the pve-devel mailing list