benchmark_driver-output-gruff 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/benchmark_driver-output-gruff.gemspec +2 -2
- data/lib/benchmark_driver/output/gruff.rb +16 -15
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5e7e4f7317c05682b7d36bbfec1809c8112c254
|
4
|
+
data.tar.gz: 675d51dfcbb37d8e0097a92d027674e7fd845f01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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<
|
8
|
-
# @param [Array<
|
9
|
-
|
10
|
-
|
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(
|
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
|
-
|
30
|
-
|
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 =
|
33
|
-
g.labels = Hash[
|
34
|
-
g.data job.name,
|
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 =
|
40
|
+
jobs = job_context_result.keys
|
38
41
|
g.labels = Hash[jobs.map.with_index { |job, index| [index, job.name] }]
|
39
|
-
@
|
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
|
-
|
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.
|
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.
|
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.
|
26
|
+
version: 0.12.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: gruff
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|