benchmark_driver-output-gruff 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ea4dd89d1d465b1d6c12e47132d2e3a5dd6e4d1
4
- data.tar.gz: 4d7ebef3ee1718032b6c8de4f9e8d6a406232066
3
+ metadata.gz: e5e7e4f7317c05682b7d36bbfec1809c8112c254
4
+ data.tar.gz: 675d51dfcbb37d8e0097a92d027674e7fd845f01
5
5
  SHA512:
6
- metadata.gz: c48a3fe0653fb56f3ef914ef024984d99342b9bf3ca04e0a990e3e7d0d8edd4e8162c4e57da5bda47997bb4c87117d58f0d98815045f33a6cfd2372f0362d5cf
7
- data.tar.gz: 6176005cf5c2b9b2c1947f2ca59e0fc6645e779c61567a6270c3eaf225127c1016d786f04553ca576f339b161e7b401d46534640c949bac6916cda00a283f218
6
+ metadata.gz: 3bd7f956359aeab3db8e9acf958a24de882d4e009ced79b07824e1dde576e38de5784feaf5332b2fb3e8d94bd5c7c1b6fb78bec02ffcd95b7dc59e6067a51be0
7
+ data.tar.gz: c2c6ed77ea7ee42af440bee67efaf6cf2c5fc0b50b67172d93b648c4d63035b990551030baee37dd9a774b42ef4482bc2e07e531615b664b131f8edfdc3a79c8
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "benchmark_driver-output-gruff"
7
- spec.version = "0.2.0"
7
+ spec.version = "0.3.0"
8
8
  spec.authors = ["Takashi Kokubun"]
9
9
  spec.email = ["takashikkbn@gmail.com"]
10
10
 
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_dependency "benchmark_driver", ">= 0.11.1"
23
+ spec.add_dependency "benchmark_driver", ">= 0.12.0"
24
24
  spec.add_dependency "gruff"
25
25
  spec.add_development_dependency "bundler", "~> 1.16"
26
26
  spec.add_development_dependency "rake", "~> 10.0"
@@ -4,15 +4,17 @@ require 'benchmark_driver'
4
4
  class BenchmarkDriver::Output::Gruff < BenchmarkDriver::BulkOutput
5
5
  GRAPH_PATH = 'graph.png'
6
6
 
7
- # @param [Array<String>] job_names
8
- # @param [Array<String>] context_names
9
- def initialize(job_names:, context_names:)
10
- @context_names = context_names
7
+ # @param [Array<BenchmarkDriver::Metric>] metrics
8
+ # @param [Array<BenchmarkDriver::Job>] jobs
9
+ # @param [Array<BenchmarkDriver::Context>] contexts
10
+ def initialize(contexts:, **)
11
+ super
12
+ @contexts = contexts
11
13
  end
12
14
 
13
15
  # @param [Hash{ BenchmarkDriver::Job => Hash{ BenchmarkDriver::Context => { BenchmarkDriver::Metric => Float } } }] result
14
16
  # @param [Array<BenchmarkDriver::Metric>] metrics
15
- def bulk_output(result:, metrics:)
17
+ def bulk_output(job_context_result:, metrics:)
16
18
  print "rendering graph..."
17
19
  g = Gruff::SideBar.new
18
20
  g.theme = {
@@ -26,21 +28,20 @@ class BenchmarkDriver::Output::Gruff < BenchmarkDriver::BulkOutput
26
28
  g.legend_font_size = 10.0
27
29
  g.marker_font_size = 14.0
28
30
  g.minimum_value = 0
29
- g.maximum_value = (result.values.map(&:values).flatten.map(&:values).flatten.max * 1.2).to_i
30
- if result.keys.size == 1
31
+ results = job_context_result.values.map(&:values).flatten
32
+ g.maximum_value = (results.map(&:values).map(&:values).flatten.max * 1.2).to_i
33
+ if job_context_result.keys.size == 1
31
34
  # Use Ruby version for base axis
32
- job = result.keys.first
33
- g.labels = Hash[result[job].keys.map.with_index { |context, index| [index, context.name] } ]
34
- g.data job.name, result[job].map { |_, metric_value| metric_value[metric] }
35
+ job = job_context_result.keys.first
36
+ g.labels = Hash[job_context_result[job].keys.map.with_index { |context, index| [index, context.name] }]
37
+ g.data job.name, job_context_result[job].values.map { |result| result.values.fetch(metric) }
35
38
  else
36
39
  # Use benchmark name for base axis, use different colors for different Ruby versions
37
- jobs = result.keys
40
+ jobs = job_context_result.keys
38
41
  g.labels = Hash[jobs.map.with_index { |job, index| [index, job.name] }]
39
- @context_names.each do |context_name|
40
- context = @result[jobs.first].keys.find { |c| c.name == context_name }
42
+ @contexts.each do |context|
41
43
  g.data context.executable.description, jobs.map { |job|
42
- _, metric_value = @result[job].find { |context, _| context.name == context_name }
43
- metric_value[metric]
44
+ job_context_result[job][context].values.fetch(metric)
44
45
  }
45
46
  end
46
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: benchmark_driver-output-gruff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.11.1
19
+ version: 0.12.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.11.1
26
+ version: 0.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gruff
29
29
  requirement: !ruby/object:Gem::Requirement