Luci-app-statistics sensors graph scales

Hi,

today I received a PBI-R3mini and I placed it in my homebrew prototype case with silent fan and huge heatsinks. And this works better than expected. Now I wanted to monitor some temps.
Installed latest stable OpenWRT 24.10.1

With luci-app-statistics sensors it is possible to monitor temps of CPU and two MT7915.
The thing is now, that the scale stays at max of 50°C.
How is it possible to adjust this graph scale?

There's no exposed interface for that, you'll have to hack up the command that creates the graphs.

Pretty sure this is the source:

/usr/share/rpcd/acl.d/luci-app-statistics.json:                         "/usr/bin/rrdtool graph - -a PNG -s *": [ "exec" ],

Docs are at https://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html, but be aware OpenWrt is using the 1.0 version of rrdtool, so some of the stuff there might now not work as it's for 1.2.

Oops, typo "not work"...

1 Like

Thanks a lot for your help.
Sounds like my skills are not good enought for this doing just like that for now. I do have other prioritys at the moment. The hole thing is completely new for me.
I did hope that there is a config file to change these settings.

But what is the cause? Is it a fault from the rrdtool itself or what is causing this missconfiguration?

Just checked again and now it is working. So it`s all fine!

It looks like the temps were exactly at 50°C for some time.

thanks a lot anyways!

Looking at the overall temperature fluctuations, it seems very unlikely that for a prolonged time the temperature would stay exactly at the same level, and that level just happens to be the exact highest initial value of the scale. So looks very much like a software bug to me.

Maybe 50°C is the minimum temp? There is only that stepup at startup.
After last boot it looks similar.

I'm not sure what exactly is not working right here, I'm just saying that IMO it is unlikely that the displayed data is accurate. I would speculate that the code responsible for autoscaling is doing something wrong. Almost like there is hysteresis exactly around the initial max value (which is 50C).

It looks to me as well a bit strange. Actually my biggest worrys where only about the scale.
But on the other way, the shown temperatures can not be totally wrong. I have seen somewhere in this forum temps from the R3 and there was WiFi chipset as well some degrees hotter than the CPU.
If 50°C would be the minimum value that can be mesured, then it could be all right.

I could unplug the fan and see what happens.

Without fan it looks like the following screenshot.
Maybe the chipset feels cosy around the 50's and does not wannt to move somewhere else. :slight_smile:

1 Like

I'm not sure how you could come to think that 50c is the minimum value that can be measured when graphs are showing smaller measured values (mostly in the beginning). That said, your last graph shows the stall at a slightly different value which makes me less suspicious of the luci code.

1 Like

In my first diagramms it nearly startet directly from 50°C, thats why. Now in the last screenshot it is more realistic, starting from below 40's.
I think it is all fine.

thanks a lot for sharing your thoughts and help!

Regarding the graph scaling:
It is fully automatic based on current data, and there is no restricting "initial maximum value".

For some graphs I have configured a minimum y-axis scale to avoid really small data to fully scaling up (like 1% CPU util should not look like fully maximised. See https://github.com/openwrt/luci/commit/d9e548fe0c619c0935926a1dfe4a8f8b9ff810a2 ), but in all cases the axis will expand to cover the whole data point spectrum.

Graphs can look a bit strange if the data value stays long exactly at the highest value in the data set. The default scaling logic in rrdtool 1.0.0.50 does not leave any visible buffer on top, so the graph can look like value-limited, like you thought. For some graphs I have defined the alt_autoscale or alt_autoscale_max logic to have some small visible buffer there. I might do that also for sensors graphs, as your example showed that there is risk of confusing graphs.

2 Likes

It is possible that around 50C is the natural ambient temperature + some offset caused by the PHY running, when the system is at rest. This would explain why it gravitates towards that value. But the PHY graphs still look odd.

Looking closer at those graphs, what jumps at me is that value changes look like they want to be exactly 1C but the steps are not exactly 1C. Compare this to the SOC graph which is how normal temperature measurement is supposed to look . If all of the value changes were 1C then this could be explained by rounding error, but this is not the case. This makes me think that some code is doing something weird.

Perhaps something is trying hard to make data which has a 1C gradation look like it has a smaller gradation? I.e. some sort of smoothing?

If data source is digital, possibly the responsible code is internal to the PHY?