public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH] graphs.pl: Make canvas fixed size and limit cpufreq color index
@ 2023-03-13  7:35 Leo-Andres Hofmann
  2023-03-13  9:23 ` Michael Tremer
  0 siblings, 1 reply; 3+ messages in thread
From: Leo-Andres Hofmann @ 2023-03-13  7:35 UTC (permalink / raw)
  To: development

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

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-03-14  7:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-13  7:35 [PATCH] graphs.pl: Make canvas fixed size and limit cpufreq color index Leo-Andres Hofmann
2023-03-13  9:23 ` Michael Tremer
2023-03-14  7:12   ` Leo-Andres Hofmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox