bench_bloc 0.1.15 → 0.1.16
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/lib/bench_bloc/bloc/bloc_task.rb +9 -1
- data/lib/bench_bloc/logger/logger.rb +24 -4
- data/lib/bench_bloc/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bc2d40432e563a798ff8e707b0679e4214a0d68854c5664448db2bce001a6ec
|
4
|
+
data.tar.gz: 3779f500f195ca5dac4bf3e0f062ae9e91e4e2a16b16a8c040eb6af3a2183f43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 592cc3deeb482b9dd00dc44f68e9f77fcdf58b077f7d57f5b3d12b2c64840d333948519ad9dcd3159a9f66180eb505dcc7768468eaa7b952ec1c36c30de3e62a
|
7
|
+
data.tar.gz: b3b8dc8d85967cd8b2c4e0924c73b07ad7afc41adaebed6eb968b047eb99ba8f12a09e650ff2d24dc8e38ccf490cfc7f60045a4e5248490b819f1e86fbda4703
|
@@ -30,7 +30,9 @@ module BenchBloc
|
|
30
30
|
def run_benchmark
|
31
31
|
Benchmark.bm do |x|
|
32
32
|
[to_profile.call].flatten.each do |otp|
|
33
|
-
|
33
|
+
new_label = label.call(otp)
|
34
|
+
set_db_logger
|
35
|
+
x.report(new_label) do
|
34
36
|
profile.call(otp)
|
35
37
|
end
|
36
38
|
end
|
@@ -52,6 +54,12 @@ module BenchBloc
|
|
52
54
|
@to_profile = bloc_task[:to_profile]
|
53
55
|
@ruby_prof = bloc_task[:ruby_prof] || false
|
54
56
|
end
|
57
|
+
|
58
|
+
def set_db_logger
|
59
|
+
if defined?(Rails)
|
60
|
+
ActiveRecord::Base.logger = ::Logger.new("#{Rails.root}/log/bench_bloc_#{Time.now}_db_queries.log")
|
61
|
+
end
|
62
|
+
end
|
55
63
|
end
|
56
64
|
|
57
65
|
end
|
@@ -9,15 +9,15 @@ module BenchBloc
|
|
9
9
|
# TODO: Split into a BenchmarkLogger class
|
10
10
|
def log_results
|
11
11
|
results.sort! { |a, b| b.real <=> a.real }
|
12
|
-
formatted_results =
|
12
|
+
formatted_results =
|
13
13
|
BenchBloc::Formatter::Benchmark.new(results, title).format_results
|
14
14
|
write_to_log formatted_results
|
15
15
|
end
|
16
16
|
|
17
17
|
def write_to_log results
|
18
|
-
if defined?(Rails)
|
19
|
-
# Rails Logger not working, naming conflict I think,
|
20
|
-
# or it needs to be required
|
18
|
+
if defined?(Rails)
|
19
|
+
# Rails Logger not working, naming conflict I think,
|
20
|
+
# or it needs to be required
|
21
21
|
# log = Rails::Logger.new("#{Rails.root}/log/benchmarks.log")
|
22
22
|
# log.info(results)
|
23
23
|
f = File.new("#{Rails.root}/log/benchmarks.log", "w")
|
@@ -26,8 +26,28 @@ module BenchBloc
|
|
26
26
|
else
|
27
27
|
f = File.new("benchmarks.log", "w")
|
28
28
|
f.puts(results)
|
29
|
+
f.puts(parse_db_logger)
|
29
30
|
f.close
|
30
31
|
end
|
31
32
|
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def parse_db_logger
|
37
|
+
if defined?(Rails)
|
38
|
+
log_data = File.read("#{Rails.root}/log/db-queries.log").split("\n")
|
39
|
+
base_aggregator = {
|
40
|
+
SELECT: 0,
|
41
|
+
INSERT: 0,
|
42
|
+
UPDATE: 0,
|
43
|
+
DELETE: 0
|
44
|
+
}
|
45
|
+
query_data = log_data.reduce(base_aggregator) do |agg, ld|
|
46
|
+
sql_verb = ld[/SELECT|INSERT|UPDATE|DELETE/]
|
47
|
+
agg[sql_verb.to_sym] += 1 if sql_verb.present?
|
48
|
+
agg
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
32
52
|
end
|
33
53
|
end
|
data/lib/bench_bloc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bench_bloc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|