sidekiq-benchmark 0.4.0 → 0.4.1

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 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