Commit 74323bb73f69799eb94d4eb285d29b9420e538fb

In progress.. just for transfer

Commit diff

lib/extensions/mongrel.rb

 
33
44 def start(handle)
55 @port = find_free_port
6 @root_path = "/Users/andreas/ruby/twinity"
6# @root_path = "/Users/andreas/ruby/twinity"
77# @root_path = "/Users/andreas/ruby/dudespectiva"
8# @root_path = "/Users/andreas/ruby/tools/dynablaster/extra/test_app"
8 @root_path = "/Users/andreas/ruby/tools/dynablaster/extra/test_app"
99 @pid_path = @root_path + "/tmp/pids/mongrel.#{@port}.pid"
1010 `/usr/bin/env mongrel_rails start -p #{@port} -e development -d -c #{@root_path} -P #{@pid_path}`
1111 end
toggle raw diff

marvin/app/models/slice.rb

 
77 app.stats.find(:all, :conditions => {:added_to_slice => false}).each do |stat|
88 ((stat.request_end - stat.request_start) / 60).ceil.times do |t|
99 slice_time = stat.request_start + (60 * t)
10 slice_time = slice_time - slice_time.sec
10 slice_time = Time.at(slice_time) - Time.at(slice_time).sec
1111 slice = Slice.find_or_create_by_slice_from(slice_time)
1212 slice.app = app
13 slice.increment(:concurrent_requests)
13 slice.update_attribute(:concurrent_requests, stat.find_concurrent_stats)
1414 slice.slice_from = slice_time
1515 slice.save
1616 stat.update_attribute(:added_to_slice, true)
toggle raw diff

marvin/app/models/stat.rb

 
55 return unless app
66 stat = Stat.create({
77 :app => app,
8 :request_start => start_time,
9 :request_end => end_time
8 :request_start => start_time.to_f,
9 :request_end => end_time.to_f
1010 })
1111 end
12
13 def find_concurrent_stats
14 conditions = []
15 conditions << "(#{self.request_start} < request_start AND #{self.request_end} > request_end)"
16 conditions << "(#{self.request_start} > request_start AND #{self.request_end} < request_end)"
17 conditions << "(#{self.request_start} < request_start AND #{self.request_end} > request_start)"
18 conditions << "(#{self.request_start} > request_start AND #{self.request_end} > request_end)"
19 Stat.find(:all, :conditions => "id <> #{self.id} AND #{conditions.join(" OR ")}").size
20 end
1221end
toggle raw diff

marvin/db/development.sqlite3

 
toggle raw diff

marvin/db/migrate/002_create_stats.rb

 
33 create_table :stats do |t|
44 t.integer :app_id
55 t.boolean :added_to_slice, :default => false
6 t.timestamp :request_start, :request_end
6 t.float :request_start, :request_end
77 end
88 end
99
toggle raw diff