perfmonger 0.10.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/.travis.yml +9 -8
- data/HOWTO.md +0 -1
- data/NEWS +47 -3
- data/README.md +77 -27
- data/Rakefile +20 -9
- data/core/Makefile +10 -18
- data/core/build.sh +2 -2
- data/core/perfmonger-player.go +90 -40
- data/core/perfmonger-plot-formatter.go +18 -4
- data/core/perfmonger-recorder.go +22 -2
- data/core/perfmonger-summarizer.go +20 -14
- data/core/perfmonger-viewer.go +164 -0
- data/core/subsystem/Makefile +4 -0
- data/core/subsystem/perfmonger_linux.go +95 -0
- data/core/subsystem/perfmonger_linux_test.go +40 -0
- data/core/subsystem/stat.go +70 -0
- data/core/subsystem/stat_test.go +9 -0
- data/core/subsystem/usage.go +223 -66
- data/core/subsystem/usage_test.go +62 -32
- data/{bin → exe}/perfmonger +0 -0
- data/lib/perfmonger/command/fingerprint.rb +26 -1
- data/lib/perfmonger/command/live.rb +19 -0
- data/lib/perfmonger/command/play.rb +16 -0
- data/lib/perfmonger/command/plot.rb +25 -9
- data/lib/perfmonger/command/record.rb +1 -1
- data/lib/perfmonger/command/record_option.rb +16 -0
- data/lib/perfmonger/command/server.rb +1 -1
- data/lib/perfmonger/version.rb +1 -1
- data/misc/werker-box/Dockerfile +34 -0
- data/misc/werker-box/build-push.sh +7 -0
- data/perfmonger.gemspec +2 -1
- data/spec/data/busy100.pgr.played +3 -3
- data/spec/fingerprint_spec.rb +1 -1
- data/spec/live_spec.rb +2 -3
- data/spec/perfmonger_spec.rb +1 -1
- data/spec/play_spec.rb +1 -1
- data/spec/plot_spec.rb +16 -1
- data/spec/record_spec.rb +10 -1
- data/spec/spec_helper.rb +28 -3
- data/spec/stat_spec.rb +2 -2
- data/spec/summary_spec.rb +1 -1
- data/wercker.yml +29 -16
- metadata +28 -10
data/perfmonger.gemspec
CHANGED
@@ -26,7 +26,8 @@ Gem::Specification.new do |s|
|
|
26
26
|
end
|
27
27
|
s.files += Dir.glob("lib/exec/*")
|
28
28
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
29
|
-
s.
|
29
|
+
s.bindir = "exe"
|
30
|
+
s.executables = `git ls-files -- exe/*`.split("\n").map{|f| File.basename(f)}
|
30
31
|
|
31
32
|
s.post_install_message = <<EOS
|
32
33
|
|
@@ -1,3 +1,3 @@
|
|
1
|
-
{"time":1425358686.123,"cpu":{"num_core":2,"all":{"usr":100.00,"nice":0.00,"sys":0.67,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.33,"nice":0.00,"sys":0.33,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":99.67,"nice":0.00,"sys":0.33,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":1.67,"rkbyteps":0.00,"wkbyteps":26.66,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":1.67,"rkbyteps":0.00,"wkbyteps":26.66,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":3.33,"rkbyteps":0.00,"wkbyteps":53.31,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.04,"rxpktps":0.67,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.24,"txpktps":0.67,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.04,"rxpktps":0.67,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.24,"txpktps":0.67,"txerrps":0.00,"txdropps":0.00}}}
|
2
|
-
{"time":1425358689.123,"cpu":{"num_core":2,"all":{"usr":100.50,"nice":0.00,"sys":0.33,"idle":99.17,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.33,"nice":0.00,"sys":0.33,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":100.00,"nice":0.00,"sys":0.00,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00}}}
|
3
|
-
{"time":1425358690.645,"cpu":{"num_core":2,"all":{"usr":100.65,"nice":0.00,"sys":0.00,"idle":99.35,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.65,"nice":0.00,"sys":0.65,"idle":98.70,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":100.00,"nice":0.00,"sys":0.00,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00}}}
|
1
|
+
{"time":1425358686.123,"elapsed_time":3.001,"cpu":{"num_core":2,"all":{"usr":100.00,"nice":0.00,"sys":0.67,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.33,"nice":0.00,"sys":0.33,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":99.67,"nice":0.00,"sys":0.33,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":1.67,"rkbyteps":0.00,"wkbyteps":26.66,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":1.67,"rkbyteps":0.00,"wkbyteps":26.66,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":3.33,"rkbyteps":0.00,"wkbyteps":53.31,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":32.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.04,"rxpktps":0.67,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.24,"txpktps":0.67,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.04,"rxpktps":0.67,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.24,"txpktps":0.67,"txerrps":0.00,"txdropps":0.00}}}
|
2
|
+
{"time":1425358689.123,"elapsed_time":6.001,"cpu":{"num_core":2,"all":{"usr":100.50,"nice":0.00,"sys":0.33,"idle":99.17,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.33,"nice":0.00,"sys":0.33,"idle":99.33,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":100.00,"nice":0.00,"sys":0.00,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00}}}
|
3
|
+
{"time":1425358690.645,"elapsed_time":7.524,"cpu":{"num_core":2,"all":{"usr":100.65,"nice":0.00,"sys":0.00,"idle":99.35,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},"cores":[{"usr":0.65,"nice":0.00,"sys":0.65,"idle":98.70,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00},{"usr":100.00,"nice":0.00,"sys":0.00,"idle":0.00,"iowait":0.00,"hardirq":0.00,"softirq":0.00,"steal":0.00,"guest":0.00,"guestnice":0.00}]},"disk":{"devices":["sda","sda1","sda2"],"sda":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda1":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"sda2":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00},"total":{"riops":0.00,"wiops":0.00,"rkbyteps":0.00,"wkbyteps":0.00,"rlatency":0.000,"wlatency":0.000,"rsize":0.00,"wsize":0.00,"qlen":0.00}},"net":{"devices":["eth0","lo"],"eth0":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"lo":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00},"total":{"rxkbyteps":0.00,"rxpktps":0.00,"rxerrps":0.00,"rxdropps":0.00,"txkbyteps":0.00,"txpktps":0.00,"txerrps":0.00,"txdropps":0.00}}}
|
data/spec/fingerprint_spec.rb
CHANGED
data/spec/live_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe '[live] subcommand' do
|
3
|
+
RSpec.describe '[live] subcommand' do
|
4
4
|
before(:each) do
|
5
5
|
skip_if_proc_is_not_available
|
6
6
|
end
|
@@ -9,7 +9,6 @@ describe '[live] subcommand' do
|
|
9
9
|
cmd = "#{perfmonger_bin} live --timeout 3"
|
10
10
|
run(cmd, 5)
|
11
11
|
expect(last_command_started).to be_successfully_executed
|
12
|
-
expect(last_command_started.stdout.lines.to_a.size).to eq 3
|
13
12
|
|
14
13
|
run(cmd)
|
15
14
|
last_command_started.stdout.each_line do |line|
|
@@ -21,6 +20,6 @@ describe '[live] subcommand' do
|
|
21
20
|
expect(json.keys.sort).to eq %w{time cpu disk net}.sort
|
22
21
|
end
|
23
22
|
|
24
|
-
expect("perfmonger.pgr").to be_an_existing_file
|
23
|
+
expect("perfmonger.pgr.gz").to be_an_existing_file
|
25
24
|
end
|
26
25
|
end
|
data/spec/perfmonger_spec.rb
CHANGED
data/spec/play_spec.rb
CHANGED
data/spec/plot_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
# TODO: examples for options
|
4
4
|
|
5
|
-
describe '[plot] subcommand' do
|
5
|
+
RSpec.describe '[plot] subcommand' do
|
6
6
|
let(:busy100_disk_dat) {
|
7
7
|
File.read(data_file "busy100.pgr.plot-formatted.disk.dat")
|
8
8
|
}
|
@@ -74,4 +74,19 @@ describe '[plot] subcommand' do
|
|
74
74
|
expect("disk.dat").to have_file_content busy100_disk_dat
|
75
75
|
expect("cpu.dat").to have_file_content busy100_cpu_dat
|
76
76
|
end
|
77
|
+
|
78
|
+
it "should work with --disk-only option" do
|
79
|
+
busy100 = data_file "busy100.pgr.gz"
|
80
|
+
|
81
|
+
cmd = "#{perfmonger_bin} plot --save #{busy100} --disk-only sda1"
|
82
|
+
|
83
|
+
run(cmd, 30)
|
84
|
+
|
85
|
+
expect(last_command_started).to be_successfully_executed
|
86
|
+
|
87
|
+
disk_dat = File.expand_path("disk.dat", last_command_started.working_directory)
|
88
|
+
total_write_iops = `cat #{disk_dat}|grep total -A 2|tail -n1|awk '{print $3}'`.to_f
|
89
|
+
|
90
|
+
expect(total_write_iops).to be_within(1.67).of(0.01)
|
91
|
+
end
|
77
92
|
end
|
data/spec/record_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe '[record] subcommand' do
|
3
|
+
RSpec.describe '[record] subcommand' do
|
4
4
|
before(:each) do
|
5
5
|
skip_if_proc_is_not_available
|
6
6
|
end
|
@@ -9,7 +9,16 @@ describe '[record] subcommand' do
|
|
9
9
|
cmd = "#{perfmonger_bin} record --timeout 1"
|
10
10
|
run(cmd)
|
11
11
|
expect(last_command_started).to be_successfully_executed
|
12
|
+
expect("perfmonger.pgr.gz").to be_an_existing_file # default file name
|
13
|
+
expect(last_command_started.stdout).to be_empty
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should create a non-gzipped logfile' do
|
17
|
+
cmd = "#{perfmonger_bin} record --timeout 1 --no-gzip"
|
18
|
+
run(cmd)
|
19
|
+
expect(last_command_started).to be_successfully_executed
|
12
20
|
expect("perfmonger.pgr").to be_an_existing_file # default file name
|
13
21
|
expect(last_command_started.stdout).to be_empty
|
14
22
|
end
|
23
|
+
|
15
24
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -19,15 +19,40 @@ def data_file(rel_path)
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def perfmonger_bin
|
22
|
-
File.expand_path('../../
|
22
|
+
File.expand_path('../../exe/perfmonger', __FILE__)
|
23
23
|
end
|
24
24
|
|
25
25
|
RSpec.configure do |config|
|
26
|
-
|
26
|
+
config.expect_with :rspec do |expectations|
|
27
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
28
|
+
end
|
29
|
+
|
30
|
+
config.mock_with :rspec do |mocks|
|
31
|
+
mocks.verify_partial_doubles = true
|
32
|
+
end
|
33
|
+
|
34
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
35
|
+
|
36
|
+
config.filter_run_when_matching :focus
|
37
|
+
|
38
|
+
config.example_status_persistence_file_path = "spec/examples.txt"
|
39
|
+
|
40
|
+
config.disable_monkey_patching!
|
41
|
+
|
42
|
+
config.warnings = true
|
43
|
+
|
44
|
+
if config.files_to_run.one?
|
45
|
+
config.default_formatter = "doc"
|
46
|
+
end
|
47
|
+
|
48
|
+
config.profile_examples = 10
|
49
|
+
|
50
|
+
config.order = :random
|
51
|
+
# Kernel.srand config.seed
|
27
52
|
end
|
28
53
|
|
29
54
|
def skip_if_proc_is_not_available
|
30
|
-
if ! File.
|
55
|
+
if ! File.exist?("/proc/diskstats")
|
31
56
|
skip "/proc/diskstats is not available."
|
32
57
|
end
|
33
58
|
end
|
data/spec/stat_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
|
-
describe '[stat] subcommand' do
|
4
|
+
RSpec.describe '[stat] subcommand' do
|
5
5
|
before(:each) do
|
6
6
|
skip_if_proc_is_not_available
|
7
7
|
end
|
@@ -10,6 +10,6 @@ describe '[stat] subcommand' do
|
|
10
10
|
cmd = "#{perfmonger_bin} stat -- sleep 1"
|
11
11
|
run(cmd)
|
12
12
|
expect(last_command_started).to be_successfully_executed
|
13
|
-
expect("perfmonger.pgr").to be_an_existing_file
|
13
|
+
expect("perfmonger.pgr.gz").to be_an_existing_file
|
14
14
|
end
|
15
15
|
end
|
data/spec/summary_spec.rb
CHANGED
data/wercker.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
box: hayamiz/rvm-
|
1
|
+
box: hayamiz/go-rvm:wercker-env-0.11.2
|
2
2
|
# Build definition
|
3
3
|
build:
|
4
4
|
# The steps that will be executed on build
|
@@ -6,19 +6,17 @@ build:
|
|
6
6
|
# http://devcenter.wercker.com/articles/languages/ruby.html
|
7
7
|
steps:
|
8
8
|
- script:
|
9
|
-
name:
|
9
|
+
name: prepare perfmonger go subsystem
|
10
10
|
code: |
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
source /etc/profile.d/rvm.sh
|
12
|
+
rvm use 2.4.9
|
13
|
+
rake go_get
|
14
14
|
|
15
15
|
- script:
|
16
|
-
name:
|
16
|
+
name: switch ruby to 2.4.9
|
17
17
|
code: |
|
18
|
-
|
19
|
-
|
20
|
-
- rvm-use:
|
21
|
-
version: 1.9.3-p551
|
18
|
+
source /etc/profile.d/rvm.sh
|
19
|
+
rvm use 2.4.9
|
22
20
|
- bundle-install
|
23
21
|
- script:
|
24
22
|
name: run rspec
|
@@ -26,8 +24,11 @@ build:
|
|
26
24
|
bundle exec rake clean
|
27
25
|
bundle exec rake spec
|
28
26
|
|
29
|
-
-
|
30
|
-
|
27
|
+
- script:
|
28
|
+
name: switch ruby to 2.5.7
|
29
|
+
code: |
|
30
|
+
source /etc/profile.d/rvm.sh
|
31
|
+
rvm use 2.5.7
|
31
32
|
- bundle-install
|
32
33
|
- script:
|
33
34
|
name: run rspec
|
@@ -35,8 +36,11 @@ build:
|
|
35
36
|
bundle exec rake clean
|
36
37
|
bundle exec rake spec
|
37
38
|
|
38
|
-
-
|
39
|
-
|
39
|
+
- script:
|
40
|
+
name: switch ruby to 2.6.5
|
41
|
+
code: |
|
42
|
+
source /etc/profile.d/rvm.sh
|
43
|
+
rvm use 2.6.5
|
40
44
|
- bundle-install
|
41
45
|
- script:
|
42
46
|
name: run rspec
|
@@ -44,8 +48,11 @@ build:
|
|
44
48
|
bundle exec rake clean
|
45
49
|
bundle exec rake spec
|
46
50
|
|
47
|
-
-
|
48
|
-
|
51
|
+
- script:
|
52
|
+
name: switch ruby to 2.7.0
|
53
|
+
code: |
|
54
|
+
source /etc/profile.d/rvm.sh
|
55
|
+
rvm use 2.7.0
|
49
56
|
- bundle-install
|
50
57
|
- script:
|
51
58
|
name: run rspec
|
@@ -57,3 +64,9 @@ build:
|
|
57
64
|
name: run go test
|
58
65
|
code: |
|
59
66
|
bundle exec rake test_core
|
67
|
+
after-steps:
|
68
|
+
- slack-notifier:
|
69
|
+
url: $SLACK_URL
|
70
|
+
channel: pokeme
|
71
|
+
username: werckerbot
|
72
|
+
notify_on: "failed"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: perfmonger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuto HAYAMIZU
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -99,13 +99,13 @@ files:
|
|
99
99
|
- NEWS
|
100
100
|
- README.md
|
101
101
|
- Rakefile
|
102
|
-
- bin/perfmonger
|
103
102
|
- core/Makefile
|
104
103
|
- core/build.sh
|
105
104
|
- core/perfmonger-player.go
|
106
105
|
- core/perfmonger-plot-formatter.go
|
107
106
|
- core/perfmonger-recorder.go
|
108
107
|
- core/perfmonger-summarizer.go
|
108
|
+
- core/perfmonger-viewer.go
|
109
109
|
- core/subsystem/Makefile
|
110
110
|
- core/subsystem/perfmonger.go
|
111
111
|
- core/subsystem/perfmonger_darwin.go
|
@@ -129,18 +129,17 @@ files:
|
|
129
129
|
- data/assets/js/canvasjs.js
|
130
130
|
- data/assets/js/canvasjs.min.js
|
131
131
|
- data/sysstat.ioconf
|
132
|
+
- exe/perfmonger
|
132
133
|
- lib/exec/perfmonger-player_darwin_amd64
|
133
|
-
- lib/exec/perfmonger-player_linux_386
|
134
134
|
- lib/exec/perfmonger-player_linux_amd64
|
135
135
|
- lib/exec/perfmonger-plot-formatter_darwin_amd64
|
136
|
-
- lib/exec/perfmonger-plot-formatter_linux_386
|
137
136
|
- lib/exec/perfmonger-plot-formatter_linux_amd64
|
138
137
|
- lib/exec/perfmonger-recorder_darwin_amd64
|
139
|
-
- lib/exec/perfmonger-recorder_linux_386
|
140
138
|
- lib/exec/perfmonger-recorder_linux_amd64
|
141
139
|
- lib/exec/perfmonger-summarizer_darwin_amd64
|
142
|
-
- lib/exec/perfmonger-summarizer_linux_386
|
143
140
|
- lib/exec/perfmonger-summarizer_linux_amd64
|
141
|
+
- lib/exec/perfmonger-viewer_darwin_amd64
|
142
|
+
- lib/exec/perfmonger-viewer_linux_amd64
|
144
143
|
- lib/perfmonger.rb
|
145
144
|
- lib/perfmonger/cli.rb
|
146
145
|
- lib/perfmonger/command/base_command.rb
|
@@ -163,6 +162,8 @@ files:
|
|
163
162
|
- misc/release-howto.txt
|
164
163
|
- misc/sample-cpu.png
|
165
164
|
- misc/sample-read-iops.png
|
165
|
+
- misc/werker-box/Dockerfile
|
166
|
+
- misc/werker-box/build-push.sh
|
166
167
|
- perfmonger.gemspec
|
167
168
|
- spec/data/busy100.pgr
|
168
169
|
- spec/data/busy100.pgr.gz
|
@@ -214,8 +215,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
215
|
version: '0'
|
215
216
|
requirements: []
|
216
217
|
rubyforge_project:
|
217
|
-
rubygems_version: 2.
|
218
|
+
rubygems_version: 2.7.6
|
218
219
|
signing_key:
|
219
220
|
specification_version: 4
|
220
221
|
summary: yet anothor performance measurement/monitoring tool
|
221
|
-
test_files:
|
222
|
+
test_files:
|
223
|
+
- spec/data/busy100.pgr
|
224
|
+
- spec/data/busy100.pgr.gz
|
225
|
+
- spec/data/busy100.pgr.played
|
226
|
+
- spec/data/busy100.pgr.plot-formatted.cpu.dat
|
227
|
+
- spec/data/busy100.pgr.plot-formatted.disk.dat
|
228
|
+
- spec/data/busy100.pgr.summary
|
229
|
+
- spec/data/busy100.pgr.summary.json
|
230
|
+
- spec/fingerprint_spec.rb
|
231
|
+
- spec/live_spec.rb
|
232
|
+
- spec/perfmonger_spec.rb
|
233
|
+
- spec/play_spec.rb
|
234
|
+
- spec/plot_spec.rb
|
235
|
+
- spec/record_spec.rb
|
236
|
+
- spec/spec_helper.rb
|
237
|
+
- spec/stat_spec.rb
|
238
|
+
- spec/summary_spec.rb
|
239
|
+
- spec/support/aruba.rb
|