resque-metrics 0.0.5 → 0.0.6

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fa7c797cdfa6560213452323b8342776c660999d
4
+ data.tar.gz: fb437d501c22eb5092ba201460ab8bcce56d91a5
5
+ SHA512:
6
+ metadata.gz: 60ec3b407be33f70cf96737e5334d1ce0c707f8c6c5e82314be33e66f56de8231ff905c93c23000ac91478e9d99660e4c22d5e0652310c1e76f69a68ed77feb3
7
+ data.tar.gz: d26228715c7c892779c3a09b59b126046f3743f955db5243af381aa68812393395c51b222ff7a66085179ea44652b9e1fce0aed3ff0b14522ff7aba16170d7cb
data/Gemfile CHANGED
@@ -12,6 +12,6 @@ group :development do
12
12
  gem "ruby-debug19"
13
13
  end
14
14
  gem 'minitest', '>=2'
15
- gem "bundler", "~> 1.0.0"
16
- gem "jeweler", "~> 1.6.2"
15
+ gem "bundler"
16
+ gem "jeweler"
17
17
  end
data/Gemfile.lock CHANGED
@@ -1,21 +1,49 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ addressable (2.3.5)
4
5
  archive-tar-minitar (0.5.2)
6
+ builder (3.2.2)
5
7
  columnize (0.3.4)
6
- git (1.2.5)
7
- jeweler (1.6.4)
8
- bundler (~> 1.0)
8
+ faraday (0.7.6)
9
+ addressable (~> 2.2)
10
+ multipart-post (~> 1.1)
11
+ rack (~> 1.1)
12
+ git (1.2.6)
13
+ github_api (0.4.10)
14
+ faraday (~> 0.7.6)
15
+ hashie (~> 1.2.0)
16
+ multi_json (~> 1.0)
17
+ oauth2 (~> 0.5.2)
18
+ hashie (1.2.0)
19
+ highline (1.6.20)
20
+ jeweler (2.0.1)
21
+ builder
22
+ bundler (>= 1.0)
9
23
  git (>= 1.2.5)
24
+ github_api
25
+ highline (>= 1.6.15)
26
+ nokogiri (>= 1.5.10)
10
27
  rake
28
+ rdoc
29
+ json (1.8.1)
11
30
  linecache19 (0.5.12)
12
31
  ruby_core_source (>= 0.1.4)
32
+ mini_portile (0.5.2)
13
33
  minitest (2.8.0)
14
34
  multi_json (1.0.3)
35
+ multipart-post (1.2.0)
36
+ nokogiri (1.6.1)
37
+ mini_portile (~> 0.5.0)
38
+ oauth2 (0.5.2)
39
+ faraday (~> 0.7)
40
+ multi_json (~> 1.0)
15
41
  rack (1.3.5)
16
42
  rack-protection (1.1.4)
17
43
  rack
18
- rake (0.9.2.2)
44
+ rake (10.1.1)
45
+ rdoc (4.1.1)
46
+ json (~> 1.4)
19
47
  redis (2.2.2)
20
48
  redis-namespace (1.0.3)
21
49
  redis (< 3.0.0)
@@ -46,8 +74,8 @@ PLATFORMS
46
74
  ruby
47
75
 
48
76
  DEPENDENCIES
49
- bundler (~> 1.0.0)
50
- jeweler (~> 1.6.2)
77
+ bundler
78
+ jeweler
51
79
  minitest (>= 2)
52
80
  resque (~> 1.19)
53
81
  ruby-debug19
data/Rakefile CHANGED
@@ -37,13 +37,3 @@ Rake::TestTask.new(:test) do |test|
37
37
  end
38
38
 
39
39
  task :default => :test
40
-
41
- require 'rake/rdoctask'
42
- Rake::RDocTask.new do |rdoc|
43
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
-
45
- rdoc.rdoc_dir = 'rdoc'
46
- rdoc.title = "resque-metrics #{version}"
47
- rdoc.rdoc_files.include('README*')
48
- rdoc.rdoc_files.include('lib/**/*.rb')
49
- end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -3,8 +3,6 @@ require 'resque'
3
3
  module Resque
4
4
  module Metrics
5
5
 
6
- VERSION = '0.0.1'
7
-
8
6
  def self.extended(klass)
9
7
  klass.extend(Hooks)
10
8
  end
@@ -13,6 +11,14 @@ module Resque
13
11
  ::Resque.redis
14
12
  end
15
13
 
14
+ def self.use_multi=(multi)
15
+ @_use_multi = multi
16
+ end
17
+
18
+ def self.use_multi?
19
+ @_use_multi
20
+ end
21
+
16
22
  def self.watch_fork
17
23
  ::Resque.before_fork = before_fork
18
24
  ::Resque.after_fork = after_fork
@@ -68,7 +74,7 @@ module Resque
68
74
  def self.record_job_fork(job, time)
69
75
  job_class = job.payload_class
70
76
  queue = job.queue
71
- redis.multi do
77
+ multi do
72
78
  increment_metric "fork_time", time
73
79
  increment_metric "fork_time:queue:#{queue}", time
74
80
  increment_metric "fork_time:job:#{job_class}", time
@@ -89,7 +95,7 @@ module Resque
89
95
  increment_metric "enqueue_count:queue:#{queue}"
90
96
 
91
97
  size = Resque.encode(args).length
92
- redis.multi do
98
+ multi do
93
99
  increment_metric "payload_size", size
94
100
  increment_metric "payload_size:queue:#{queue}", size
95
101
  increment_metric "payload_size:job:#{job_class}", size
@@ -103,7 +109,7 @@ module Resque
103
109
 
104
110
  def self.record_job_completion(job_class, time)
