in reply to extracting timestamps from logfile
Chris#!/usr/bin/perl use strict; use warnings; use Date::Calc qw/ Delta_YMDHMS /; my %data; while (<DATA>) { if (/(\d{4}-\d\d-\d\d\/\d\d:\d\d:\d\d).+?(...)Queue.+Queue(\d+)/) +{ $data{$3}{$2} = [split /\D+/, $1]; } else { die "died: bad data$1"; } } for my $queue (sort {$a <=> $b} keys %data) { next unless keys %{ $data{$queue} } == 2; print "Queue$queue difference: ", Delta_YMDHMS(@{$data{$queue}{Put}}, @{$data{$queue}{Get}}), "\ +n"; } __DATA__ WHlog.20050904:{/208} {10}, {STATS}, {2005-09-04/10:05:58}, {Work}, { +I}, {PutQueue} "SVC(3/370)"~"Queue1"~ PUT to WHlog.20050904:{/208} {12}, {STATS}, {2005-09-04/10:05:58}, {Work}, { +I}, {PutQueue} "SVC(3/360)"~"Queue2"~ PUT to WHlog.20050904:{/208} {8}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I +}, {PutQueue} "SVC(3/332)"~"Queue3"~ PUT to WHlog.20050904:{/208} {11}, {STATS}, {2005-09-04/10:05:59}, {Work}, { +I}, {PutQueue} "SVC(3/347)"~"Queue4"~ PUT to WHlog.20050904:{/208} {6}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I +}, {PutQueue} "SVC(3/366)"~"Queue5"~ PUT to WHlog.20050904:{/208} {11}, {STATS}, {2005-09-04/10:05:59}, {Work}, { +I}, {PutQueue} "SVC(3/323)"~"Queue6"~ PUT to WHlog.20050904:{/208} {3}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I +}, {PutQueue} "SVC(3/339)"~"Queue7"~ PUT to WHlog.20050904:{/208} {6}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I +}, {PutQueue} "SVC(3/354)"~"Queue8"~ PUT to WHlog.20050904:{/3} {7}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I}, + {GetQueue} "SVC"~"Queue1-WFR"~ token=2879, WHlog.20050904:{/3} {10}, {STATS}, {2005-09-04/10:05:59}, {Work}, {I} +, {GetQueue} "SVC"~"Queue2-WFR"~ token=2893 WHlog.20050904:{/3} {4}, {STATS}, {2005-09-04/10:06:00}, {Work}, {I}, + {GetQueue} "SVC"~"Queue3-WFR"~ token=2249, **Prints Queue1 difference: 000001 Queue2 difference: 000001 Queue3 difference: 000001
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: extracting timestamps from logfile
by Cristoforo (Curate) on Sep 08, 2005 at 16:56 UTC |