yabeda-sidekiq 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56cc207100137641a1ba2cd7151f411473a003623f4316f470c9cab2734b0c46
4
- data.tar.gz: ab292a2728a35ab4ed163f9d77e4260d33944052fb384c93895fceddcdd63876
3
+ metadata.gz: 63dde1ca9f23aca58fe86e630c4cbaa48426ad3621fee5bc0b6fa5dc804d0a3d
4
+ data.tar.gz: 67ab69e2ba72d772ed577636edb12f28b06ab829c9e31ba3e18fe74f711c01f7
5
5
  SHA512:
6
- metadata.gz: 225fdd8793b40a5efc4ae7a476e90e142cf2a1b8b790d395262d76f7a7ad8f73d7f9969f7cfe7dcb87359eee272bfa9ab5dac08b7ff477961814f70daa81f676
7
- data.tar.gz: 7673942008c4c0b83d57fa681016f6b4238107f3c355165fa616191a9a6f8d339828830d3e7fff03d9f3d80e67a1f657756459d87aecd0681547ba6060b2fe7e
6
+ metadata.gz: c03295246b723eb55b6b93fa3bf0068c8306aa01ddd11915d228dba4c8d70640b961d2f63cb8448d88c130f98d3560ab6fca0cf01fb94fef00751ddf6390ea39
7
+ data.tar.gz: e010471f073e8becf98515531e2c532025cdaac64fac393fdad485074b0705964ed60e564d6b523da50b5421be14b6a3dd6838d1f228b535be5d9926d3218cee
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 0.6.0 - 2020-07-15
9
+
10
+ ### Added
11
+
12
+ - Ability to override or add tags for every job via `yabeda_tags` method. @Envek
13
+
8
14
  ## 0.5.0 - 2020-02-20
9
15
 
10
16
  ### Added
data/README.md CHANGED
@@ -42,6 +42,29 @@ end
42
42
  - Active workers count: `sidekiq_active_processes`
43
43
  - Active processes count: `sidekiq_active_workers_count`
44
44
 
45
+ ## Custom tags
46
+
47
+ You can add additional tags to these metrics by declaring `yabeda_tags` method in your worker.
48
+
49
+ ```ruby
50
+ # This block is optional but some adapters (like Prometheus) requires that all tags should be declared in advance
51
+ Yabeda.configure do
52
+ default_tag :importance, nil
53
+ end
54
+
55
+ class MyWorker
56
+ include Sidekiq::Worker
57
+
58
+ def yabeda_tags(*params) # This method will be called first, before +perform+
59
+ { importance: extract_importance(params) }
60
+ end
61
+
62
+ def perform(*params)
63
+ # Your logic here
64
+ end
65
+ end
66
+ ```
67
+
45
68
  # Roadmap (TODO or Help wanted)
46
69
 
47
70
  - Implement optional segmentation of retry/schedule/dead sets
@@ -88,7 +88,7 @@ module Yabeda
88
88
 
89
89
  class << self
90
90
  def labelize(worker, job, queue)
91
- { queue: queue, worker: worker_class(worker, job) }
91
+ { queue: queue, worker: worker_class(worker, job), **custom_tags(worker, job).to_h }
92
92
  end
93
93
 
94
94
  def worker_class(worker, job)
@@ -97,6 +97,12 @@ module Yabeda
97
97
  end
98
98
  (worker.is_a?(String) ? worker : worker.class).to_s
99
99
  end
100
+
101
+ def custom_tags(worker, job)
102
+ return {} unless worker.respond_to?(:yabeda_tags)
103
+
104
+ worker.method(:yabeda_tags).arity.zero? ? worker.yabeda_tags : worker.yabeda_tags(*job["args"])
105
+ end
100
106
  end
101
107
  end
102
108
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Yabeda
4
4
  module Sidekiq
5
- VERSION = "0.5.0"
5
+ VERSION = "0.6.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Novikov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
11
+ date: 2020-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yabeda
@@ -108,7 +108,7 @@ homepage: https://github.com/yabeda-rb/yabeda-sidekiq
108
108
  licenses:
109
109
  - MIT
110
110
  metadata: {}
111
- post_install_message:
111
+ post_install_message:
112
112
  rdoc_options: []
113
113
  require_paths:
114
114
  - lib
@@ -123,8 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  requirements: []
126
- rubygems_version: 3.0.3
127
- signing_key:
126
+ rubygems_version: 3.1.2
127
+ signing_key:
128
128
  specification_version: 4
129
129
  summary: Extensible Prometheus exporter for monitoring your Sidekiq
130
130
  test_files: []