Job Accounting

By default, an Ophidia instance logs all the jobs (workflows and tasks of operators) submitted by each user for accounting purposes.

In particular, each submission represents a workflow request, which, in turn, contains one or more simple tasks requests (i.e., Ophidia operators) according to the type of job submitted: workflow of multiple tasks, massive tasks and single tasks. The first type of request is logged in the workflow logfile, which is identified by the WF_LOGFILE argument in server.conf configuration file, whereas the single tasks are logged in the task logfile, which is identified by the TASK_LOGFILE argument in server.conf.

More information regarding the Ophidia server configuration file are available in the server configuration page.

WF_LOGFILE keeps track of the following information per each workflow (completed successfully or not):

timestamp             ← submission timestamp
idworkflow            ← workflow identifier (set by Ophidia Server)
name                  ← workflow name (set in JSON Request)
username              ← hash of username (set in JSON Request)
ip_address            ← source IP address set in the request (IPv4 format)
client_address        ← IP address of the node from where the request has been issued (IPv4 format)
#tasks                ← number of tasks in the workflow
#success_tasks        ← number of tasks successfully completed
duration              ← total workflow execution time (in seconds)

Note

The field username contains the result of cryptographic SHA-1 hash function applied to actual username.

Note

The two fields ip_address and client_address usually represent the same IP address. However, if Ophidia Server is installed behind a web proxy, the former will be mapped to the proxy IP, while the latter to the client node that actually submitted the request. In this case, it is important that the proxy is enabled to set the field X-Forwarded-For of HTTP header to the original IP address.

TASK_LOGFILE keeps track of the following information per each task (completed successfully or not):

timestamp             ← submission timestamp
idtask                ← task identifier (set by Ophidia Server)
idworkflow            ← workflow identifier (link to workflow data in *WF_LOGFILE*)
operator              ← operator name (set in JSON Request)
#cores                ← number of cores actually used to execute the task
success_flag          ← set to 1 if the task has been successfully completed, 0 otherwise
duration              ← task execution time (in seconds)