sidekiq-benchmark 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZThkMDFhZjE3ZThiNmZiMzcyYzNlYTczYmNkNDk5M2UzM2JjMmExZQ==
5
- data.tar.gz: !binary |-
6
- OTNiNGJkMzZlNjhkMDU0NDJkZGNhNTEwN2FiNDg2MWZmYmExNTY0Zg==
3
+ metadata.gz: 4c14f4a4df0d3176c7471258d3a7c40eb89bcd98
4
+ data.tar.gz: 892130faabd2c956cf6727d1c17a760169da3ce3
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NTQzY2QxODYxNjQwMDUwNTQ5NGFlMGM5NzFhY2U1MTk2NDQ5NGJkOGNlYzBj
10
- MTQwZTg3NjdiZjlhMTQ5MjY5NGE5Zjk1MDA3ZmQxYjFjYjBkZTZiZWMxZmIy
11
- Yjk5MGIzMzMwMmY1NWVhMTMxNzk1MWU2NTU1YmQwOTE2NDUxNTQ=
12
- data.tar.gz: !binary |-
13
- NmE3OTY0ZGUxMDcyMTc3Yjk2YzkyYmYwYjdhOGQ3YWNkMDNlNTgyNDIxZTkz
14
- OTA2ZGIzMDk2ZjBlZTAyNDQ0YjVmNDFhNDc4MzhjNTFlMGU3MTQwZGIxYjI1
15
- NGM4NjcyODg2ZGY4ZDFhOTU2YWIwMmY3YTEyODQ4M2ZkNDFmMjg=
6
+ metadata.gz: a6d232bd0fa047ba153567e2fcee693a0ce3cb5916b73db8bae107502f65605e8d6a3fa222a96ef9d14c2a5f4e3625495aea55a92d89db0793eb1703c8335e60
7
+ data.tar.gz: 31231c0ee739b0380359a4d58b5a9e9a4cf2c46fa32095f1d33f46c80b6ec9056d1072ea69b71b5e0e329a5e2e057e7217988a3116cd6e3df0f042f9e3027eb2
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.swo
3
3
  *.gem
4
4
  *.rbc
5
+ .ruby-version
5
6
  .bundle
6
7
  .config
7
8
  .yardoc
@@ -1,7 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
- - 2.0.0
5
- - 2.1.0
4
+ - 2.1.1
6
5
  services:
7
6
  - redis-server
data/README.md CHANGED
@@ -55,6 +55,10 @@ class OtherSampleWorker
55
55
  bm.other_metric do
56
56
  something_code
57
57
  end
58
+
59
+ bm.some_metric do
60
+ # some_metric measure continues
61
+ end
58
62
  end
59
63
  # if block given, yield and finish
60
64
  end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module Benchmark
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
5
5
  end
@@ -41,8 +41,10 @@ module Sidekiq
41
41
  def measure(name)
42
42
  t0 = Time.now
43
43
  ret = yield
44
+ t1 = Time.now
44
45
 
45
- self[name] = Time.now - t0
46
+ self[name] ||= 0.0
47
+ self[name] += t1 - t0
46
48
 
47
49
  ret
48
50
  end
@@ -27,4 +27,5 @@ Gem::Specification.new do |gem|
27
27
  gem.add_development_dependency "rack-test"
28
28
  gem.add_development_dependency "minitest", "~> 5"
29
29
  gem.add_development_dependency "coveralls"
30
+ gem.add_development_dependency 'delorean', '~> 2.1'
30
31
  end
@@ -24,6 +24,13 @@ module Sidekiq
24
24
  metrics[:assigned_metric].must_equal @worker.assigned_metric
25
25
  end
26
26
 
27
+ it 'should add up metrics' do
28
+ worker = ContinuingWorkerMock.new
29
+ metrics = worker.benchmark.metrics
30
+
31
+ assert_in_delta metrics[:continued_metric], 2, 0.2
32
+ end
33
+
27
34
  it "should save metrics to redis" do
28
35
  Sidekiq.redis do |conn|
29
36
  total_time = conn.hget("#{@worker.benchmark.redis_key}:total", :job_time)
@@ -1,11 +1,11 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/pride'
3
+
1
4
  require 'coveralls'
2
5
  Coveralls.wear! do
3
6
  add_filter '/test/'
4
7
  end
5
8
 
6
- require 'minitest/autorun'
7
- require 'minitest/pride'
8
-
9
9
  require 'bundler/setup'
10
10
  require 'rack/test'
11
11
 
@@ -13,6 +13,8 @@ require 'sidekiq'
13
13
  require 'sidekiq/util'
14
14
  require 'sidekiq-benchmark'
15
15
 
16
+ require 'delorean'
17
+
16
18
  REDIS = Sidekiq::RedisConnection.create url: "redis://localhost/15", namespace: "testy"
17
19
 
18
20
  Bundler.require
@@ -35,9 +37,8 @@ module Sidekiq
35
37
  bm.test_metric do
36
38
  2.times do |i|
37
39
  bm.send("nested_test_metric_#{i}") do
38
- 100500.times do |j|
39
- @counter += 1
40
- end
40
+ Delorean.jump 1
41
+ @counter += 100500
41
42
  end
42
43
  end
43
44
  end
@@ -52,13 +53,11 @@ module Sidekiq
52
53
  class AlterWorkerMock < WorkerMock
53
54
  def initialize
54
55
  benchmark.test_metric do
55
- 42.times do
56
- end
56
+ Delorean.jump 1
57
57
  end
58
58
 
59
59
  benchmark.other_metric do
60
- 100500.times do
61
- end
60
+ Delorean.jump 1
62
61
  end
63
62
 
64
63
  @metric_names = [:test_metric, :other_metric]
@@ -73,6 +72,20 @@ module Sidekiq
73
72
  end
74
73
  end
75
74
 
75
+ class ContinuingWorkerMock < WorkerMock
76
+ def initialize
77
+ benchmark do |bm|
78
+ bm.continued_metric do
79
+ Delorean.jump 1
80
+ end
81
+
82
+ bm.continued_metric do
83
+ Delorean.jump 1
84
+ end
85
+ end
86
+ end
87
+ end
88
+
76
89
  def self.flush_db
77
90
  Sidekiq.redis = REDIS
78
91
  Sidekiq.redis do |conn|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-benchmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Kosmatov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chartkick
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: delorean
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: '2.1'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '2.1'
125
139
  description: Benchmarks for Sidekiq
126
140
  email:
127
141
  - key@kosmatov.ru