A program to count BOINC tasks

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

getting a traceback when

getting a traceback when trying to run it.

Ubuntu 20.04.4
kernel 5.13.0-44-generic
python 3.8.10

 

$ python3 count-tasks --help
Traceback (most recent call last):
  File "count-tasks", line 45, in <module>
    from COUNTmodules import boinc_commands, times
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/boinc_commands.py", line 51, in <module>
    from COUNTmodules import utils
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/utils.py", line 39, in <module>
    import tkinter as tk
ModuleNotFoundError: No module named 'tkinter'

 

 

_________________________________________________________________________

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

Ian&Steve C. wrote: getting

Ian&Steve C. wrote:

getting a traceback when trying to run it.

Ubuntu 20.04.4
kernel 5.13.0-44-generic
python 3.8.10

 

$ python3 count-tasks --help
Traceback (most recent call last):
  File "count-tasks", line 45, in <module>
    from COUNTmodules import boinc_commands, times
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/boinc_commands.py", line 51, in <module>
    from COUNTmodules import utils
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/utils.py", line 39, in <module>
    import tkinter as tk
ModuleNotFoundError: No module named 'tkinter'

this is fixed by installing the python3-tk package. you might want to add this as a prerequisite. simply having the python3 package is not enough.

_________________________________________________________________________

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

new issue. another traceback

new issue. another traceback when running gcount-tasks

 

$ python3 gcount-tasks
Task time plots not available; Matplotlib module was not found.
It can be installed with the command: pip install -U matplotlib
or python -m pip install -U matplotlib
Error msg: No module named 'matplotlib'
Traceback (most recent call last):
  File "gcount-tasks", line 47, in <module>
    from COUNTmodules \
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/logs.py", line 88, in <module>
    class Logs:
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/logs.py", line 478, in Logs
    figure: plt.Axes,
NameError: name 'plt' is not defined

 

similar to the last traceback, an additional package is needed. python3-matplotlib

 

_________________________________________________________________________

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

I'm a little confused about a

I'm a little confused about a few things.

first, when setting the custom BOINC directory via the countCFG.txt, do i need to leave the "custom_path" at the beginning of the line? or should the line be ONLY the path? the instructions are a little unclear about it. the verbiage reads like it's JUST the path given the examples, but the leading custom_path seems to make sense from a variable definition sense.

A) custom_path /home/ian/BOINC/boinccmd
or
B) /home/ian/BOINC/boinccmd

 

also, I'm a little unsure about the capabilities and how this program grabs data. does it have the capability to mine data from the existing job_log_einstein.phys.uwm.edu.txt file? or can it only grab data while the program is running? I probably have over a years worth of data in my job logs for various projects, and it would be nice if i could plot all those.

_________________________________________________________________________

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

sorry for all the messages,

sorry for all the messages, attempting to plot results via gcount-tasks results in more errors

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 804, in __setitem__
    cval = self.validate[key](val)
KeyError: 'axes.titlecolor'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 1113, in rc
    rcParams[key] = v
  File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 809, in __setitem__
    raise KeyError(
KeyError: 'axes.titlecolor is not a valid rc parameter (see rcParams.keys() for a list of valid parameters)'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/tkinter/__init__.py", line 1892, in __call__
    return self.func(*args)
  File "gcount-tasks", line 926, in <lambda>
    command=lambda: Logs.analyze_logfile(do_plot=True),
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/logs.py", line 233, in analyze_logfile
    cls.plot_data(intvl_dates, found_intvl_avgt, found_intvl_t_range, intvl_counts)
  File "/home/ian/Downloads/CountBOINCtasks-master/COUNTmodules/logs.py", line 395, in plot_data
    plt.rc('axes', titlesize=bigger_font, titlecolor=LIGHT_COLOR)
  File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 317, in rc
    matplotlib.rc(group, **kwargs)
  File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 1115, in rc
    raise KeyError(('Unrecognized key "%s" for group "%s" and '
KeyError: 'Unrecognized key "axes.titlecolor" for group "axes" and name "titlecolor"'

_________________________________________________________________________

cecht
cecht
Joined: 7 Mar 18
Posts: 1,450
Credit: 2,519,141,584
RAC: 1,795,660

Okay, thanks for the

Okay, thanks for the feedback. Here's a quick reply until I can sort out various issues, starting from your earliest post.
Hmm, yes, count-tasks doesn't use tkinter, but gcount-tasks does, so I need to add a condition for that import. That was an oversight.

Right, as the error msg says, you need to do a pip install of Matplotlib. This is by design because it's not a good idea to have the program auto-install 3rd party packages.

Yes, the path configuration flag is "custom_path", so the line should be:
custom_path /home/ian/BOINC/boinccmd
I'll try to clarify the instructions for that.

The program is limited to getting data only from its locally generated log file, gcount-tasks_log.txt. That log file is populated only when the program is running.
I hadn't considered using the existing job_log_einstein.phys.uwm.edu.txt as a data source. That's a good idea. I will read up on its data structure and see whether I can work up a way for gcount-tasks to analyze it. (Do you know of any links off-hand that explain what's going on in that file?)

Hmmm, your most recent error:
KeyError: 'axes.titlecolor is not a valid rc parameter (see rcParams.keys() for a list of valid parameters)'
has me stumped because "titlecolor" is valid on all of my systems. Hopefully it won't take long to debug.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1,450
Credit: 2,519,141,584
RAC: 1,795,660

I tried to clarify the

I tried to clarify the countCFG.txt instructions and have hopefully fixed the "KeyError: 'axes.titlecolor' " bug in the plot function. The update, version 0.11.0, is now up on GitHub (only the logs.py module needed debugging). Anyone with a GitHub account is welcome to raise issues and offer improvements directly on the CountBOINCtasks repository page. Cheers!

 Edit: Have not yet fix the tkinter import error when executing count-tasks

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1,450
Credit: 2,519,141,584
RAC: 1,795,660

Latest update on GitHub fixes

Latest update on GitHub fixes ModuleNotFoundError: No module named 'tkinter' when executing count-tasks.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5,852
Credit: 111,039,037,359
RAC: 34,840,185

cecht wrote:I hadn't

cecht wrote:
I hadn't considered using the existing job_log_einstein.phys.uwm.edu.txt ....

That file has 2-letter parameters followed by their values, except for the very first which is just the 'unix-epoch' time for each particular entry - probably when the task was completed.

The various 2-letter meanings are:-

ue - the estimated crunch time for the task.
ct - the cpu time actually used.
fe - flops estimate.
nm - task name.
et - elapsed time, ie. run time.
es - I don't remember, but it's always been zero for my stuff :-).

Cheers,
Gary.

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,755
Credit: 35,847,936,077
RAC: 41,084,572

Thanks for the fixes.

Thanks for the fixes. Plotting is working properly now.

 

another question/possible feature request,

it seems that this just grabs all task times indiscriminately and puts them all together. can you sort or filter out certain projects?

_________________________________________________________________________

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.