yabeda-sidekiq 0.7.0 → 0.8.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: 660902666ec22bdc3a244a45bd15ac3a67b8dc2d13cd703c779453e689002b93
4
- data.tar.gz: 5b45a914f585959fceceda65d95a72bf6415f9e6a3bb889f54243ac8f887adec
3
+ metadata.gz: 68116758a02a4497a4eda56cac585a5afcfac8902e880d1c061c70f952898ed0
4
+ data.tar.gz: 599d85f03c0a5cc8ef87c78db670337263cc1eecb4dd14ee0925aa0862b07e12
5
5
  SHA512:
6
- metadata.gz: 22be4dea939719b79f230d80ddcf38269cc476d3cf51c6664938b5bab6e93e2e924dbebcdcbcbd9dde59e0822f28c33a58b83be483015dad9ed32000cb9fceeb
7
- data.tar.gz: 3d3c314d83b3943fcbd5d110f44826abbad4beb50c61120f5f26d33c398cc02bf970c36a6272143f3ae27dd9adfc73f42e69f898460461f952519bb8de9a768f
6
+ metadata.gz: f86db733e71ce0b21e1997714124d55cb97774d3076e9d2c5d7b2a014f741973d185b92bcd3fc7eb34e57d1ee5de6a696266129663557a327f424b8eda308d30
7
+ data.tar.gz: ebfb0e1814c4e9b31f0fb130028fb764b8014688a0c70add91e04282d57de545dd32de37bcfa42d266d7defb081e016060007e90ce61908443234fcdcff557ba
@@ -0,0 +1,82 @@
1
+ name: Build and release gem to RubyGems
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ with:
14
+ fetch-depth: 0 # Fetch current tag as annotated. See https://github.com/actions/checkout/issues/290
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 2.7
18
+ - name: "Extract data from tag: version, message, body"
19
+ id: tag
20
+ run: |
21
+ git fetch --tags --force # Really fetch annotated tag. See https://github.com/actions/checkout/issues/290#issuecomment-680260080
22
+ echo ::set-output name=version::${GITHUB_REF#refs/tags/v}
23
+ echo ::set-output name=subject::$(git for-each-ref $GITHUB_REF --format='%(contents:subject)')
24
+ BODY="$(git for-each-ref $GITHUB_REF --format='%(contents:body)')"
25
+ # Extract changelog entries between this and previous version headers
26
+ escaped_version=$(echo ${GITHUB_REF#refs/tags/v} | sed -e 's/[]\/$*.^[]/\\&/g')
27
+ changelog=$(awk "BEGIN{inrelease=0} /## ${escaped_version}/{inrelease=1;next} /## [0-9]+\.[0-9]+\.[0-9]+/{inrelease=0;exit} {if (inrelease) print}" CHANGELOG.md)
28
+ # Multiline body for release. See https://github.community/t/set-output-truncates-multiline-strings/16852/5
29
+ BODY="${BODY}"$'\n'"${changelog}"
30
+ BODY="${BODY//'%'/'%25'}"
31
+ BODY="${BODY//$'\n'/'%0A'}"
32
+ BODY="${BODY//$'\r'/'%0D'}"
33
+ echo "::set-output name=body::$BODY"
34
+ # Add pre-release option if tag name has any suffix after vMAJOR.MINOR.PATCH
35
+ if [[ ${GITHUB_REF#refs/tags/} =~ ^v[0-9]+\.[0-9]+\.[0-9]+.+ ]]; then
36
+ echo ::set-output name=prerelease::true
37
+ fi
38
+ - name: Build gem
39
+ run: gem build
40
+ - name: Calculate checksums
41
+ run: sha256sum yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem > SHA256SUM
42
+ - name: Check version
43
+ run: ls -l yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem
44
+ - name: Create Release
45
+ id: create_release
46
+ uses: actions/create-release@v1
47
+ env:
48
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49
+ with:
50
+ tag_name: ${{ github.ref }}
51
+ release_name: ${{ steps.tag.outputs.subject }}
52
+ body: ${{ steps.tag.outputs.body }}
53
+ draft: false
54
+ prerelease: ${{ steps.tag.outputs.prerelease }}
55
+ - name: Upload built gem as release asset
56
+ uses: actions/upload-release-asset@v1
57
+ env:
58
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
+ with:
60
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
61
+ asset_path: yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem
62
+ asset_name: yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem
63
+ asset_content_type: application/x-tar
64
+ - name: Upload checksums as release asset
65
+ uses: actions/upload-release-asset@v1
66
+ env:
67
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68
+ with:
69
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
70
+ asset_path: SHA256SUM
71
+ asset_name: SHA256SUM
72
+ asset_content_type: text/plain
73
+ - name: Publish to GitHub packages
74
+ env:
75
+ GEM_HOST_API_KEY: Bearer ${{ secrets.GITHUB_TOKEN }}
76
+ run: |
77
+ gem push yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem --host https://rubygems.pkg.github.com/${{ github.repository_owner }}
78
+ - name: Publish to RubyGems
79
+ env:
80
+ GEM_HOST_API_KEY: "${{ secrets.RUBYGEMS_API_KEY }}"
81
+ run: |
82
+ gem push yabeda-sidekiq-${{ steps.tag.outputs.version }}.gem
@@ -0,0 +1,47 @@
1
+ name: Run tests
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - '**'
8
+ tags-ignore:
9
+ - 'v*'
10
+
11
+ jobs:
12
+ test:
13
+ name: "Run tests"
14
+ if: "!contains(github.event.head_commit.message, '[ci skip]')"
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ include:
20
+ - ruby: 3.0
21
+ - ruby: 2.7
22
+ - ruby: 2.6
23
+ - ruby: 2.5
24
+ container:
25
+ image: ruby:${{ matrix.ruby }}
26
+ env:
27
+ CI: true
28
+ steps:
29
+ - uses: actions/checkout@v2
30
+ - uses: actions/cache@v2
31
+ with:
32
+ path: vendor/bundle
33
+ key: bundle-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}-${{ hashFiles('**/Gemfile') }}
34
+ restore-keys: |
35
+ bundle-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}-${{ hashFiles('**/Gemfile') }}
36
+ bundle-${{ matrix.ruby }}-
37
+ - name: Upgrade Bundler to 2.0 (for older Rubies)
38
+ run: gem install bundler -v '~> 2.0'
39
+ - name: Bundle install
40
+ run: |
41
+ bundle config path vendor/bundle
42
+ bundle install
43
+ bundle update
44
+ - name: Run Rubocop
45
+ run: bundle exec rubocop
46
+ - name: Run RSpec
47
+ run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@ 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
+ ## Unreleased
9
+
10
+ ## 0.8.0 - 2021-05-12
11
+
12
+ ### Added
13
+
14
+ - `sidekiq_running_job_runtime` metric that tracks maximum runtime of currently running jobs. It may be useful for detection of hung jobs. See [#17](https://github.com/yabeda-rb/yabeda-sidekiq/pull/17). [@dsalahutdinov], [@Envek]
15
+
16
+ - Setting `collect_cluster_metrics` allowing to force enable or disable collection of global (whole Sidekiq installaction-wide) metrics. See [#20](https://github.com/yabeda-rb/yabeda-sidekiq/pull/20). [@mrexox]
17
+
18
+ By default all sidekiq worker processes (servers) collects global metrics about whole Sidekiq installation.
19
+ Client processes (everything else that is not Sidekiq worker) by default doesn't.
20
+
21
+ With this config you can override this behavior:
22
+ - force disable if you don't want multiple Sidekiq workers to report the same numbers (that causes excess load to both Redis and monitoring)
23
+ - force enable if you want non-Sidekiq process to collect them (like dedicated metric exporter process)
24
+
8
25
  ## 0.7.0 - 2020-07-15
9
26
 
10
27
  ### Changed
@@ -61,5 +78,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
61
78
 
62
79
  - Initial release of evil-metrics-sidekiq gem. @Envek
63
80
 
81
+ [@Envek]: https://github.com/Envek "Andrey Novikov"
64
82
  [@dsalahutdinov]: https://github.com/dsalahutdinov "Salahutdinov Dmitry"
65
83
  [@asusikov]: https://github.com/asusikov "Alexander Susikov"
84
+ [@mrexox]: https://github.com/mrexox "Valentine Kiselev"
data/README.md CHANGED
@@ -37,18 +37,30 @@ end
37
37
 
38
38
  ## Metrics
39
39
 
40
+ ### Local per-process metrics
41
+
42
+ Metrics representing state of current Sidekiq worker process and stats of executed or executing jobs:
43
+
40
44
  - Total number of executed jobs: `sidekiq_jobs_executed_total` - (segmented by queue and class name)
41
45
  - Number of jobs have been finished successfully: `sidekiq_jobs_success_total` (segmented by queue and class name)
42
46
  - Number of jobs have been failed: `sidekiq_jobs_failed_total` (segmented by queue and class name)
43
47
  - Time of job run: `sidekiq_job_runtime` (seconds per job execution, segmented by queue and class name)
44
- - Time of the queue latency `sidekiq_queue_latency` (the difference in seconds since the oldest job in the queue was enqueued)
45
48
  - Time of the job latency `sidekiq_job_latency` (the difference in seconds since the enqueuing until running job)
49
+ - Maximum runtime of currently executing jobs: `sidekiq_running_job_runtime` (useful for detection of hung jobs, segmented by queue and class name)
50
+
51
+ ### Global cluster-wide metrics
52
+
53
+ Metrics representing state of the whole Sidekiq installation (queues, processes, etc):
54
+
46
55
  - Number of jobs in queues: `sidekiq_jobs_waiting_count` (segmented by queue)
56
+ - Time of the queue latency `sidekiq_queue_latency` (the difference in seconds since the oldest job in the queue was enqueued)
47
57
  - Number of scheduled jobs:`sidekiq_jobs_scheduled_count`
48
58
  - Number of jobs in retry set: `sidekiq_jobs_retry_count`
49
59
  - Number of jobs in dead set (“morgue”): `sidekiq_jobs_dead_count`
50
- - Active workers count: `sidekiq_active_processes`
51
- - Active processes count: `sidekiq_active_workers_count`
60
+ - Active processes count: `sidekiq_active_processes`
61
+ - Active servers count: `sidekiq_active_workers_count`
62
+
63
+ By default all sidekiq worker processes (servers) collects global metrics about whole Sidekiq installation. This can be overridden by setting `collect_cluster_metrics` config key to `true` for non-Sidekiq processes or to `false` for Sidekiq processes (e.g. by setting `YABEDA_SIDEKIQ_COLLECT_CLUSTER_METRICS` env variable to `no`, see other methods in [anyway_config] docs).
52
64
 
53
65
  ## Custom tags
54
66
 
@@ -73,6 +85,14 @@ class MyWorker
73
85
  end
74
86
  ```
75
87
 
88
+ ## Configuration
89
+
90
+ Configuration is handled by [anyway_config] gem. With it you can load settings from environment variables (upcased and prefixed with `YABEDA_SIDEKIQ_`), YAML files, and other sources. See [anyway_config] docs for details.
91
+
92
+ Config key | Type | Default | Description |
93
+ ------------------------- | -------- | ------------------------------------------------------- | ----------- |
94
+ `collect_cluster_metrics` | boolean | Enabled in Sidekiq worker processes, disabled otherwise | Defines whether this Ruby process should collect and expose metrics representing state of the whole Sidekiq installation (queues, processes, etc). |
95
+
76
96
  # Roadmap (TODO or Help wanted)
77
97
 
78
98
  - Implement optional segmentation of retry/schedule/dead sets
@@ -91,6 +111,38 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
91
111
 
92
112
  Bug reports and pull requests are welcome on GitHub at https://github.com/yabeda-rb/yabeda-sidekiq.
93
113
 
114
+ ### Releasing
115
+
116
+ 1. Bump version number in `lib/yabeda/sidekiq/version.rb`
117
+
118
+ In case of pre-releases keep in mind [rubygems/rubygems#3086](https://github.com/rubygems/rubygems/issues/3086) and check version with command like `Gem::Version.new(Yabeda::Sidekiq::VERSION).to_s`
119
+
120
+ 2. Fill `CHANGELOG.md` with missing changes, add header with version and date.
121
+
122
+ 3. Make a commit:
123
+
124
+ ```sh
125
+ git add lib/yabeda/sidekiq/version.rb CHANGELOG.md
126
+ version=$(ruby -r ./lib/yabeda/sidekiq/version.rb -e "puts Gem::Version.new(Yabeda::Sidekiq::VERSION)")
127
+ git commit --message="${version}: " --edit
128
+ ```
129
+
130
+ 4. Create annotated tag:
131
+
132
+ ```sh
133
+ git tag v${version} --annotate --message="${version}: " --edit --sign
134
+ ```
135
+
136
+ 5. Fill version name into subject line and (optionally) some description (list of changes will be taken from changelog and appended automatically)
137
+
138
+ 6. Push it:
139
+
140
+ ```sh
141
+ git push --follow-tags
142
+ ```
143
+
144
+ 7. GitHub Actions will create a new release, build and push gem into RubyGems! You're done!
145
+
94
146
  ## License
95
147
 
96
148
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -98,3 +150,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
98
150
  [Sidekiq]: https://github.com/mperham/sidekiq/ "Simple, efficient background processing for Ruby"
99
151
  [yabeda]: https://github.com/yabeda-rb/yabeda
100
152
  [yabeda-prometheus]: https://github.com/yabeda-rb/yabeda-prometheus
153
+ [anyway_config]: https://github.com/palkan/anyway_config "Configuration library for Ruby gems and applications"
@@ -7,6 +7,7 @@ require "yabeda"
7
7
  require "yabeda/sidekiq/version"
8
8
  require "yabeda/sidekiq/client_middleware"
9
9
  require "yabeda/sidekiq/server_middleware"
10
+ require "yabeda/sidekiq/config"
10
11
 
11
12
  module Yabeda
12
13
  module Sidekiq
@@ -16,34 +17,47 @@ module Yabeda
16
17
  ].freeze
17
18
 
18
19
  Yabeda.configure do
20
+ config = Config.new
21
+
19
22
  group :sidekiq
20
23
 
21
24
  counter :jobs_enqueued_total, tags: %i[queue worker], comment: "A counter of the total number of jobs sidekiq enqueued."
22
25
 
23
- next unless ::Sidekiq.server?
24
-
25
- counter :jobs_executed_total, tags: %i[queue worker], comment: "A counter of the total number of jobs sidekiq executed."
26
- counter :jobs_success_total, tags: %i[queue worker], comment: "A counter of the total number of jobs successfully processed by sidekiq."
27
- counter :jobs_failed_total, tags: %i[queue worker], comment: "A counter of the total number of jobs failed in sidekiq."
28
-
29
- gauge :jobs_waiting_count, tags: %i[queue], comment: "The number of jobs waiting to process in sidekiq."
30
- gauge :active_workers_count, tags: [], comment: "The number of currently running machines with sidekiq workers."
31
- gauge :jobs_scheduled_count, tags: [], comment: "The number of jobs scheduled for later execution."
32
- gauge :jobs_retry_count, tags: [], comment: "The number of failed jobs waiting to be retried"
33
- gauge :jobs_dead_count, tags: [], comment: "The number of jobs exceeded their retry count."
34
- gauge :active_processes, tags: [], comment: "The number of active Sidekiq worker processes."
35
- gauge :queue_latency, tags: %i[queue], comment: "The queue latency, the difference in seconds since the oldest job in the queue was enqueued"
36
-
37
- histogram :job_latency, comment: "The job latency, the difference in seconds between enqueued and running time",
38
- unit: :seconds, per: :job,
39
- tags: %i[queue worker],
40
- buckets: LONG_RUNNING_JOB_RUNTIME_BUCKETS
41
- histogram :job_runtime, comment: "A histogram of the job execution time.",
42
- unit: :seconds, per: :job,
43
- tags: %i[queue worker],
44
- buckets: LONG_RUNNING_JOB_RUNTIME_BUCKETS
26
+ if ::Sidekiq.server?
27
+ counter :jobs_executed_total, tags: %i[queue worker], comment: "A counter of the total number of jobs sidekiq executed."
28
+ counter :jobs_success_total, tags: %i[queue worker], comment: "A counter of the total number of jobs successfully processed by sidekiq."
29
+ counter :jobs_failed_total, tags: %i[queue worker], comment: "A counter of the total number of jobs failed in sidekiq."
30
+
31
+ gauge :running_job_runtime, tags: %i[queue worker], aggregation: :max, unit: :seconds,
32
+ comment: "How long currently running jobs are running (useful for detection of hung jobs)"
33
+
34
+ histogram :job_latency, comment: "The job latency, the difference in seconds between enqueued and running time",
35
+ unit: :seconds, per: :job,
36
+ tags: %i[queue worker],
37
+ buckets: LONG_RUNNING_JOB_RUNTIME_BUCKETS
38
+ histogram :job_runtime, comment: "A histogram of the job execution time.",
39
+ unit: :seconds, per: :job,
40
+ tags: %i[queue worker],
41
+ buckets: LONG_RUNNING_JOB_RUNTIME_BUCKETS
42
+ end
43
+
44
+ # Metrics not specific for current Sidekiq process, but representing state of the whole Sidekiq installation (queues, processes, etc)
45
+ # You can opt-out from collecting these by setting YABEDA_SIDEKIQ_COLLECT_CLUSTER_METRICS to falsy value (+no+ or +false+)
46
+ if config.collect_cluster_metrics # defaults to +::Sidekiq.server?+
47
+ gauge :jobs_waiting_count, tags: %i[queue], comment: "The number of jobs waiting to process in sidekiq."
48
+ gauge :active_workers_count, tags: [], comment: "The number of currently running machines with sidekiq workers."
49
+ gauge :jobs_scheduled_count, tags: [], comment: "The number of jobs scheduled for later execution."
50
+ gauge :jobs_retry_count, tags: [], comment: "The number of failed jobs waiting to be retried"
51
+ gauge :jobs_dead_count, tags: [], comment: "The number of jobs exceeded their retry count."
52
+ gauge :active_processes, tags: [], comment: "The number of active Sidekiq worker processes."
53
+ gauge :queue_latency, tags: %i[queue], comment: "The queue latency, the difference in seconds since the oldest job in the queue was enqueued"
54
+ end
45
55
 
46
56
  collect do
57
+ Yabeda::Sidekiq.track_max_job_runtime if ::Sidekiq.server?
58
+
59
+ next unless config.collect_cluster_metrics
60
+
47
61
  stats = ::Sidekiq::Stats.new
48
62
 
49
63
  stats.queues.each do |k, v|
@@ -105,6 +119,22 @@ module Yabeda
105
119
 
106
120
  worker.method(:yabeda_tags).arity.zero? ? worker.yabeda_tags : worker.yabeda_tags(*job["args"])
107
121
  end
122
+
123
+ # Hash of hashes containing all currently running jobs' start timestamps
124
+ # to calculate maximum durations of currently running not yet completed jobs
125
+ # { { queue: "default", worker: "SomeJob" } => { "jid1" => 100500, "jid2" => 424242 } }
126
+ attr_accessor :jobs_started_at
127
+
128
+ def track_max_job_runtime
129
+ now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
130
+ ::Yabeda::Sidekiq.jobs_started_at.each do |labels, jobs|
131
+ oldest_job_started_at = jobs.values.min
132
+ oldest_job_duration = oldest_job_started_at ? (now - oldest_job_started_at).round(3) : 0
133
+ Yabeda.sidekiq.running_job_runtime.set(labels, oldest_job_duration)
134
+ end
135
+ end
108
136
  end
137
+
138
+ self.jobs_started_at = Concurrent::Hash.new { |hash, key| hash[key] = Concurrent::Hash.new }
109
139
  end
110
140
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "anyway"
4
+
5
+ module Yabeda
6
+ module Sidekiq
7
+ class Config < ::Anyway::Config
8
+ config_name :yabeda_sidekiq
9
+
10
+ # By default all sidekiq worker processes (servers) collects global metrics about whole Sidekiq installation.
11
+ # Client processes (everything else that is not Sidekiq worker) by default doesn't.
12
+ # With this config you can override this behavior:
13
+ # - force disable if you don't want multiple Sidekiq workers to report the same numbers (that causes excess load to both Redis and monitoring)
14
+ # - force enable if you want non-Sidekiq process to collect them (like dedicated metric exporter process)
15
+ attr_config collect_cluster_metrics: ::Sidekiq.server?
16
+ end
17
+ end
18
+ end
@@ -12,6 +12,7 @@ module Yabeda
12
12
  begin
13
13
  job_instance = ::Sidekiq::Job.new(job)
14
14
  Yabeda.sidekiq_job_latency.measure(labels, job_instance.latency)
15
+ Yabeda::Sidekiq.jobs_started_at[labels][job["jid"]] = start
15
16
  Yabeda.with_tags(**custom_tags) do
16
17
  yield
17
18
  end
@@ -22,6 +23,7 @@ module Yabeda
22
23
  ensure
23
24
  Yabeda.sidekiq_job_runtime.measure(labels, elapsed(start))
24
25
  Yabeda.sidekiq_jobs_executed_total.increment(labels)
26
+ Yabeda::Sidekiq.jobs_started_at[labels].delete(job["jid"])
25
27
  end
26
28
  end
27
29
  # rubocop: enable Metrics/AbcSize, Metrics/MethodLength:
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Yabeda
4
4
  module Sidekiq
5
- VERSION = "0.7.0"
5
+ VERSION = "0.8.0"
6
6
  end
7
7
  end
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
+ spec.add_dependency "anyway_config", ">= 1.3", "< 3"
25
26
  spec.add_dependency "sidekiq"
26
27
  spec.add_dependency "yabeda", "~> 0.6"
27
28
 
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Novikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-21 00:00:00.000000000 Z
11
+ date: 2021-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: anyway_config
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.3'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: sidekiq
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -102,10 +122,11 @@ executables: []
102
122
  extensions: []
103
123
  extra_rdoc_files: []
104
124
  files:
125
+ - ".github/workflows/build-release.yml"
126
+ - ".github/workflows/test.yml"
105
127
  - ".gitignore"
106
128
  - ".rspec"
107
129
  - ".rubocop.yml"
108
- - ".travis.yml"
109
130
  - CHANGELOG.md
110
131
  - Gemfile
111
132
  - LICENSE.txt
@@ -115,6 +136,7 @@ files:
115
136
  - bin/setup
116
137
  - lib/yabeda/sidekiq.rb
117
138
  - lib/yabeda/sidekiq/client_middleware.rb
139
+ - lib/yabeda/sidekiq/config.rb
118
140
  - lib/yabeda/sidekiq/server_middleware.rb
119
141
  - lib/yabeda/sidekiq/version.rb
120
142
  - yabeda-sidekiq.gemspec
@@ -137,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
159
  - !ruby/object:Gem::Version
138
160
  version: '0'
139
161
  requirements: []
140
- rubygems_version: 3.1.2
162
+ rubygems_version: 3.1.6
141
163
  signing_key:
142
164
  specification_version: 4
143
165
  summary: Extensible Prometheus exporter for monitoring your Sidekiq
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.7.1
5
- - 2.6.6
6
- - 2.5.8
7
- before_install: gem install bundler -v '~> 2.0'