Develop and Download Open Source Software

Browse Subversion Repository

Contents of /logclef/ext-session.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4 - (show annotations) (download)
Sat Jul 3 09:21:08 2010 UTC (13 years, 11 months ago) by masao
File size: 1233 byte(s)
indent.

1 #!/usr/bin/env ruby
2 # -*- coding: utf-8 -*-
3 # $Id: ext-session.rb,v 1.1 2010/07/03 06:53:48 masao Exp $
4
5 # セッション単位でログデータを抽出する。
6
7 require "time"
8
9 def load_logdata( io = ARGF )
10 sessions = {}
11 ARGF.each do |line|
12 actionid, userid, userip, sesid, lang, query, action, colid, nrrecords, recordpos, sboxid, objurl, time = line.chomp.split( /\t/ )
13 if sesid.empty? or sesid == "null"
14 sesid = userip
15 end
16 sessions[ sesid ] ||= []
17 sessions[ sesid ] << [ actionid, userid, userip, sesid, lang, query, action, colid, nrrecords, recordpos, sboxid, objurl, time ]
18 end
19 STDERR.puts "Session size: #{ sessions.keys.size }"
20 sessions
21 end
22
23 if $0 == __FILE__
24 sessions = load_logdata
25
26 # session_keys = sessions.keys.sort_by{|e| sessions[e][0][12] }
27 # puts session_keys[ 0..20 ]
28 sessions.keys.each do |sesid|
29 session = sessions[ sesid ]
30 last_time = nil
31 idx = 0
32 session.each do |data|
33 if last_time and Time.parse( data[12] ) > ( last_time + 1800 )
34 idx += 1
35 end
36 data[ 3 ] = "#{ sesid }-#{ idx }"
37 last_time = Time.parse( data[12] )
38 puts data.join( "\t" )
39 end
40 end
41 end

Properties

Name Value
svn:executable *

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26