Browse Subversion Repository
Contents of /logclef/ext-su-count.rb
Parent Directory
| Revision Log
Revision 15 -
( show annotations)
( download)
Sun Sep 12 08:43:58 2010 UTC
(13 years, 8 months ago)
by masao
File size: 1033 byte(s)
Changed definition of the number of actions:
-- ignored duplicate "search_*" actions except the first one.
| 1 |
#!/usr/bin/env ruby |
| 2 |
# -*- coding: utf-8 -*- |
| 3 |
|
| 4 |
# count su number and time in each session |
| 5 |
|
| 6 |
$:.push File.dirname($0) |
| 7 |
require "ext-session.rb" |
| 8 |
|
| 9 |
sessions = load_logdata |
| 10 |
|
| 11 |
sessions.keys.each do |sesid| |
| 12 |
session = sessions[ sesid ] |
| 13 |
units = [] |
| 14 |
cur_data = [] |
| 15 |
action_data = nil |
| 16 |
previous_query = nil |
| 17 |
session.each do |data| |
| 18 |
cur_data << data |
| 19 |
if /^search_/ =~ data[ 6 ] and previous_query != data[ 5 ] |
| 20 |
if action_data |
| 21 |
units << cur_data |
| 22 |
end |
| 23 |
previous_query = data[ 5 ] |
| 24 |
cur_data = [ data ] |
| 25 |
action_data = data |
| 26 |
end |
| 27 |
end |
| 28 |
if action_data and not cur_data.empty? |
| 29 |
units << cur_data |
| 30 |
end |
| 31 |
units.each_with_index do |unit, i| |
| 32 |
last_time = Time.parse( unit[ -1][12] ) |
| 33 |
first_time = Time.parse( unit[ 0 ][12] ) |
| 34 |
time = ( last_time - first_time ).to_f |
| 35 |
action_num = unit.select{|e| not e[6] =~ /^search_/ }.size |
| 36 |
action_num += 1 if unit[0][6] =~ /^search_/ |
| 37 |
puts [ sesid, i + 1, unit[0][6], action_num, time ].join( "\t" ) |
| 38 |
end |
| 39 |
end |
|