Syncthing: #6249: Remove unnecessary RAM/CPU stats from GUI - Are you seriously?

Created on 7 Apr 2020  路  21Comments  路  Source: syncthing/syncthing

I have only one question - why?
I have synching installed on Banana Pro, access is only available to the web-interface and at the moment you completely deprived me of the ability to monitor the consumed memory and system resources by synching.
Are you crazy? What is the reason for this step?

Thanks a lot (NO!!!)

Most helpful comment

Simplification, and the fact that the value were wrong or misleading in some cases. You are better of monitoring CPU and RAM usage on the device itself, like for any other program.

All 21 comments

Simplification, and the fact that the value were wrong or misleading in some cases. You are better of monitoring CPU and RAM usage on the device itself, like for any other program.

This is a very bad, incorrect and short-sighted decision.

The UNIX philosophy says: "Only do one thing but do it well". And if every program should show its RAM, CPU, network and disk stats that would be a waste of development efforts. I recommend using htop, top, netdata, ...

I have not physical access to the device (3000km before it), only the web interface is available on the device and to this day I have controlled the operation of the device through the information that I received from there. It was very convenient. Now I have no idea what is going on there, what the synching is doing with the device, and why I constantly have breaks after this update. Apparently, he wiped out all the resources, but now I don鈥檛 recognize it in any way

Well thats a gap in your setup, not a gap in our software.

Seems like a classic https://xkcd.com/1172/

A warning about this? mark as deprecated? You took the feature that you had, which was convenient, I鈥檓 sure for many, many users, and simply removed it without even warning about it. Great move

Remove the web interface next time. You can track changes to files on disks. You should like this idea

Sure it was convenient but not essential, and this is not a feature that breaks any kinds of backwards compatibility or essential functionality so there is nothing to warn about.

We are getting rid if non-essential things as people seem to ask for even more non-essential things as they see the first ones.

For example, disk io monitoring, followed by exporting cpu/mem/disk io prometheus metrics they could scrape etc, which is what lead to removal of the usage numbers, because people started leveraging "but but you show the cpu usage" argument.

I'm leaving this open, for now, for visibility and polite venting within reason. I'm keeping an eye on it.

鉁岋笍馃憖 馃憠

Be nice.

To be honest I feel we should close this as I don't think there will be any action from this. If people want to vent, they can go to the forum.

Sure, but you'll likely get further duplicate reports. Having this visible might avoid some. Leave it, for now.

In my opinion, this information is/was indeed very useful and handy when administering devices remotely through the Web GUI with no physical access. I myself access at least four devices like that.

For one, the most popular operating system on the planet is Android, which does not offer easy ways to access both CPU and RAM usage. RAM usage can be checked with Developer Options (which are hidden by default), but CPU usage cannot be easily checked without using terminal commands or third party tools.

Just a side note - right now, the RAM usage information is still there in the code. It can be made visible again just by editing the GUI.

I'd like to chime in and say that I'm pro removing the stats if it avoids feature creep and focuses development on features that fundamentally improve syncthing.

If you need to administer devices remotely then there are plenty of options for viewing resource usage for all programs on most systems such as ssh with any of the many top variants, or something like netdata to view statstics in a web browser. If you're using something like android then it's likely not remote and if you really need to see resources then I'm sure there are third-party tools that report that information for all programs.

I am strongly against the idea of having every program individually report its resource usage, particularly if it's not always accurate.

If you're using something like android then it's likely not remote and if you really need to see resources then I'm sure there are third-party tools that report that information for all programs.

Are there? Google has made it quite difficult to do any resource monitoring. The built-in tools are extremely limited. I have tried various third-party open source tools, but they are mostly outdated, buggy, require root, and are often straight non-functional in the newer versions of the OS. On top of that, remote access to Android is a pain in itself too.

And yes, as I stated above, I personally have four Android devices, which I do access remotely, at least when it comes to administering Syncthing, which makes it very easy with its Web GUI interface accessible through the network. Having basic resource usage information visible there may not be essential, but does greatly help just to check whether everything has been working properly.

The situation is not always black and white, and having the resources available and visible like that need not be a feature creep. Web browsers, for instance, have their own resource monitoring tools regardless of the operating system ones. In Chromium, the built-in resource monitoring tool is even called "Task manager".

Well thats a gap in your setup, not a gap in our software.
Seems like a classic https://xkcd.com/1172/

I am really sorry to say it, but this is just not the right way to communicate. As far as I understand, the setup in question may have flaws, but at the same time, it simply relied on a feature available in Syncthing since at least 2014-2015 (if only the dates in the GitHub repository are correct). The issue is not about some recent superfluous feature additions or something like that.

Edit: Just for the record, I have reverted the c7d6a6d78042876d9a27b13df2ae45783dca7c37 commit and compiled a version of Syncthing without it for personal use. If you absolutely need CPU and RAM stats, then this is what I would suggest to do. The commit can be reverted without any conflicts (at least for now, as of v1.4.2)

Syncthing's scope is not monitoring and as discussed it's not accurate either, so I don't know why everyone's so angry here. Other sync tools don't have CPU monitoring built-in aswell.

There are countless awesome and FOSS monitoring tools out there.

@tomasz1986 which tools did you try? How did they not work properly? Is this just about Android? Apparently in Android 7.0 you can only monitor the CPU statistics of the current process. This however could be implemented in the Android GUI and not into the Syncthing core.

I feel like the issue is only relevant to Android as on other systems monitoring is quite easy. As such it should probably be opened in syncthing-android, not here.

This issue is only open for visibility - there is no intention to change anything on removing cpu/ram usage. Feel free to continue discussion on options to monitor system usage on the forum. I created a thread with parts of the comment above by @n1trux quoted: https://forum.syncthing.net/t/system-resource-monitoring-for-devices-running-syncthing/14807

I feel like the issue is only relevant to Android as on other systems monitoring is quite easy. As such it should probably be opened in syncthing-android, not here.

Well, for myself it is mostly about Android, which lacks heavily in this department, but for the OP, it seems to be more about CPU/RAM statistics available in the Web GUI for remote access, which is OS-independent. In fact, the Banana Pro mentioned in the beginning is an all-in-one Linux-based computer. Adding the statistics only to the Android wrapper would not help in this case. It would not help in mine either, as I also rely on the Web GUI to administer my Android devices.

Anyhow, I will not write here anymore as per the @imsodin's request. I will also continue to use my custom build of Syncthing with the statistics retained, because they are helpful, and I just do not see any real benefit in having them removed.

As someone already said, at the moment it's easy to revert the c7d6a6d78042876d9a27b13df2ae45783dca7c37 commit and compile Syncthing from source (v1.4.2 as of now).

I cross-compiled for both linux-amd64 (my notebook) and linux-arm (my arm-based router). While for the former you can say it's only about cosmetics, for the latter I can say it's the only way to easily monitor CPU and RAM stats (not really an option to ssh into the router just to use "top", even less with your mobile phone).

id like my little stats back please. at least give me a checkbox int he advanced settings to turn it on. I agree there are much better tools to monitor cpu/ram but this was very helpful in actually quickly seeing that there might be a problem. Maybe this is ignorance talking but this is not a feature that needs a lot of attention is it?

Sorry, but it's not coming back.

Was this page helpful?
0 / 5 - 0 ratings