How to read such file and sumarize the data?

Tim Harig usernet at ilthio.net
Wed Nov 17 17:38:53 EST 2010


On 2010-11-17, huisky <huisky at gmail.com> wrote:
> I want to read this file and do the summarize how much total CPU time
> consumed for each user.
> Is Python able to do so or say easy to achieve this?, anybody can give
> me some hints, appricate very much!

The question is, is the information you want available in the data.

> Example log file.
> **************************************************************************************
> LSTC license server version 224 started at Sun Dec  6 18:56:48 2009
> using configuration file /usr/local/lstc/server_data
> xyz 15424 at trofast3.marin.ntnu.no LS-DYNA_971 NCPU=1 started Sun Dec  6
> 18:57:40
> 15424 at trofast3.marin.ntnu.no completed Sun Dec  6 19:42:55
> xyz 15500 at trofast3.marin.ntnu.no LS-DYNA_971 NCPU=2 started Sun Dec  6
> 20:17:02
> 15500 at trofast3.marin.ntnu.no completed Sun Dec  6 20:26:03
> xyz 18291 at trofast2.marin.ntnu.no LS-DYNA_971 NCPU=1 started Sun Dec  6
> 21:01:17
> 18291 at trofast2.marin.ntnu.no completed Sun Dec  6 21:01:28
> tanhoi 552 at iimt-tanhoi-w.ivt.ntnu.no LS-DYNA_971 NCPU=1 started Mon
> Dec  7 09:31:00
> 552 at iimt-tanhoi-w.ivt.ntnu.no presumed dead Mon Dec  7 10:36:48
> sabril 18863 at trofast2.marin.ntnu.no LS-DYNA_971 NCPU=2 started Mon
> Dec  7 13:14:47
> 18863 at trofast2.marin.ntnu.no completed Mon Dec  7 13:24:07
> sabril 18937 at trofast2.marin.ntnu.no LS-DYNA_971 NCPU=2 started Mon
> Dec  7 14:21:34
> sabril 18969 at trofast2.marin.ntnu.no LS-DYNA_971 NCPU=2 started Mon
> Dec  7 14:28:42
> 18969 at trofast2.marin.ntnu.no killed Mon Dec  7 14:31:48
> 18937 at trofast2.marin.ntnu.no killed Mon Dec  7 14:32:06

I see starts, completes, kills, and presumed deads.  The question is can
the starts be matched to the completes and kills either from the numbers
before @ or from a combination of the address and NCPU.  You will need to
figure out whether or not you want to count the presumed deads in your
calculations.

Assuming that the starts and stops can be corrilated, it is a simple matter
of finding the pairs and using the datetime module to find the difference
in time between them.



More information about the Python-list mailing list