Page 1 of 1

6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 2:28 am
by ndimario
I have been developing a Java based client reader for Ubuntu (maybe multiple platforms) while learning Java (so its definitely in early stages). I was wondering if the log format used for the smp client version 6.34 will be completely wiped out when 7 is released. I was also planning to refocus my program to work with the new beta client, but I'm not sure if they will make any sort of format changes that will render the client as useless as it could be right now.

As it stands my client can only simply parse the most recent folding process in a fahlog (in the same directory as the application) and it will tell you the TPF for all frames and the last three frames. Now I'm clearly in the early stages of this client, but I am trying to figure out if I should maybe pursue the beta client or continue my work with the 6.34 client, then start a new project for the beta client when its done.

If anyone has any information on the format of logs, it would be appreciated. I plan to eventually parse the project summaries (already done in a mini project from the past) then calculate things like PPD and possibly Bonus PPD, I'm more concerned about formats and if I should spend a lot of time on this now or cut my losses and move on?

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 9:52 am
by smoking2000
The logging generated by the FahCores is still the same, e.g. the "Completed X out of Y steps" lines. The cores haven't changed, so this logging is still available in the v7 log.

But the v7 log formats the lines a bit differently around the time stamps:

v6

Code: Select all

[09:49:43] Completed  11000000 out of 50000000 steps (22%).
v7

Code: Select all

09:49:17:Unit 01:Completed 460000 out of 500000 steps  (92%)
v7 with option log-no-info-header=false

Code: Select all

09:49:17:INFO(1): Unit 01:Completed 460000 out of 500000 steps  (92%)

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 1:31 pm
by smoking2000
Regarding log parsing for the v7 client, there are no takers for a Java implementation of the remote interface yet, so you could be the first to write one. Which would be cool, since we already have people working on .NET, C++ and Perl implementations.

I'm responsible for the Perl implementation, and you may want to have a look at the log handling I've done there to support the v7 client. See the Perl implementation topic I linked above, and the related topics in the Developer's Den.

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 4:12 pm
by ndimario
Well one thing I noticed is that the v6.34 log format includes a line like this:

Code: Select all

[14:50:41] Working on queue slot 07 [May 13 14:50:41 UTC]
However while briefly looking at the v7 beta log format, the only full date stamp is when the file is opened. I'm half hoping that they'll add more full date time stamps by time the client is officially released.

Note: My original concept for the project was to simply figure out the TPF for all frames and the last three frames for the most current SMP work unit (which is done), but its never fun to stay basic when programming.

Note: I will look into the v7 beta format now

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 4:22 pm
by codysluder
ndimario wrote:I was wondering if the log format used for the smp client version 6.34 will be completely wiped out when 7 is released. I was also planning to refocus my program to work with the new beta client, but I'm not sure if they will make any sort of format changes that will render the client as useless as it could be right now.
V6 will not be wiped out when V7 is released. Historically older versions of the client continue to work (essentially forever) but won't be supported/updated/fixed if anything comes up. Each of the most recent updates to V6 were changes that allowed support for new hardware or new cores. The newest core is fahcore_16 and there has been no update to V6 to support it, so you have to switch to V7 if you want to run fahcore_16, If you don't need OpenCL support for ATI's HD5000+ then V6 is fine.

Up through V6, third party support has been based on parsing logs and reverse engineering data files. FAH has never promised that the log files won't change, but they've made some effort to keep it the same to support log parsing. With the new 3rd party interface, parsing of log files will be officially unsupported (as opposed to officially neither) so you can probably expect that your log parsing code will break from time to time and become increasingly difficult to support. The fact that they accepted Ticket 157 means they'll be managing both halves of the process eventually.

Edit: And I see you discovered Ticket #122 too.
ndimario wrote: I'm half hoping that they'll add more full date time stamps by time the client is officially released.

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 4:57 pm
by smoking2000
You can enable logging of the date by setting the log-date option to true:

Code: Select all

14/05/11:16:54:59:INFO(1): Saving configuration to config.xml
14/05/11:16:54:59:INFO(2): <config>
14/05/11:16:54:59:INFO(2):   <!-- FahCore Control -->
14/05/11:16:54:59:INFO(2):   <checkpoint v='5'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Logging -->
14/05/11:16:54:59:INFO(2):   <log-date v='true'/>
14/05/11:16:54:59:INFO(2):   <log-no-info-header v='false'/>
14/05/11:16:54:59:INFO(2):   <verbosity v='5'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Network -->
14/05/11:16:54:59:INFO(2):   <proxy v=':8080'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Remote Command Server -->
14/05/11:16:54:59:INFO(2):   <command-allow v='127.0.0.1 10.0.0.150'/>
14/05/11:16:54:59:INFO(2):   <command-allow-no-pass v='127.0.0.1 10.0.0.150'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Slot Control -->
14/05/11:16:54:59:INFO(2):   <pause-on-start v='true'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- User Information -->
14/05/11:16:54:59:INFO(2):   <team v='92'/>
14/05/11:16:54:59:INFO(2):   <user v='[DPC]_Fatal_Error_Group0smoking2000'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Work Unit Control -->
14/05/11:16:54:59:INFO(2):   <max-units v='1'/>
14/05/11:16:54:59:INFO(2):   <next-unit-percentage v='100'/>
14/05/11:16:54:59:INFO(2):
14/05/11:16:54:59:INFO(2):   <!-- Folding Slots -->
14/05/11:16:54:59:INFO(2):   <slot id='0' type='UNIPROCESSOR'/>
14/05/11:16:54:59:INFO(2):   <slot id='1' type='UNIPROCESSOR'>
14/05/11:16:54:59:INFO(2):     <machine-id v='13'/>
14/05/11:16:54:59:INFO(2):   </slot>
14/05/11:16:54:59:INFO(2): </config>
14/05/11:16:56:41:INFO(1): Unit 00:Writing local files
14/05/11:16:56:41:INFO(1): Unit 00:Completed 5000 out of 250000 steps  (2%)

Re: 6.34 vs 7 beta Client log format

Posted: Sat May 14, 2011 5:04 pm
by ndimario
oh nice! that will make parsing a log file much easier. Thank you smoking and cody for the information. I'm probably going to proceed with the v7 beta client as planned but not quite as aggressively as I had planned. Even though stanford doesn't intend to support 3rd party applications like they used too for the v7 format, it seems they made it easier to parse (unless that option existed before and I just did it the stupid way). In anycase, thank you both for the information

Re: 6.34 vs 7 beta Client log format

Posted: Sun May 15, 2011 4:58 pm
by ndimario
I'm having a hard time trying to figure out how to get the client to use the config.xml. I've changed both /var/lib/fahclient/configs/config.xml (doesn't seem to use anyways) and /etc/fahclient/config.xml (automatically handled by the program for the most part). I then restarted the fahcontrol program and it still doesn't show long form dates in the log..

Re: 6.34 vs 7 beta Client log format

Posted: Sun May 15, 2011 6:32 pm
by smoking2000
After configuring the log-date option, only the newly generated logging will contain the date. This is assuming you've configured the option at runtime using FAHControl, if you've configured it in the config.xml it should be used from startup.