#!/usr/bin/ruby # Author: Tony Perrie # Date: 11/19/2005 # # Description: Takes AWStats Cache Files and makes a perty graph require 'rubygems' require 'gruff' uniques_a = [] cnt=0 awsmonth = Dir.glob("/var/cache/awstats/awstats[0-1][0-9]200[0-9].txt").to_a awsmonth.sort {|x,y| (x[-8..-5] << x[-10..-9]) <=> (y[-8..-5] << y[-10..-9])}.each { |filename| year = filename[-8..-5] month = filename[-10..-9] datafile=File.open(filename) datafile.each_line { |line| if line =~ /TotalUnique [0-9]/ cols = line.scan(/[^\s]+/) uniques_a <<= cols[1].to_i break end } awdate = month << "/" << year printf "%s\n", awdate } g = Gruff::Line.new g.title = "Total Uniques for Involution.com" g.scaling(0, 110000) g.data("TotalUniques", uniques_a) g.labels = { 0 => "2002", 10 => "2003", 22 => "2004", 34 => "2005" } # g.labels = lb_a g.write('browsertotals.png') # print "ie entries -> " << ie_a.length.to_s << "\n" # print "ff entries -> " << ff_a.length.to_s << "\n"