Page 1 of 2

How to Monitor Work Units using HFM.NET

PostPosted: Sun Apr 19, 2020 12:19 am
by NoMoreQuarantine
HFM.NET is an open source monitoring tool for FAHClient https://github.com/harlam357/hfm-net. While I was trying to get it working, I noticed that there weren't any readily available guides on how to use it (I might have missed it). So I decided to write one. The features of interest for me is it's ability to record and export completed work unit details, but it can also be used to create a website, which I do not currently cover (see HaloJones comment below).

Setting up HFM.NET
To set it up, begin by downloading the latest msi installation file from here https://drive.google.com/drive/folders/ ... zdsaEd5UXM and install. Start HFM.NET and select Clients > Add Client (v7). For most users, it will be enough to enter "local" for Client Name and 127.0.0.1 for Address and 36330 for Port.
Image
HFM should now be showing data from FAHClient. Select File > Save As and save this configuration somewhere convenient. Go to Edit > Preferences > Startup & External, under Configuration file check Load Configuration File and select your file under Filename. Check Auto Run on Windows Startup if you would like to have it run on startup and Run Minimized to start minimized. Click OK when done and save the configuration.
Image

HFM will continue to monitor and record information from FAHClient while it is running. You may minimize the window and it will continue to run in the background and can be accessed from the task bar. The Work Unit History Viewer is described in the next section.

Filtering and Exporting Work Unit History
The Work Unit History Viewer allow you to view, filter, and export your completed work unit details. Unfortunately, there is currently no method of importing WUs from before HFM.NET was installed. To access, select Tools > Work Unit History Viewer. In the following example we will create a filter for GPU work units. Under Data View select New and name the query something descriptive like OPENMM_22. Under the the Name column, click the drop-down arrow and change to "Core Name". Set the Value cell to OPENMM_22. If you have multiple GPUs, you can filter them by selecting Add Row, change to Name in the drop-down and give it the value of local Slot ## (replace ## with actual slot number for GPU). Click OK.
Image
You can now select your filter under Data View. You can add as many filters for your slots as desired. For CPUs, use a value of GRO_A7 instead of OPENMM_22 for the Core Name. Additionally, you can decide how PPD is calculated for each WU by selecting one of the three radio buttons under PPD/Credit Calculation. Bonus (Download Time) calculates from the time the WU started downloading, Bonus (Frame Time) calculates using just the time it took to complete the WU, and Standard calculates using the base credits without any bonus.

Once you have the table the way you like it, you can export by selecting File > Export.
Sometimes, the credits given for projects will be changed by the FAH team after completion of a WU. The changes are usually small, but if you want to check for new values, in the main HFM.NET window select Tools > Download Projects From Stanford.

Help us build a GPU database
If you would like to share your results with world and help us find the best GPUs for Folding@home, foldinghomealone is currently collecting data for his database viewtopic.php?f=38&t=34510. Filter your GPU, select Bonus (Frame Time), export the results, and submit it here https://docs.google.com/forms/d/e/1FAIp ... w/viewform

Unfortunately, Google Forms does not support anonymous file upload, so if you would like to submit anonymously use a throwaway.

