yabeda-prometheus 0.1.3 → 0.1.4

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: 99160ecfcc0c1d30b0ce7c02444eb245958cbf05a09ebbed89f016ab5b1e2118
4
- data.tar.gz: 85918fdb24afad2f8d3bd3d64fea86be86e97b5f740cb8affce9f5cf0fdf336c
3
+ metadata.gz: 1922a6edd3de4513c03bb3405280060973cfe6c0004b56be0bf0c923934eb82f
4
+ data.tar.gz: acc3a06038a5cf9f972406b0edd466ae04f49643d2ad784d0c9e2565919a7308
5
5
  SHA512:
6
- metadata.gz: 7c73f0756cba70bd4b6da0532108aec67013532f0fbb96907677956db0aeede567fb3f2d32bec1b922ea3eebb0a8c48643de2ccdf798c8a3a77f389b37ad5b46
7
- data.tar.gz: 8704ba138071f06b6dc8eecdd6fbbb9349a4d1585a647f5d0ec0050d37dae69225f06e0fbbd7b802591b16d54687d9c079b111658a0a6fbec525f983783fd693
6
+ metadata.gz: ed6e18d43df3f06ad848c6b6965e7093a71ba36d4c34e3e3bfb93f43eda220bf738436604f0db3ae63e026e53bd6eccfe6ec9f60d667a4cb0687f7ac2a9ce5bb
7
+ data.tar.gz: 2b77cc35bc3f5e72033aa624371630d6221ba54dc5d3ea5c222db62a12bddca589c5c5bf7bc5925e76de0d5d38083fe5ae7c754bcb913492a2af34b8c9970753
data/CHANGELOG.md CHANGED
@@ -6,6 +6,28 @@ 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
8
 
9
+ ## 0.1.4 - 2018-11-06
10
+
11
+ ### Added
12
+
13
+ - Support for prometheus-client-mmap gem that allow to collect metrics from
14
+ forking servers like Passenger or Puma in clustered mode. @Envek
15
+
16
+ Now you need to manually specify which gem you need to use in your Gemfile
17
+ due to lack of either/or dependencies in RubyGems.
18
+
19
+ ```ruby
20
+ gem "prometheus-client"
21
+ gem "yabeda-prometheus"
22
+ ```
23
+
24
+ Or:
25
+
26
+ ```ruby
27
+ gem "prometheus-client-mmap"
28
+ gem "yabeda-prometheus"
29
+ ```
30
+
9
31
  ## 0.1.3 - 2018-10-31
10
32
 
11
33
  ### Added
data/README.md CHANGED
@@ -16,9 +16,10 @@ Adapter for easy exporting your collected metrics from your application to the [
16
16
 
17
17
  ## Installation
18
18
 
19
- Add this line to your application's Gemfile:
19
+ Add this lines to your application's Gemfile:
20
20
 
21
21
  ```ruby
22
+ gem 'prometheus-client' # Or 'prometheus-client-mmap' if you need multi-process support
22
23
  gem 'yabeda-prometheus'
23
24
  ```
24
25
 
@@ -52,7 +53,7 @@ And then execute:
52
53
 
53
54
  Listening address is configured via `PROMETHEUS_EXPORTER_BIND` env variable (default is `0.0.0.0`).
54
55
 
55
- Port is configured by `PROMETHEUS_EXPORTER_PORT` or `PORT` variables (default is `9310`).
56
+ Port is configured by `PROMETHEUS_EXPORTER_PORT` or `PORT` variables (default is `9394`).
56
57
 
57
58
  3. Use push gateway for short living things (rake tasks, cron jobs, …):
58
59
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "yabeda"
4
+ require "prometheus/client"
4
5
  require "yabeda/prometheus/version"
5
6
  require "yabeda/prometheus/adapter"
6
7
  require "yabeda/prometheus/exporter"
@@ -1,11 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "prometheus/middleware/exporter"
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
4
12
 
5
13
  module Yabeda
6
14
  module Prometheus
7
15
  # Rack application or middleware that provides metrics exposition endpoint
8
- class Exporter < ::Prometheus::Middleware::Exporter
16
+ class Exporter < BASE_EXPORTER_CLASS
9
17
  NOT_FOUND_HANDLER = lambda do |_env|
10
18
  [404, { "Content-Type" => "text/plain" }, ["Not Found\n"]]
11
19
  end.freeze
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Yabeda
4
4
  module Prometheus
5
- VERSION = "0.1.3"
5
+ VERSION = "0.1.4"
6
6
  end
7
7
  end
@@ -26,7 +26,12 @@ Gem::Specification.new do |spec|
26
26
  spec.require_paths = ["lib"]
27
27
 
28
28
  spec.add_dependency "yabeda"
29
- spec.add_dependency "prometheus-client"
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
35
 
31
36
  spec.add_development_dependency "bundler", "~> 1.17"
32
37
  spec.add_development_dependency "rake", "~> 12.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-prometheus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Novikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2018-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yabeda
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: prometheus-client
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: bundler
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -113,7 +99,10 @@ metadata:
113
99
  homepage_uri: https://github.com/yabeda-rb/yabeda-prometheus
114
100
  source_code_uri: https://github.com/yabeda-rb/yabeda-prometheus
115
101
  changelog_uri: https://github.com/yabeda-rb/yabeda-prometheus/blob/master/CHANGELOG.md
116
- post_install_message:
102
+ post_install_message: |
103
+ You need to have installed either prometheus-client or prometheus-client-mmap
104
+ gem for yabeda-prometheus to work.
105
+ Please make sure that you have added one of them to your Gemfile.
117
106
  rdoc_options: []
118
107
  require_paths:
119
108
  - lib