The current options for visualizing CPU utilization by source/process is very cumbersome. The current method, Profiler is complicated to use. Due to this, people in community recommend to start randomly disabling integrations until you find the culprit. I don’t need full CPU by sensor/device/integration/automation, maybe just info of the top 5 items recently causing CPU usage. It also doesn’t need to run all the time and could be enabled for debugging.
Some sort to htop sensor for the home assistant container?
I like it. +1.
+100 agree.
To monitor the top 5 you still need to monitor all in order to know which ones are top 5.
Monitoring the CPU usage meanssking a hook into the time slice start and stop events with a process that have a higher priority than the one you are running and then gather the data and store it.
This alone will probably more than double your CPU usage on the machine.
Trying toake a presentation of the data on the run will require a lot of power too, due to the high resolution of the data, so your CPU will take another hit.
Trying to represent it over HTTP will require frequent updates for it to be useful and that means another huge hit on the CPU.
I agree the data would be nice to have, but I guess the result of this monitoring will just be that the monitoring is the culprit of the CPU load.
I don’t care if a visual exists wally. I just need a way to get it.
Im flabbergasted how hard it is to get what I guess I’ve been spoiled by over the years on the perf pipeline under windows I think tops uses the same basic thing? But I can’t see any of it at all.
Give me a way to fire off a 5 min perf trace easily without installing a crap ton of tools and knowledge of deep Linux black magic
Post a compiling data message while it’s running and post the last trace data I the hardware system panel once it’s done… Dump the data in the dB and then history stats takes over. Would be light years better than current.
I do not know how much Glances show when you press z.
But making your own performance monitoring on top of kernel scheduling is extremely resource heavy.
Oh I feel ya I prefer trace off box and pull data from box only when necessary but some of these ones lately - I’m there. Something is chewing on ram and I’m not sure what it is. I’ve looked at what it takes to perf profile this to find it and I’m 100% sure I can…
But this is my prod box and frankly I’m not interested in jumping through the hoops to collect the data so. This will remain unsolved.
But I digress…
I would accept a big red warning box that says:
pressing ths button will snap a series of perfect metrics by process every 5 seconds including memory and Cpu utilization, this is a resource intensive process and it WILL impact systems performance. A persistent notification will be thrown to denote the beginning and end of this process
Your data will be here… Blah
If the system hangs this monitoring will be automatically disabled on restart
Blah blah blah big red button
I’d bet we solve a LOT of problems for the trouble. All these ‘my machine blew up and I don’t know why…’. We’d at least have one shot in 1000 and the ability to compile mem utiliz history BY INTEGRATION (The real missing piece because memory model)
Sure the machine runs like dirt while it collects for 5 min and needs a restart to recover but I’d sure love to see what the Heck Bambu is doing with all that memory
No, it runs like dirt from just having to check if it should collect or not because it will have to happen on each start and end of a time slice.
A time slice is not a fixed value on Linux but it is still a fairly small time interval counted in milliseconds.
Besides that I think it probably require kernel space access, so having it loaded means full kernel access from HA, which could be huge security issue too.