capistrano-benchmark 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +4 -0
- data/Rakefile +1 -1
- data/capistrano-benchmark.gemspec +62 -0
- data/lib/capistrano-benchmark.rb +29 -3
- metadata +83 -94
data/README.rdoc
CHANGED
@@ -29,6 +29,10 @@ If you want this to happen always, you can set this variable yourself:
|
|
29
29
|
# config/deploy.rb
|
30
30
|
set :benchmark, true
|
31
31
|
|
32
|
+
If you want to see a summarized benchmark report printed at the end:
|
33
|
+
|
34
|
+
# config/deploy.rb
|
35
|
+
after "deploy", "benchmark:report"
|
32
36
|
|
33
37
|
== Implementation notes
|
34
38
|
|
data/Rakefile
CHANGED
@@ -21,7 +21,7 @@ Jeweler::Tasks.new do |gem|
|
|
21
21
|
gem.description = %Q{Benchchmark cpaistrano-tasks like whoa}
|
22
22
|
gem.email = "josh@technicalpickles.com"
|
23
23
|
gem.authors = ["Josh Nichols"]
|
24
|
-
gem.version = "0.0.
|
24
|
+
gem.version = "0.0.2"
|
25
25
|
# dependencies defined in Gemfile
|
26
26
|
end
|
27
27
|
Jeweler::RubygemsDotOrgTasks.new
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "capistrano-benchmark"
|
8
|
+
s.version = "0.0.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Josh Nichols"]
|
12
|
+
s.date = "2013-02-24"
|
13
|
+
s.description = "Benchchmark cpaistrano-tasks like whoa"
|
14
|
+
s.email = "josh@technicalpickles.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
24
|
+
"LICENSE.txt",
|
25
|
+
"README.rdoc",
|
26
|
+
"Rakefile",
|
27
|
+
"capistrano-benchmark.gemspec",
|
28
|
+
"lib/capistrano-benchmark.rb",
|
29
|
+
"spec/capistrano-benchmark_spec.rb",
|
30
|
+
"spec/spec_helper.rb"
|
31
|
+
]
|
32
|
+
s.homepage = "http://github.com/technicalpickles/capistrano-benchmark"
|
33
|
+
s.licenses = ["MIT"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = "1.8.23"
|
36
|
+
s.summary = "Benchmark capistrano-tasks"
|
37
|
+
|
38
|
+
if s.respond_to? :specification_version then
|
39
|
+
s.specification_version = 3
|
40
|
+
|
41
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
|
+
s.add_runtime_dependency(%q<capistrano>, [">= 0"])
|
43
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
44
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
45
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
46
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
47
|
+
else
|
48
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
49
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
50
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
51
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
52
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
53
|
+
end
|
54
|
+
else
|
55
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
56
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
57
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
58
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
59
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
data/lib/capistrano-benchmark.rb
CHANGED
@@ -1,23 +1,49 @@
|
|
1
1
|
require 'benchmark'
|
2
2
|
Capistrano::Configuration.class_eval do
|
3
|
+
@@benchmarks = []
|
3
4
|
def execute_task_with_benchmarking(task)
|
4
5
|
if fetch(:benchmark, false)
|
6
|
+
name = task.fully_qualified_name
|
5
7
|
realtime = Benchmark.realtime do
|
6
8
|
execute_task_without_benchmarking(task)
|
7
9
|
end
|
10
|
+
@@benchmarks << [name,realtime]
|
8
11
|
|
9
|
-
logger.debug "Finished #{
|
12
|
+
logger.debug "Finished #{name} in #{realtime}"
|
10
13
|
else
|
11
14
|
execute_task_without_benchmarking(task)
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
18
|
+
def self.benchmarks
|
19
|
+
@@benchmarks
|
20
|
+
end
|
21
|
+
|
15
22
|
alias_method :execute_task_without_benchmarking, :execute_task
|
16
23
|
alias_method :execute_task, :execute_task_with_benchmarking
|
17
24
|
end
|
18
25
|
|
19
26
|
Capistrano::Configuration.instance.load do
|
20
|
-
|
21
|
-
|
27
|
+
namespace :benchmark do
|
28
|
+
task :default do
|
29
|
+
set :benchmark, true
|
30
|
+
end
|
31
|
+
|
32
|
+
task :report do
|
33
|
+
puts "Benchmark Report:"
|
34
|
+
benchmarks = Capistrano::Configuration.benchmarks
|
35
|
+
max = benchmarks.collect{|x| x[0]}.max_by{|a| a.length}.length
|
36
|
+
report_block = lambda do |data|
|
37
|
+
name,took = data
|
38
|
+
mins = '%.0f' % (took / 60)
|
39
|
+
secs = '%.0f' % (took % 60)
|
40
|
+
puts " %-#{max}s : %2s mins and %2s secs" % [name,mins,secs]
|
41
|
+
end
|
42
|
+
|
43
|
+
puts "Ordered by deploy sequence:"
|
44
|
+
benchmarks.each(&report_block)
|
45
|
+
puts "Ordered by slowest:"
|
46
|
+
benchmarks.sort_by {|x| x[1]}.reverse.each(&report_block)
|
47
|
+
end
|
22
48
|
end
|
23
49
|
end
|
metadata
CHANGED
@@ -1,109 +1,104 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-benchmark
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Josh Nichols
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
12
|
+
date: 2013-02-24 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: capistrano
|
24
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
33
23
|
prerelease: false
|
34
|
-
|
35
|
-
|
36
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
37
31
|
name: rspec
|
38
|
-
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
|
-
requirements:
|
34
|
+
requirements:
|
41
35
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 2
|
46
|
-
- 3
|
47
|
-
- 0
|
36
|
+
- !ruby/object:Gem::Version
|
48
37
|
version: 2.3.0
|
49
|
-
prerelease: false
|
50
|
-
requirement: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
38
|
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.3.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
53
47
|
name: bundler
|
54
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
55
49
|
none: false
|
56
|
-
requirements:
|
50
|
+
requirements:
|
57
51
|
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
hash: 23
|
60
|
-
segments:
|
61
|
-
- 1
|
62
|
-
- 0
|
63
|
-
- 0
|
52
|
+
- !ruby/object:Gem::Version
|
64
53
|
version: 1.0.0
|
65
|
-
prerelease: false
|
66
|
-
requirement: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
54
|
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
69
63
|
name: jeweler
|
70
|
-
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
71
65
|
none: false
|
72
|
-
requirements:
|
66
|
+
requirements:
|
73
67
|
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
hash: 7
|
76
|
-
segments:
|
77
|
-
- 1
|
78
|
-
- 6
|
79
|
-
- 4
|
68
|
+
- !ruby/object:Gem::Version
|
80
69
|
version: 1.6.4
|
81
|
-
prerelease: false
|
82
|
-
requirement: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
70
|
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.6.4
|
78
|
+
- !ruby/object:Gem::Dependency
|
85
79
|
name: rcov
|
86
|
-
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
87
81
|
none: false
|
88
|
-
requirements:
|
89
|
-
- -
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
92
|
-
|
93
|
-
- 0
|
94
|
-
version: "0"
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
95
87
|
prerelease: false
|
96
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
97
94
|
description: Benchchmark cpaistrano-tasks like whoa
|
98
95
|
email: josh@technicalpickles.com
|
99
96
|
executables: []
|
100
|
-
|
101
97
|
extensions: []
|
102
|
-
|
103
|
-
extra_rdoc_files:
|
98
|
+
extra_rdoc_files:
|
104
99
|
- LICENSE.txt
|
105
100
|
- README.rdoc
|
106
|
-
files:
|
101
|
+
files:
|
107
102
|
- .document
|
108
103
|
- .rspec
|
109
104
|
- Gemfile
|
@@ -111,42 +106,36 @@ files:
|
|
111
106
|
- LICENSE.txt
|
112
107
|
- README.rdoc
|
113
108
|
- Rakefile
|
109
|
+
- capistrano-benchmark.gemspec
|
114
110
|
- lib/capistrano-benchmark.rb
|
115
111
|
- spec/capistrano-benchmark_spec.rb
|
116
112
|
- spec/spec_helper.rb
|
117
|
-
has_rdoc: true
|
118
113
|
homepage: http://github.com/technicalpickles/capistrano-benchmark
|
119
|
-
licenses:
|
114
|
+
licenses:
|
120
115
|
- MIT
|
121
116
|
post_install_message:
|
122
117
|
rdoc_options: []
|
123
|
-
|
124
|
-
require_paths:
|
118
|
+
require_paths:
|
125
119
|
- lib
|
126
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
121
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
segments:
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
segments:
|
133
127
|
- 0
|
134
|
-
|
135
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
hash: 2507806162531207113
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
130
|
none: false
|
137
|
-
requirements:
|
138
|
-
- -
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
|
141
|
-
segments:
|
142
|
-
- 0
|
143
|
-
version: "0"
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
144
135
|
requirements: []
|
145
|
-
|
146
136
|
rubyforge_project:
|
147
|
-
rubygems_version: 1.
|
137
|
+
rubygems_version: 1.8.23
|
148
138
|
signing_key:
|
149
139
|
specification_version: 3
|
150
140
|
summary: Benchmark capistrano-tasks
|
151
141
|
test_files: []
|
152
|
-
|