author | Marcel Hlopko <marcel@hlopko.com> |
Tue, 17 Nov 2015 15:05:38 +0100 | |
changeset 306 | 8050d8d3681f |
parent 303 | ce55fabc46a0 |
permissions | -rw-r--r-- |
44 | 1 |
class BenchmarkResult < ActiveRecord::Base |
2 |
||
108 | 3 |
belongs_to :benchmark_info, inverse_of: :benchmark_results |
4 |
belongs_to :benchmark_batch, inverse_of: :benchmark_results |
|
5 |
has_many :benchmark_durations, dependent: :destroy, inverse_of: :benchmark_result |
|
177
8e7f0029550d
Support for parameters in web app.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
157
diff
changeset
|
6 |
has_many :benchmark_parameters, dependent: :destroy, inverse_of: :benchmark_result |
8e7f0029550d
Support for parameters in web app.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
157
diff
changeset
|
7 |
|
68 | 8 |
def average_duration |
9 |
sum = benchmark_durations.inject(0) { |acc, val| acc += val.duration } |
|
10 |
sum / benchmark_durations.size |
|
11 |
end |
|
12 |
||
70
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
13 |
def min_duration |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
14 |
benchmark_durations.map { |duration| duration.duration }.min |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
15 |
end |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
16 |
|
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
17 |
def max_duration |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
18 |
benchmark_durations.map { |duration| duration.duration }.max |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
19 |
end |
e9c892b1c82b
nicer tables, useless graph removed
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
68
diff
changeset
|
20 |
|
133
bef72dea1e7e
Initial Rickshaw experiments
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
110
diff
changeset
|
21 |
def to_json |
233
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
22 |
{ timestamp: performed_at.to_i, value: min_duration } |
133
bef72dea1e7e
Initial Rickshaw experiments
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
110
diff
changeset
|
23 |
end |
bef72dea1e7e
Initial Rickshaw experiments
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
110
diff
changeset
|
24 |
|
157
91374e0a6062
migrate compare charts to rickshaw
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
156
diff
changeset
|
25 |
def performed_at |
91374e0a6062
migrate compare charts to rickshaw
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
156
diff
changeset
|
26 |
benchmark_batch.performed_at |
91374e0a6062
migrate compare charts to rickshaw
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
156
diff
changeset
|
27 |
end |
91374e0a6062
migrate compare charts to rickshaw
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
156
diff
changeset
|
28 |
|
303
ce55fabc46a0
Optimize ResultsController#configuration_results
Marcel Hlopko <marcel@hlopko.com>
parents:
237
diff
changeset
|
29 |
def benchmark_name |
ce55fabc46a0
Optimize ResultsController#configuration_results
Marcel Hlopko <marcel@hlopko.com>
parents:
237
diff
changeset
|
30 |
benchmark_info.name |
ce55fabc46a0
Optimize ResultsController#configuration_results
Marcel Hlopko <marcel@hlopko.com>
parents:
237
diff
changeset
|
31 |
end |
ce55fabc46a0
Optimize ResultsController#configuration_results
Marcel Hlopko <marcel@hlopko.com>
parents:
237
diff
changeset
|
32 |
|
178 | 33 |
def benchmark_parameters_json |
34 |
JSON.generate(benchmark_parameters.collect { |p| p.to_json } ) |
|
35 |
end |
|
36 |
||
233
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
37 |
end |
133
bef72dea1e7e
Initial Rickshaw experiments
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
110
diff
changeset
|
38 |
|
233
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
39 |
# == Schema Information |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
40 |
# |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
41 |
# Table name: benchmark_results |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
42 |
# |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
43 |
# id :integer not null, primary key |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
44 |
# benchmark_info_id :integer |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
45 |
# created_at :datetime |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
46 |
# updated_at :datetime |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
47 |
# benchmark_batch_id :integer |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
48 |
# |
67d68cf6356c
Fix n+1 on results/configurations/:id
Marcel Hlopko <marcel@hlopko.com>
parents:
231
diff
changeset
|
49 |