105
111
  queue = Resque.queue_from_class(job_class)
106
- redis.multi do
112
+ multi do
107
113
  increment_metric "job_time", time
108
114
  increment_metric "job_time:queue:#{queue}", time
109
115
  increment_metric "job_time:job:#{job_class}", time
@@ -117,6 +123,10 @@ module Resque
117
123
  run_callback(:on_job_complete, job_class, queue, time)
118
124
  end
119
125
 
126
+ def self.multi(&block)
127
+ use_multi? ? redis.multi(&block) : yield
128
+ end
129
+
120
130
  def self.increment_metric(metric, by = 1)
121
131
  redis.incrby("_metrics_:#{metric}", by)
122
132
  end
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: resque-metrics 0.0.6 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "resque-metrics"
8
- s.version = "0.0.5"
9
+ s.version = "0.0.6"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Aaron Quint"]
12
- s.date = "2012-11-28"
14
+ s.date = "2014-02-12"
13
15
  s.description = "A simple Resque plugin that times and saves some simple metrics for Resque jobs back into redis. Based on this system\nyou could build some simple auto-scaling mechanism based on the speed and ETA of queues. Also includes a hook/callback\nmechanism for recording/sending the metrics to your favorite tool (AKA statsd/graphite).\n"
14
16
  s.email = "aaron@quirkey.com"
15
17
  s.extra_rdoc_files = [
@@ -33,32 +35,31 @@ Gem::Specification.new do |s|
33
35
  ]
34
36
  s.homepage = "http://github.com/quirkey/resque-metrics"
35
37
  s.licenses = ["MIT"]
36
- s.require_paths = ["lib"]
37
- s.rubygems_version = "1.8.23"
38
+ s.rubygems_version = "2.2.1"
38
39
  s.summary = "A Resque plugin for recording simple metrics for your jobs"
39
40
 
40
41
  if s.respond_to? :specification_version then
41
- s.specification_version = 3
42
+ s.specification_version = 4
42
43
 
43
44
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
45
  s.add_runtime_dependency(%q<resque>, ["~> 1.19"])
45
46
  s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
46
47
  s.add_development_dependency(%q<minitest>, [">= 2"])
47
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
48
+ s.add_development_dependency(%q<bundler>, [">= 0"])
49
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
49
50
  else
50
51
  s.add_dependency(%q<resque>, ["~> 1.19"])
51
52
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
52
53
  s.add_dependency(%q<minitest>, [">= 2"])
53
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
54
- s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
54
+ s.add_dependency(%q<bundler>, [">= 0"])
55
+ s.add_dependency(%q<jeweler>, [">= 0"])
55
56
  end
56
57
  else
57
58
  s.add_dependency(%q<resque>, ["~> 1.19"])
58
59
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
59
60
  s.add_dependency(%q<minitest>, [">= 2"])
60
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
61
- s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
61
+ s.add_dependency(%q<bundler>, [">= 0"])
62
+ s.add_dependency(%q<jeweler>, [">= 0"])
62
63
  end
63
64
  end
64
65
 
metadata CHANGED
@@ -1,105 +1,89 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Aaron Quint
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-28 00:00:00.000000000 Z
11
+ date: 2014-02-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: resque
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.19'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.19'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: ruby-debug19
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: minitest
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '2'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '2'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: bundler
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
- version: 1.0.0
61
+ version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
- version: 1.0.0
68
+ version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: jeweler
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
- version: 1.6.2
75
+ version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
- version: 1.6.2
94
- description: ! 'A simple Resque plugin that times and saves some simple metrics for
95
- Resque jobs back into redis. Based on this system
96
-
97
- you could build some simple auto-scaling mechanism based on the speed and ETA of
98
- queues. Also includes a hook/callback
99
-
82
+ version: '0'
83
+ description: |
84
+ A simple Resque plugin that times and saves some simple metrics for Resque jobs back into redis. Based on this system
85
+ you could build some simple auto-scaling mechanism based on the speed and ETA of queues. Also includes a hook/callback
100
86
  mechanism for recording/sending the metrics to your favorite tool (AKA statsd/graphite).
101
-
102
- '
103
87
  email: aaron@quirkey.com
104
88
  executables: []
105
89
  extensions: []
@@ -107,7 +91,7 @@ extra_rdoc_files:
107
91
  - LICENSE.txt
108
92
  - README.rdoc
109
93
  files:
110
- - .document
94
+ - ".document"
111
95
  - Gemfile
112
96
  - Gemfile.lock
113
97
  - LICENSE.txt
@@ -123,29 +107,25 @@ files:
123
107
  homepage: http://github.com/quirkey/resque-metrics
124
108
  licenses:
125
109
  - MIT
110
+ metadata: {}
126
111
  post_install_message:
127
112
  rdoc_options: []
128
113
  require_paths:
129
114
  - lib
130
115
  required_ruby_version: !ruby/object:Gem::Requirement
131
- none: false
132
116
  requirements:
133
- - - ! '>='
117
+ - - ">="
134
118
  - !ruby/object:Gem::Version
135
119
  version: '0'
136
- segments:
137
- - 0
138
- hash: -517852637179208795
139
120
  required_rubygems_version: !ruby/object:Gem::Requirement
140
- none: false
141
121
  requirements:
142
- - - ! '>='
122
+ - - ">="
143
123
  - !ruby/object:Gem::Version
144
124
  version: '0'
145
125
  requirements: []
146
126
  rubyforge_project:
147
- rubygems_version: 1.8.23
127
+ rubygems_version: 2.2.1
148
128
  signing_key:
149
- specification_version: 3
129
+ specification_version: 4
150
130
  summary: A Resque plugin for recording simple metrics for your jobs
151
131
  test_files: []