Author Topic: log files  (Read 8753 times)

bijuramavfx

  • Sr. Member
  • ****
  • Posts: 40
log files
« on: September 20, 2012, 01:27:09 PM »
Hi there:

I am trying to locate the path to the logifles.. when I rightclick on a job and select 'Open Job Log Dir' I get the following error message

Unable to open directory "/var/spool/qube/job/69000/69078"

But I do see the log in stdout/stderr Qube GUI panel. Where is this log file being stored - sometime it so happens that these panels take a while to update ..?

Where are these path set ..?

thanks and much appreciated.
/Biju

Darrin

  • Guest
Re: log files
« Reply #1 on: September 20, 2012, 05:41:59 PM »
Logs for each job are stored in subdirectories within the logpath directory. Within each job directory, there are a number of log files associated with the job and its subjobs. The jobs are located in groups of 1000 and are created under the job_ID / 1000 + 1000 directory. The logs are grouped this way to make archiving simple. The exact specification is:
$LOGPATH/job/job_ID_1000/job_ID

Example

BrianK

  • Hero Member
  • *****
  • Posts: 107
Re: log files
« Reply #2 on: September 20, 2012, 06:54:41 PM »
I will also add that 'Open Job Log Dir' should work on the sueprvisor, but will only work on clients if the 'client_logpath' is defined in the client's local qb.conf *and* the logs are centrally located.

bijuramavfx

  • Sr. Member
  • ****
  • Posts: 40
Re: log files
« Reply #3 on: September 21, 2012, 03:54:18 PM »
Thank you all
I was wondering if there is a  Qube command that will list out all the paths when Qube is running ..?
Tried the env command to list all the env. variables but I don't see any variable that specify these paths ..?

cheers
/Biju

BrianK

  • Hero Member
  • *****
  • Posts: 107
Re: log files
« Reply #4 on: September 21, 2012, 11:03:49 PM »
Most of this is explained in depth in Section 6.1.4 & 6.1.5 of the administration guide in Qube (all except frame log parsing).  The admin guide is available under the help menu in Qube or online at http://pipelinefx.com/docs/

The log location would only be known to the workers if they were running mounted logs. "Mounted" logs are written directly by the workers, as opposed to "remote" mode where the logs are transmitted to the supervisor for it to handle.  If the logs are remote (the default), then the workers likely don't have access to the logs, therefore, there is no path to them.

That said, to check the logmode on a worker via command line:

Code: [Select]
$ qbadmin worker --config BKMac.local | grep worker_logmode
60: worker_logmode=remote

...via python:
Code: [Select]
In [36]: qb.workerconfig('BKMac.local').get('worker_logmode')
Out[36]: 'remote'

both of which show that the logmode is remote.  This means that the worker cannot see the logs.

Let's now move to a mounted logs example....

Code: [Select]
$ qbadmin worker --config BKMac.local | grep worker_logmode
60: worker_logmode=mounted
$ qbadmin worker --config BKMac.local | grep worker_logpath
61: worker_logpath=/Volumes/server/qubelogs

...via python:
Code: [Select]
In [37]: qb.workerconfig('BKMac.local').get('worker_logmode')
Out[37]: 'mounted'

In [38]: qb.workerconfig('BKMac.local').get('worker_logpath')
Out[38]: '/Volumes/server/qubelogs'

Now we know the root of the qube logs to /Volumes/server/qubelogs.  Job logs, then, live in /Volumes/server/qubelogs/job/.  The exact location of the logs can be figure by info in section 6.1.4 in the admin guide.  Note that the logs are based on the subjob/instance, not on the frame.  Subjob 3's logs for job 1234 would, in this example, live in /Volumes/server/qubelogs/job/1000/1234/1234_3.out & .err.  To get the frame logs, you would need to parse the file.  Both the Wrangler and Artist View GUIs do this by looking for the line that contains "got work <job_id>:<frame_name>".  Note, it is important to look for the frame's name rather than its id.