Commit 74323bb73f69799eb94d4eb285d29b9420e538fb
- Date: Tue Apr 01 22:15:44 +0000 2008
- Committer: rubyphunk (treas@dynamicdudes.com)
- Author: rubyphunk (treas@dynamicdudes.com)
- Commit SHA1: 74323bb73f69799eb94d4eb285d29b9420e538fb
- Tree SHA1: b0b31d5a607ead769d63d7e2fe5a82ff2bfcb589
In progress.. just for transfer
Commit diff
| |   |
| 3 | 3 | |
| 4 | 4 | def start(handle) |
| 5 | 5 | @port = find_free_port |
| 6 | | @root_path = "/Users/andreas/ruby/twinity" |
| 6 | # @root_path = "/Users/andreas/ruby/twinity" |
| 7 | 7 | # @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" |
| 9 | 9 | @pid_path = @root_path + "/tmp/pids/mongrel.#{@port}.pid" |
| 10 | 10 | `/usr/bin/env mongrel_rails start -p #{@port} -e development -d -c #{@root_path} -P #{@pid_path}` |
| 11 | 11 | end |
| toggle raw diff |
--- a/lib/extensions/mongrel.rb
+++ b/lib/extensions/mongrel.rb
@@ -3,9 +3,9 @@ module Extensions
def start(handle)
@port = find_free_port
- @root_path = "/Users/andreas/ruby/twinity"
+# @root_path = "/Users/andreas/ruby/twinity"
# @root_path = "/Users/andreas/ruby/dudespectiva"
-# @root_path = "/Users/andreas/ruby/tools/dynablaster/extra/test_app"
+ @root_path = "/Users/andreas/ruby/tools/dynablaster/extra/test_app"
@pid_path = @root_path + "/tmp/pids/mongrel.#{@port}.pid"
`/usr/bin/env mongrel_rails start -p #{@port} -e development -d -c #{@root_path} -P #{@pid_path}`
end |
| |   |
| 7 | 7 | app.stats.find(:all, :conditions => {:added_to_slice => false}).each do |stat| |
| 8 | 8 | ((stat.request_end - stat.request_start) / 60).ceil.times do |t| |
| 9 | 9 | 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 |
| 11 | 11 | slice = Slice.find_or_create_by_slice_from(slice_time) |
| 12 | 12 | slice.app = app |
| 13 | | slice.increment(:concurrent_requests) |
| 13 | slice.update_attribute(:concurrent_requests, stat.find_concurrent_stats) |
| 14 | 14 | slice.slice_from = slice_time |
| 15 | 15 | slice.save |
| 16 | 16 | stat.update_attribute(:added_to_slice, true) |
| toggle raw diff |
--- a/marvin/app/models/slice.rb
+++ b/marvin/app/models/slice.rb
@@ -7,10 +7,10 @@ class Slice < ActiveRecord::Base
app.stats.find(:all, :conditions => {:added_to_slice => false}).each do |stat|
((stat.request_end - stat.request_start) / 60).ceil.times do |t|
slice_time = stat.request_start + (60 * t)
- slice_time = slice_time - slice_time.sec
+ slice_time = Time.at(slice_time) - Time.at(slice_time).sec
slice = Slice.find_or_create_by_slice_from(slice_time)
slice.app = app
- slice.increment(:concurrent_requests)
+ slice.update_attribute(:concurrent_requests, stat.find_concurrent_stats)
slice.slice_from = slice_time
slice.save
stat.update_attribute(:added_to_slice, true) |
| |   |
| 5 | 5 | return unless app |
| 6 | 6 | stat = Stat.create({ |
| 7 | 7 | :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 |
| 10 | 10 | }) |
| 11 | 11 | 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 |
| 12 | 21 | end |
| toggle raw diff |
--- a/marvin/app/models/stat.rb
+++ b/marvin/app/models/stat.rb
@@ -5,8 +5,17 @@ class Stat < ActiveRecord::Base
return unless app
stat = Stat.create({
:app => app,
- :request_start => start_time,
- :request_end => end_time
+ :request_start => start_time.to_f,
+ :request_end => end_time.to_f
})
end
+
+ def find_concurrent_stats
+ conditions = []
+ conditions << "(#{self.request_start} < request_start AND #{self.request_end} > request_end)"
+ conditions << "(#{self.request_start} > request_start AND #{self.request_end} < request_end)"
+ conditions << "(#{self.request_start} < request_start AND #{self.request_end} > request_start)"
+ conditions << "(#{self.request_start} > request_start AND #{self.request_end} > request_end)"
+ Stat.find(:all, :conditions => "id <> #{self.id} AND #{conditions.join(" OR ")}").size
+ end
end |
| |   |
| toggle raw diff |
Binary files /dev/null and b/marvin/db/development.sqlite3 differ |
| |   |
| 3 | 3 | create_table :stats do |t| |
| 4 | 4 | t.integer :app_id |
| 5 | 5 | t.boolean :added_to_slice, :default => false |
| 6 | | t.timestamp :request_start, :request_end |
| 6 | t.float :request_start, :request_end |
| 7 | 7 | end |
| 8 | 8 | end |
| 9 | 9 | |
| toggle raw diff |
--- a/marvin/db/migrate/002_create_stats.rb
+++ b/marvin/db/migrate/002_create_stats.rb
@@ -3,7 +3,7 @@ class CreateStats < ActiveRecord::Migration
create_table :stats do |t|
t.integer :app_id
t.boolean :added_to_slice, :default => false
- t.timestamp :request_start, :request_end
+ t.float :request_start, :request_end
end
end
|