yabeda-prometheus 0.1.5 → 0.6.2

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: cf7f044078d39963972005e5dab30c8fa8d908ca9b1d667ce60fc36295e7fb91
4
- data.tar.gz: bd89b7fa736a501e417345951c642d601af60dd537a8c03a80a11678990e61d1
3
+ metadata.gz: ec39031cd5a8edd3f8ab3badfac7568683e2d15dd84eb2adfacd0953af9a4f1b
4
+ data.tar.gz: 68e2c9f81ab756ff009ce0d3e638cf6391fe7e7d9a02ee482857843462db66a7
5
5
  SHA512:
6
- metadata.gz: 2caa793706298308666cd8355eb8a04d7b56fd810fbd6ca57705246845e1cc229ce664fd70c284147fe998cf1e464580c7743af8e7aec28d569ec1f9a42c8fe8
7
- data.tar.gz: 8fcf2724292390d4115c2872c4bc1de2fc2f6d5435a9fb6a26eec06444b6b3a4428cee18fbf8cb7b4af14a61e175fc0aea9e46f9639acfc268259a1396496526
6
+ metadata.gz: 267557ee543e48873693cfb61c31e1e535f75c0947355f3d613aac372b132848b481a5aa03fe9d1f0c2709b34482df189dd28a18039d84023384ee61016b6d52
7
+ data.tar.gz: f32dfd90a9814d1eef154cb36486029467d22792cd21d63dc57f9bc3028f87d2f4d939429d58a75fb6fc8e5cffd5d3d56aaa0da2f663e868c3c6d8e3c8e4be25
@@ -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-prometheus-${{ steps.tag.outputs.version }}.gem > SHA256SUM
42
+ - name: Check version
43
+ run: ls -l yabeda-prometheus-${{ 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-prometheus-${{ steps.tag.outputs.version }}.gem
62
+ asset_name: yabeda-prometheus-${{ 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-prometheus-${{ 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-prometheus-${{ steps.tag.outputs.version }}.gem
@@ -0,0 +1,45 @@
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 RSpec
45
+ run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -5,6 +5,48 @@ 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.1 - 2020-04-28
9
+
10
+ ### Changed
11
+
12
+ - Fixed issue with Push Gateway require. [#13](https://github.com/yabeda-rb/yabeda-prometheus/pull/13) by [@baarkerlounger].
13
+ - Fixed possible issue with rack absense in non-web applications. Declared it as a dependency. [@Envek]
14
+
15
+ ## 0.6.0 - 2020-04-15
16
+
17
+ ### Changed
18
+
19
+ - Relaxed version constraints for prometheus-client as [v2.0.0](https://github.com/prometheus/client_ruby/releases/tag/v2.0.0) doesn't break APIs. @Envek
20
+
21
+ ## 0.5.0 - 2020-01-29
22
+
23
+ ### Added
24
+
25
+ - Support for metric aggregation when prometheus-client's Direct File Store is used. @Envek
26
+
27
+ See https://github.com/prometheus/client_ruby#aggregation-settings-for-multi-process-stores for details.
28
+
29
+ ## 0.2.0 - 2020-01-14
30
+
31
+ ### Changed
32
+
33
+ - Support for new versions of the official prometheus-client gem. @Envek
34
+
35
+ It is now required to specify not only comments, but also `tags` option for all metrics as prometheus-client now enforces this.
36
+
37
+ Support for specifying tags for metrics was added to yabeda 0.2.
38
+
39
+ ### Removed
40
+
41
+ - Removed support for old versions of the official prometheus-client gem. @Envek
42
+
43
+ Due to incompatible changes in official client API
44
+
45
+ - Removed support for prometheus-client-mmap gem. @Envek
46
+
47
+ Support for multiprocess servers is now included in official Prometheus ruby client.
48
+
49
+
8
50
  ## 0.1.5 - 2019-10-15
9
51
 
10
52
  ### Fixed
@@ -64,4 +106,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
64
106
 
65
107
  - Initial release of evil-metrics-prometheus gem. @Envek
66
108
 
109
+ [@Envek]: https://github.com/Envek "Andrey Novikov"
67
110
  [@alexander37137]: https://github.com/alexander37137 "Alexander Andreev"
111
+ [@baarkerlounger]: https://github.com/baarkerlounger "Daniel Baark"
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Yabeda::[Prometheus]
1
+ # ![`Yabeda::Prometheus`](./yabeda-prometheus-logo.png)
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/yabeda-prometheus.svg)](https://rubygems.org/gems/yabeda-prometheus)
4
4
 
@@ -16,10 +16,9 @@ Adapter for easy exporting your collected metrics from your application to the [
16
16
 
17
17
  ## Installation
18
18
 
19
- Add this lines to your application's Gemfile:
19
+ Add this line to your application's Gemfile:
20
20
 
21
21
  ```ruby
22
- gem 'prometheus-client' # Or 'prometheus-client-mmap' if you need multi-process support
23
22
  gem 'yabeda-prometheus'
24
23
  ```
25
24
 
@@ -63,6 +62,30 @@ And then execute:
63
62
 
64
63
  Address of push gateway is configured with `PROMETHEUS_PUSH_GATEWAY` env variable.
65
64
 
65
+
66
+ ## Multi-process server support
67
+
68
+ To use Unicorn or Puma in clustered mode, you'll want to set up underlying prometheus-client gem to use `DirectFileStore`, which aggregates metrics across the processes.
69
+
70
+ ```ruby
71
+ Prometheus::Client.config.data_store = Prometheus::Client::DataStores::DirectFileStore.new(dir: '/tmp/prometheus_direct_file_store')
72
+ ```
73
+
74
+ See more information at [prometheus-client README](https://github.com/prometheus/client_ruby#data-stores).
75
+
76
+ ### Aggregation settings
77
+
78
+ You can specify aggregation policy in gauges declaration:
79
+
80
+ ```ruby
81
+ group :some do
82
+ gauge :tasks do
83
+ comment "Number of test tasks"
84
+ aggregation :max
85
+ end
86
+ end
87
+ ```
88
+
66
89
  ## Development
67
90
 
68
91
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -73,6 +96,38 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
73
96
 
74
97
  Bug reports and pull requests are welcome on GitHub at https://github.com/yabeda-rb/yabeda-prometheus.
75
98
 
99
+ ### Releasing
100
+
101
+ 1. Bump version number in `lib/yabeda/prometheus/version.rb`
102
+
103
+ 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::Prometheus::VERSION).to_s`
104
+
105
+ 2. Fill `CHANGELOG.md` with missing changes, add header with version and date.
106
+
107
+ 3. Make a commit:
108
+
109
+ ```sh
110
+ git add lib/yabeda/prometheus/version.rb CHANGELOG.md
111
+ version=$(ruby -r ./lib/yabeda/prometheus/version.rb -e "puts Gem::Version.new(Yabeda::Prometheus::VERSION)")
112
+ git commit --message="${version}: " --edit
113
+ ```
114
+
115
+ 4. Create annotated tag:
116
+
117
+ ```sh
118
+ git tag v${version} --annotate --message="${version}: " --edit --sign
119
+ ```
120
+
121
+ 5. Fill version name into subject line and (optionally) some description (list of changes will be taken from changelog and appended automatically)
122
+
123
+ 6. Push it:
124
+
125
+ ```sh
126
+ git push --follow-tags
127
+ ```
128
+
129
+ 7. GitHub Actions will create a new release, build and push gem into RubyGems! You're done!
130
+
76
131
  ## License
77
132
 
78
133
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "yabeda"
4
4
  require "prometheus/client"
5
+ require "prometheus/client/push"
5
6
  require "yabeda/prometheus/version"
6
7
  require "yabeda/prometheus/adapter"
7
8
  require "yabeda/prometheus/exporter"
@@ -1,40 +1,76 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "prometheus/client"
4
+ require 'prometheus/client/data_stores/direct_file_store'
5
+ require 'prometheus/client/data_stores/single_threaded'
4
6
  require "yabeda/base_adapter"
5
7
 
6
8
  module Yabeda
7
9
  class Prometheus::Adapter < BaseAdapter
10
+ class UndeclaredMetricTags < RuntimeError
11
+ attr_reader :message
12
+
13
+ def initialize(metric_name, caused_exception)
14
+ @message = <<~MESSAGE.strip
15
+ Prometheus requires all used tags to be declared at metric registration time. \
16
+ Please add `tags` option to the declaration of metric `#{metric_name}`. \
17
+ Error: #{caused_exception.message}
18
+ MESSAGE
19
+ end
20
+ end
21
+
8
22
  def registry
9
23
  @registry ||= ::Prometheus::Client.registry
10
24
  end
11
25
 
12
26
  def register_counter!(metric)
13
27
  validate_metric!(metric)
14
- registry.counter(build_name(metric), metric.comment)
28
+ registry.counter(
29
+ build_name(metric),
30
+ docstring: metric.comment,
31
+ labels: Array(metric.tags),
32
+ store_settings: store_settings(metric),
33
+ )
15
34
  end
16
35
 
17
36
  def perform_counter_increment!(metric, tags, value)
18
- registry.get(build_name(metric)).increment(tags, value)
37
+ registry.get(build_name(metric)).increment(by: value, labels: tags)
38
+ rescue ::Prometheus::Client::LabelSetValidator::InvalidLabelSetError => e
39
+ raise UndeclaredMetricTags.new(build_name(metric), e)
19
40
  end
20
41
 
21
42
  def register_gauge!(metric)
22
43
  validate_metric!(metric)
23
- registry.gauge(build_name(metric), metric.comment)
44
+ registry.gauge(
45
+ build_name(metric),
46
+ docstring: metric.comment,
47
+ labels: Array(metric.tags),
48
+ store_settings: store_settings(metric),
49
+ )
24
50
  end
25
51
 
26
52
  def perform_gauge_set!(metric, tags, value)
27
- registry.get(build_name(metric)).set(tags, value)
53
+ registry.get(build_name(metric)).set(value, labels: tags)
54
+ rescue ::Prometheus::Client::LabelSetValidator::InvalidLabelSetError => e
55
+ raise UndeclaredMetricTags.new(build_name(metric), e)
28
56
  end
29
57
 
30
58
  def register_histogram!(metric)
31
59
  validate_metric!(metric)
32
60
  buckets = metric.buckets || ::Prometheus::Client::Histogram::DEFAULT_BUCKETS
33
- registry.histogram(build_name(metric), metric.comment, {}, buckets)
61
+ registry.histogram(
62
+ build_name(metric),
63
+ docstring: metric.comment,
64
+ buckets: buckets,
65
+ labels: Array(metric.tags),
66
+ store_settings: store_settings(metric),
67
+ )
34
68
  end
35
69
 
36
70
  def perform_histogram_measure!(metric, tags, value)
37
- registry.get(build_name(metric)).observe(tags, value)
71
+ registry.get(build_name(metric)).observe(value, labels: tags)
72
+ rescue ::Prometheus::Client::LabelSetValidator::InvalidLabelSetError => e
73
+ raise UndeclaredMetricTags.new(build_name(metric), e)
38
74
  end
39
75
 
40
76
  def build_name(metric)
@@ -47,6 +83,19 @@ module Yabeda
47
83
  raise ArgumentError, 'Prometheus require metrics to have comments'
48
84
  end
49
85
 
86
+ private
87
+
88
+ # @param metric [Yabeda::Metric]
89
+ # @return [Hash]
90
+ def store_settings(metric)
91
+ case ::Prometheus::Client.config.data_store
92
+ when ::Prometheus::Client::DataStores::Synchronized, ::Prometheus::Client::DataStores::SingleThreaded
93
+ {} # Default synchronized store doesn't allow to pass any options
94
+ when ::Prometheus::Client::DataStores::DirectFileStore, ::Object # Anything else
95
+ { aggregation: metric.aggregation }.compact
96
+ end
97
+ end
98
+
50
99
  Yabeda.register_adapter(:prometheus, new)
51
100
  end
52
101
  end
@@ -1,19 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- begin
4
- # Try to load exporter from GitLab's prometheus-client-mmap gem
5
- require "prometheus/client/rack/exporter"
6
- BASE_EXPORTER_CLASS = ::Prometheus::Client::Rack::Exporter
7
- rescue LoadError
8
- # Try to load exporter from original prometheus-client
9
- require "prometheus/middleware/exporter"
10
- BASE_EXPORTER_CLASS = ::Prometheus::Middleware::Exporter
11
- end
3
+ require "prometheus/middleware/exporter"
4
+ require "rack"
12
5
 
13
6
  module Yabeda
14
7
  module Prometheus
15
8
  # Rack application or middleware that provides metrics exposition endpoint
16
- class Exporter < BASE_EXPORTER_CLASS
9
+ class Exporter < ::Prometheus::Middleware::Exporter
17
10
  NOT_FOUND_HANDLER = lambda do |_env|
18
11
  [404, { "Content-Type" => "text/plain" }, ["Not Found\n"]]
19
12
  end.freeze
@@ -28,7 +21,7 @@ module Yabeda
28
21
  def start_metrics_server!
29
22
  Thread.new do
30
23
  default_port = ENV.fetch("PORT", 9394)
31
- Rack::Handler::WEBrick.run(
24
+ ::Rack::Handler::WEBrick.run(
32
25
  rack_app,
33
26
  Host: ENV["PROMETHEUS_EXPORTER_BIND"] || "0.0.0.0",
34
27
  Port: ENV.fetch("PROMETHEUS_EXPORTER_PORT", default_port),
@@ -38,9 +31,9 @@ module Yabeda
38
31
  end
39
32
 
40
33
  def rack_app(exporter = self, path: "/metrics")
41
- Rack::Builder.new do
42
- use Rack::CommonLogger
43
- use Rack::ShowExceptions
34
+ ::Rack::Builder.new do
35
+ use ::Rack::CommonLogger
36
+ use ::Rack::ShowExceptions
44
37
  use exporter, path: path
45
38
  run NOT_FOUND_HANDLER
46
39
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Yabeda
4
4
  module Prometheus
5
- VERSION = "0.1.5"
5
+ VERSION = "0.6.2"
6
6
  end
7
7
  end
Binary file
@@ -25,15 +25,13 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_dependency "yabeda"
28
+ spec.required_ruby_version = ">= 2.3"
29
29
 
30
- spec.post_install_message = <<~MESSAGE
31
- You need to have installed either prometheus-client or prometheus-client-mmap
32
- gem for yabeda-prometheus to work.
33
- Please make sure that you have added one of them to your Gemfile.
34
- MESSAGE
30
+ spec.add_dependency "prometheus-client", ">= 0.10", "< 3.0" # Known to work with 1.x and 2.x
31
+ spec.add_dependency "yabeda", "~> 0.5"
32
+ spec.add_dependency "rack"
35
33
 
36
- spec.add_development_dependency "bundler", "~> 1.17"
37
- spec.add_development_dependency "rake", "~> 12.0"
34
+ spec.add_development_dependency "bundler", "~> 2.0"
35
+ spec.add_development_dependency "rake", "~> 13.0"
38
36
  spec.add_development_dependency "rspec", "~> 3.0"
39
37
  end
metadata CHANGED
@@ -1,17 +1,51 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-prometheus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Novikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-15 00:00:00.000000000 Z
11
+ date: 2021-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: prometheus-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.10'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.10'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: yabeda
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.5'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.5'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rack
15
49
  requirement: !ruby/object:Gem::Requirement
16
50
  requirements:
17
51
  - - ">="
@@ -30,28 +64,28 @@ dependencies:
30
64
  requirements:
31
65
  - - "~>"
32
66
  - !ruby/object:Gem::Version
33
- version: '1.17'
67
+ version: '2.0'
34
68
  type: :development
35
69
  prerelease: false
36
70
  version_requirements: !ruby/object:Gem::Requirement
37
71
  requirements:
38
72
  - - "~>"
39
73
  - !ruby/object:Gem::Version
40
- version: '1.17'
74
+ version: '2.0'
41
75
  - !ruby/object:Gem::Dependency
42
76
  name: rake
43
77
  requirement: !ruby/object:Gem::Requirement
44
78
  requirements:
45
79
  - - "~>"
46
80
  - !ruby/object:Gem::Version
47
- version: '12.0'
81
+ version: '13.0'
48
82
  type: :development
49
83
  prerelease: false
50
84
  version_requirements: !ruby/object:Gem::Requirement
51
85
  requirements:
52
86
  - - "~>"
53
87
  - !ruby/object:Gem::Version
54
- version: '12.0'
88
+ version: '13.0'
55
89
  - !ruby/object:Gem::Dependency
56
90
  name: rspec
57
91
  requirement: !ruby/object:Gem::Requirement
@@ -73,10 +107,11 @@ executables: []
73
107
  extensions: []
74
108
  extra_rdoc_files: []
75
109
  files:
110
+ - ".github/workflows/build-release.yml"
111
+ - ".github/workflows/test.yml"
76
112
  - ".gitignore"
77
113
  - ".rspec"
78
114
  - ".rubocop.yml"
79
- - ".travis.yml"
80
115
  - CHANGELOG.md
81
116
  - Gemfile
82
117
  - LICENSE.txt
@@ -88,6 +123,7 @@ files:
88
123
  - lib/yabeda/prometheus/adapter.rb
89
124
  - lib/yabeda/prometheus/exporter.rb
90
125
  - lib/yabeda/prometheus/version.rb
126
+ - yabeda-prometheus-logo.png
91
127
  - yabeda-prometheus.gemspec
92
128
  homepage: https://github.com/yabeda-rb/yabeda-prometheus
93
129
  licenses:
@@ -96,10 +132,7 @@ metadata:
96
132
  homepage_uri: https://github.com/yabeda-rb/yabeda-prometheus
97
133
  source_code_uri: https://github.com/yabeda-rb/yabeda-prometheus
98
134
  changelog_uri: https://github.com/yabeda-rb/yabeda-prometheus/blob/master/CHANGELOG.md
99
- post_install_message: |
100
- You need to have installed either prometheus-client or prometheus-client-mmap
101
- gem for yabeda-prometheus to work.
102
- Please make sure that you have added one of them to your Gemfile.
135
+ post_install_message:
103
136
  rdoc_options: []
104
137
  require_paths:
105
138
  - lib
@@ -107,14 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
140
  requirements:
108
141
  - - ">="
109
142
  - !ruby/object:Gem::Version
110
- version: '0'
143
+ version: '2.3'
111
144
  required_rubygems_version: !ruby/object:Gem::Requirement
112
145
  requirements:
113
146
  - - ">="
114
147
  - !ruby/object:Gem::Version
115
148
  version: '0'
116
149
  requirements: []
117
- rubygems_version: 3.0.3
150
+ rubygems_version: 3.1.6
118
151
  signing_key:
119
152
  specification_version: 4
120
153
  summary: Extensible Prometheus exporter for your application
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.5.1
5
- before_install: gem install bundler -v 1.16.1