yabeda-sidekiq 0.5.0 → 0.6.0

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
  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: []