vinted-resque-metrics 0.0.9 → 0.0.11

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73195eb6742bfda14f028c14bd649ba39d655b6e
4
- data.tar.gz: 9d62fd17a960a456328cc8d314bbd06d8e6549c9
3
+ metadata.gz: f8f42e1e9a49a03fc261d95a4cd2accc527e3787
4
+ data.tar.gz: 1ded893cb6028293b4705ca763936b4ed5d93bb4
5
5
  SHA512:
6
- metadata.gz: 8316ad9a9120cda254d0a016eb1586f8169f87c8d65e82c60d0176e83b80fdacd4722df893411c50a3be454f5f072febb399ca9024dc3a165239fee36fca4505
7
- data.tar.gz: 7c265c7c692e6a45a645f6dc58ebce7a3e788864a6bbaaafbe7de3db1b66364268e68f2792d9396fedf609b7c760c9009af30f5bbd27883925ecd294f771e897
6
+ metadata.gz: 2398dc2a46f9a0512ba4986144016d37de009487b33aa8a88478fedde6baa2e22982b2364238ebd5790c987b7279c7686631617151851304124fe6511dc71138
7
+ data.tar.gz: da92809652719dd962419390ac1c9f4606d902de6b2cf7dc088360179623973f150c1665a3d70e3036479140ed3da4a216118252090c0e9dce4d7b1215d42a69
@@ -25,6 +25,13 @@ module Resque
25
25
  redis.get("_metrics_:#{metric}").to_i
26
26
  end
27
27
 
28
+ def register_job(job)
29
+ redis.sadd('_metrics_:known_jobs', job)
30
+ end
31
+
32
+ def known_jobs
33
+ redis.smembers('_metrics_:known_jobs')
34
+ end
28
35
  end
29
36
  end
30
37
  end
@@ -62,3 +62,24 @@
62
62
  </tr>
63
63
  </tbody>
64
64
  </table>
65
+
66
+ <h2>Individual job metrics</h2>
67
+
68
+ <table class="queues">
69
+ <tbody>
70
+ <tr>
71
+ <th>Job</th>
72
+ <th>Jobs completed</th>
73
+ <th>Jobs failed</th>
74
+ </tr>
75
+
76
+ <% Resque::Metrics.known_jobs.each do |job| %>
77
+ <tr>
78
+ <td class="queue"><%= job %></td>
79
+ <td class="size"><%= Resque::Metrics.total_job_count_by_job(job) %></td>
80
+ <td class="size"><%= Resque::Metrics.failed_job_count_by_job(job) %></td>
81
+ <td class="size"><%= metrics_formatted_ms(Resque::Metrics.avg_job_time_by_job(job)) %></td>
82
+ </tr>
83
+ <% end %>
84
+ </tbody>
85
+ </table>
@@ -143,6 +143,7 @@ module Resque
143
143
  increment_metric "enqueue_count"
144
144
  increment_metric "enqueue_count:job:#{job_class}"
145
145
  increment_metric "enqueue_count:queue:#{queue}"
146
+ run_first_backend(:register_job, job_class)
146
147
 
147
148
  size = Resque.encode(args).length
148
149
  multi do
@@ -175,13 +176,13 @@ module Resque
175
176
 
176
177
  def self.record_job_failure(job_class, e)
177
178
  queue = Resque.queue_from_class(job_class)
178
-
179
+
179
180
  multi do
180
181
  increment_metric "failed_job_count"
181
182
  increment_metric "failed_job_count:queue:#{queue}"
182
183
  increment_metric "failed_job_count:job:#{job_class}"
183
184
  end
184
-
185
+
185
186
  run_callback(:on_job_failure, job_class, queue)
186
187
  end
187
188
 
@@ -201,6 +202,10 @@ module Resque
201
202
  run_backends(:set_avg, metric, num, total)
202
203
  end
203
204
 
205
+ def self.known_jobs
206
+ run_first_backend(:known_jobs)
207
+ end
208
+
204
209
  def self.get_metric(metric)
205
210
  run_first_backend(:get_metric, metric)
206
211
  end
@@ -6,7 +6,7 @@
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "vinted-resque-metrics"
9
- s.version = "0.0.9"
9
+ s.version = "0.0.11"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vinted-resque-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Quint