Thanks for anyone who takes the time to read this.  If I posted to the
wrong list, I apologize and you can disregard.

I need help with a script to pull data from a postgres database.  I'm ok
with the database connection just not sure how to parse the data to get
the results I need.

I'm running Python 2.4.4. For what it's worth, once I can get my logic
correct I'll be publishing the reports mentioned below via zope for web
clients.

Here is a small sample of the records in the table:

name            date            time            status          
machine1        01/01/2008      13:00:00        system ok
machine1        01/01/2008      13:05:00        system ok
machine1        01/01/2008      13:10:00        status1
machine1        01/01/2008      13:10:30        status1
machine1        01/01/2008      13:11:00        system ok
machine1        01/01/2008      13:16:30        status2
machine1        01/01/2008      13:17:00        status2
machine1        01/01/2008      13:17:30        status2
machine1        01/01/2008      13:18:00        status2
machine1        01/01/2008      13:18:30        status2
machine1        01/01/2008      13:19:00        system ok
machine1        01/01/2008      13:24:00        status2
machine1        01/01/2008      13:24:30        status2
machine1    01/01/2008  13:25:00        system ok

I need to report from this data.
The detail report needs to be something like:
machine1        01/01/2008 13:10:00 status1     00:01:30
machine1        01/01/2008 13:16:30 status2     00:02:30
machine1        01/01/2008 13:24:00 status2     00:01:00

and the summary needs to be
machine1        01/01/2008 total 'status1' time = 00:01:30
machine1        01/01/2008 total 'status2' time = 00:03:30
_____
machine1        01/01/2008 total 'non-OK' time = 00:05:00 #this is the
sum of  status1 and status2 times

The 'machine1' system is periodically checked and the system status is
written to the database table with the machinename/date/time/status.
Everything that isn't a 'system ok' status is bad. For me to determine
the amount of time a machine was in a bad status I'm taking the first
time a machine has a 'system ok' status after a bad status and
subtracting from that time the time that a machine first went into that
bad status. From my table above:

machine1 went into 'status2' status at 13:16:30 and came out of
'status2' to a 'system ok' status at 13:19:00. So the downtime would be
13:19:00 - 13:16:30 = 00:02:30

I'm not sure how to query when a 'bad' status is found to find the next
'good' status and calculate based on the times.  Essentially, I need
help creating the reports mentioned above. Your questions may also help
clarify my fuzzy description.

Thanks for any help. Reply with questions. 

Israel


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to