You can view the full database here: https://docs.google.com/spreadsheets/d/ ... =323814829

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 21, 2020 10:27 am
by muziqaz

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 21, 2020 7:10 pm
by HaloJones
If you have your own web server (they're really cheap these days), you can get HFM to create a website of your HFM.

This is mine http://www.miketimbers.com/hfm/summary.html

To do this, access the HFM Preferences dropdown. The first tab is Scheduled Tasks and the bottom section is "Web Generation". Tick "Create a Web Site. I have mine set to update after a "Full Refresh"

Then you will need to setup the Upload target. I upload to my FTP server putting the data into a sub directory. Specify the server name, the port, username and password. I have it uploading the "HTML" rather than XML, and uploading the Logfiles too. Finally the FTP Mode is Passive but that maybe different on your FTP service.

This allows me to see if I've got a stuck or dead slot from wherever I am in the world and can then use Teamviewer to access my home network and fix problems.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Mon Apr 27, 2020 2:31 am
by Endgame124
I installed HFM.NET. It detects my slot, PPD, etc. However, when following the directions for the work unit history viewer, nothing populates the table. Is there a, uh, auto associate button, that I'm not seeing somewhere so i can just click "find my log, and create desired upload"?

Re: How to Monitor Work Units using HFM.NET

PostPosted: Mon Apr 27, 2020 3:59 am
by NoMoreQuarantine
Endgame124 wrote:I installed HFM.NET. It detects my slot, PPD, etc. However, when following the directions for the work unit history viewer, nothing populates the table. Is there a, uh, auto associate button, that I'm not seeing somewhere so i can just click "find my log, and create desired upload"?

Unfortunately, it will only populate it with WUs from the point you install it onward. See this post for more details: https://github.com/harlam357/hfm-net/issues/306

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 12:37 pm
by skydivingcatfan
I installed this on one of my computers that I am folding on. I have a second computer that is also folding and would like to add this data to the monitor. How do I do that?

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 1:53 pm
by HaloJones
On the second computer you need to have configured it for remote access.

If you haven't done that yet, on Advanced Control, Configure, Remote Access, under the section called Passwordless IP Address Restriction, Allow - 192.168.0.0/24

Then save it and restart the second computer.

Then in HFM select Clients, Add Client, Fill in the details including the IP address of the second computer, click OK.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 3:19 pm
by skydivingcatfan
Thanks

I will try that tonight when I get home from work.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 8:36 pm
by Endgame124
HaloJones wrote:On the second computer you need to have configured it for remote access.

If you haven't done that yet, on Advanced Control, Configure, Remote Access, under the section called Passwordless IP Address Restriction, Allow - 192.168.0.0/24

Then save it and restart the second computer.

Then in HFM select Clients, Add Client, Fill in the details including the IP address of the second computer, click OK.

We need to start HFM on the remote host, or do we need to configure FAH for the remote access? If it’s just configure the remote F@H install, does that mean a windows host can monitor a Linux F@H client?

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 8:43 pm
by Kebast
Endgame124 wrote:
HaloJones wrote:On the second computer you need to have configured it for remote access.

If you haven't done that yet, on Advanced Control, Configure, Remote Access, under the section called Passwordless IP Address Restriction, Allow - 192.168.0.0/24

Then save it and restart the second computer.

Then in HFM select Clients, Add Client, Fill in the details including the IP address of the second computer, click OK.

We need to start HFM on the remote host, or do we need to configure FAH for the remote access? If it’s just configure the remote F@H install, does that mean a windows host can monitor a Linux F@H client?

You just need to configure FAH on the remote machine for the remote access (FAHControl Remote Access tab). Then you can monitor that machine from any other FAHControl install (or HFM) you have on the network. You can even get fancy and configure it to allow access from outside your LAN, but I really wouldn't recommend that.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 10:40 pm
by HaloJones
Any OS FAHControl can monitor any other FAH client irrespective of OS of host or target so long as the target has allowed remote access. HFM uses the exact same method to view a client as FAHControl but it keeps a record of every unit and has other cool features like web reporting.

So you must enable remote access on every machine you want to monitor with either HFM or FAHControl but HFM only needs to be on the monitoring machine not on the monitored machine.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Tue Apr 28, 2020 11:45 pm
by skydivingcatfan
HaloJones wrote:On the second computer you need to have configured it for remote access.

If you haven't done that yet, on Advanced Control, Configure, Remote Access, under the section called Passwordless IP Address Restriction, Allow - 192.168.0.0/24

Then save it and restart the second computer.

Then in HFM select Clients, Add Client, Fill in the details including the IP address of the second computer, click OK.


I never can deal with network things without having issues

I added 192.168.1.0/24 since that is the subnet I am on and now cannot connect. Does not give me the Remote Access tab to go back how it was.

Re: How to Monitor Work Units using HFM.NET

PostPosted: Wed Apr 29, 2020 1:21 am
by Kebast
Did you add it under the Passwordless IP restriction section too?

Re: How to Monitor Work Units using HFM.NET

PostPosted: Wed Apr 29, 2020 1:35 am
by skydivingcatfan
Kebast wrote:Did you add it under the Passwordless IP restriction section too?


Yes

Re: How to Monitor Work Units using HFM.NET

PostPosted: Wed Apr 29, 2020 3:03 am
by PantherX
Did you by chance, removed 127.0.0.1 and replaced it with 192.168.1.0/24?

If you did that, it means that locally, you have disabled FAHControl to connect with the local FAHClient. However, you might be able to connect to it remotely and then change the settings.

If you post a screenshot of that configuration window, ensure that the password field is not visible in your image here.