Logokból az éppen futó tranzakciók számának kinyerése

Üdv!

Valószínűleg nem olyan egyszerű a probléma megoldása, mint elsőre látszana:

Szeretnék saját szórakoztatásomra az általunk üzemeltetett rendszerhez egy olyan scriptet fejleszteni,
ami az éppen írt tranzakciós logból egy számláló manipulálásával képes fix időközönként az éppen futó
tranzakciók számát megjeleníteni.
Egy-egy tranzakció jól beazonosítható, mert a logban egy "... begin ... tran_id ..." formájú sor jelzi a kezdetét,
illetve egy "... end ... tran_id ..." formájú sor jelzi a végét. Ez még egyszerűen parse-olható pl. a tail -f kimenet
awk-val. Ide elég 2 minta illesztés és ennek megfelelően egy counter++ vagy counter-- (nagy vonalakban).
Viszont, az alkalmazás fut szerencsére 7/24 órában, így a script indításának pillanatában nem tudjuk a pillanatnyilag futó tranzakciók számát.
A meglévő log elejétől való csemegézés sem igazán játszik, mert bár gyors a gép, egy 300+MB-os text fájl átnyálazása
nem pár msec.

Tudnátok ötleteket mondani erre?

Adva: hp-ux, ksh, awk, perl

Hozzászólások

A futó tranzakció egy konkrét fájlba lökje be az
azonosítóját, illetve mindent, ami neked kell a
megjelenítéshez. Ezt a fájlt aztán scriptel feldolgozhatod.
Én így csinálnám.

> Sol omnibus lucet.

Egyszer átnyálazod az elejéről, a számláló állását és a log méretét eltárolod. A következő futásnál seek a letárolt logméretre, számláló lökdösése, végül tárolás, s.í.t.