public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] graphs.pl: Make canvas fixed size and limit cpufreq color index
Date: Mon, 13 Mar 2023 09:23:20 +0000	[thread overview]
Message-ID: <358CBBDE-3C7F-48AF-8994-94316DB07FE7@ipfire.org> (raw)
In-Reply-To: <20230313073544.753-1-hofmann@leo-andres.de>

[-- Attachment #1: Type: text/plain, Size: 3143 bytes --]

Hello,

Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>

> On 13 Mar 2023, at 07:35, Leo-Andres Hofmann <hofmann(a)leo-andres.de> wrote:
> 
> This fixes an issue where systems with many CPU cores
> run out of usable graph colors and canvas area.
> It also unifies the canvas size for all graphs.
> 
> Discussion: https://community.ipfire.org/t/cpu-freq-graph-not-working-with-i5-1235u/9396
> 
> Fixes: #12890
> 
> Signed-off-by: Leo-Andres Hofmann <hofmann(a)leo-andres.de>
> ---
> config/cfgroot/graphs.pl | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl
> index 3368e5aad..cefe0b90d 100644
> --- a/config/cfgroot/graphs.pl
> +++ b/config/cfgroot/graphs.pl
> @@ -30,8 +30,11 @@ require '/var/ipfire/general-functions.pl';
> require "${General::swroot}/lang.pl";
> require "${General::swroot}/header.pl";
> 
> -# Graph image size in pixel
> -our %image_size = ('width' => 910, 'height' => 300);
> +# Approximate size of the final graph image including canvas and labeling (in pixels, mainly used for placeholders)
> +our %image_size = ('width' => 900, 'height' => 300);
> +
> +# Size of the actual data area within the image, without labeling (in pixels)
> +our %canvas_size = ('width' => 800, 'height' => 190);
> 
> # List of all available time ranges
> our @time_ranges = ("hour", "day", "week", "month", "year");
> @@ -48,15 +51,12 @@ my @GRAPH_ARGS = (
> # For a more 'organic' look
> "--slope-mode",
> 
> - # HxW define the size of the output image
> - "--full-size-mode",
> -
> # Watermark
> "-W www.ipfire.org",
> 
> - # Default size
> - "-w $image_size{'width'}",
> - "-h $image_size{'height'}",
> + # Canvas width/height
> + "-w $canvas_size{'width'}",
> + "-h $canvas_size{'height'}",
> 
> # Use alternative grid
> "--alt-y-grid",
> @@ -1090,18 +1090,19 @@ sub updatecpufreqgraph {
> "--color=SHADEA".$color{"color19"},
> "--color=SHADEB".$color{"color19"},
> "--color=BACK".$color{"color21"},
> - "COMMENT:".sprintf("%-10s",$Lang::tr{'caption'}),
> + "COMMENT:".sprintf("%-15s",$Lang::tr{'caption'}),
> "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
> "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
> "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
> "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j"
> );
> 
> + my $j = 11;
> for(my $i = 0; $i < $cpucount; $i++) {
> - my $j=$i+1;
> + $j++; $j = 1 if $j > 20;

I think you could have written this slightly shorter by taking the modulus of j like so: $j = $i % 20;

But since this is not changing the behaviour, I am happy to see this merged.

-Michael

> push(@command,"DEF:cpu".$i."_=".$mainsettings{'RRDLOG'}."/collectd/localhost/cpufreq/cpufreq-".$i.".rrd:value:AVERAGE"
> ,"CDEF:cpu".$i."=cpu".$i."_,1000000,/"
> - ,"LINE1:cpu".$i.$color{"color1$j"}."A0:cpu ".$i." "
> + ,"LINE1:cpu".$i.$color{"color$j"}."A0:cpu ".$i." "
> ,"GPRINT:cpu".$i.":MAX:%3.0lf Mhz"
> ,"GPRINT:cpu".$i.":AVERAGE:%3.0lf Mhz"
> ,"GPRINT:cpu".$i.":MIN:%3.0lf Mhz"
> -- 
> 2.37.1.windows.1
> 


  reply	other threads:[~2023-03-13  9:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13  7:35 Leo-Andres Hofmann
2023-03-13  9:23 ` Michael Tremer [this message]
2023-03-14  7:12   ` Leo-Andres Hofmann

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=358CBBDE-3C7F-48AF-8994-94316DB07FE7@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /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