Client state

From BOINC

The complete state of the BOINC core client is saved in the running program in an object of class CLIENT_STATE. This is saved in a file called client_state.xml periodically, and whenever the client is shut down, so that it can be read back in and restored when the client is restarted. A backup copy, called client_state_prev.xml, is also kept, in case something happens to the client state file when it is being written.

See the BOINC FAQ Service for expanded definitions and discussion about many of the items in this file. See the Client Data page in the developer's wiki for some more technical details.

There are separate sections of the client state object/file for the host computer, computer time and network statistics, and for each project the client is connected to

You shouldn't rely on the client_state.xml format staying unchanged between BOINC versions. If you're writing a program or script that needs to get information from BOINC, use GUI RPCs instead.

Host Info

This block contains information about your computer. Items which begin with "p_" refer to the processor(s); Items which begin with "m_" refer to the main memory; Items which begin with "d_" refer to disk storage.

timezone
The difference between the computer's local timezone and GMT, measured in seconds.
domain_name
This is the name you assigned to your computer
ip_addr
This is your local IP address. If you are behind a router or a gateway, this is the address the router/gateway assign to your computer
host_cpid
Cross-project ID of this host
p_ncpus
Number of processors
p_vendor
Name of the manufacturer
p_model
CPU model
p_features
Features of the CPU
p_fpops
p_iops
p_membw
p_calculated
m_nbytes
Available processor memory, in bytes
m_cache
Size of the CPU cache
m_swap
Availalble swap space
d_total
Total disk space
d_free
Free disk space
os_name
Operating system name (Windows, Linux, ...)
os_version

Operating system version

Time Stats

Net Stats

Projects

There is a separate project section for each project to which the client computer is attached. (Actually, there are several separate sections for each project, they are not all in one XML block. This might be considered a bug, but it's how the file evolved. To be more specific, for example, tasks belonging to a project are after the corresponding project element, instead of inside the project element. ) For each project there is information about

Project section

master_url
Project url
project_name
Project name
symstore
user_name
Self explanatory
team_name
Self explanatory
host_venue
email_hash
cross_project_id
cpid_time
user_total_credit
Self explanatory
user_expavg_credit
Same as Average work done
user_create_time
rpc_seqno
hostid
Computer Numerical id assigned by the project
host_total_credit
Self explanatory
host_expavg_credit
Self explanatory
host_create_time
nrpc_failures
Number of Remote Procedure Call failures
master_fetch_failures
min_rpc_time
next_rpc_time
short_term_debt
long_term_debt
cpu_backoff_interval
cpu_backoff_time
cuda_debt
cuda_backoff_interval
cuda_backoff_time
resource_share
The resources the user assign to the project
duration_correction_factor
sched_rpc_pending
send_time_stats_log
send_job_log
   Here are some switches (there may be one or more). An example:
   <verify_files_on_app_start/>
   <dont_request_more_work/>
   <master_url_fetch_pending/>
   <suspended_via_gui/>
   
ams_resource_share
scheduler_url
code_sign_key

Project Applications

This block lists the applications used by the project.

Application versions

This block lists the specific versions of applications released by the project.

Active Task Set

This is a list of tasks which are active on the machine.

BOINC Client Information

The end of the file is a collection of information about the BOINC client software itself.