deimos 0.2.3 → 0.2.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: 8f60324ff8d343c4dfe073ecc44312a7383279b2ce93a2dd518d482ca9159360
4
- data.tar.gz: d3c02354039e9a9011f8e5121abc510ad1e562f7ccec7e9d978f4d9dcd53b6ad
3
+ metadata.gz: 6c5207cb6a1186d4fed8df2a7fba23b39819fbe0474cd7dc5734ed7ab337b161
4
+ data.tar.gz: d3884e15b4c88383ffc4a8b466eb790911f97285b74acda94e156c93025accbd
5
5
  SHA512:
6
- metadata.gz: c7f1d3563fdd3fb9ac373ce203abbb58c89f7b4a238d011948ecbcfd27e8b7664fa176fcfc210cc2c67efb43641e940eb7a4ab9f291041ac3191add522fa255a
7
- data.tar.gz: '03171858ec6022e602e8b589ac9e337186e1dd4bc63f257a70543b3ca144f754e8d808f2d2873a0fc9b54807e249a4b745d53e0b92c2ef5c2c51ba6d55eb5a78'
6
+ metadata.gz: 4a7824029d14dfa72b33359743d5a9f7def3cbbaa1a22c08aba38680a0761a68fa4a3905db1e8951982a8dc2081cefa52c7f15e36389c6719ae8885b05c81662
7
+ data.tar.gz: f06bb8e562a34f4073f5c25c864f0cadabbb0cee51b8e3f9f5fb4df30886200455f23ef8cc69f9f5155ad1c6067d395057579dc4f720ba154e24d0d1ea54512f
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- deimos (0.1.0)
4
+ deimos (0.2.4)
5
5
  activesupport
6
- concurrent-ruby
6
+ concurrent-ruby (~> 1.1.0)
7
7
  huyegger
8
8
  prometheus-client
9
9
  sinatra
@@ -12,14 +12,14 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (5.2.2)
15
+ activesupport (5.2.2.1)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 0.7, < 2)
18
18
  minitest (~> 5.1)
19
19
  tzinfo (~> 1.1)
20
20
  backports (3.12.0)
21
21
  coderay (1.1.2)
22
- concurrent-ruby (1.1.4)
22
+ concurrent-ruby (1.1.5)
23
23
  diff-lcs (1.3)
24
24
  huyegger (0.4.4)
25
25
  i18n (1.6.0)
@@ -37,6 +37,8 @@ GEM
37
37
  rack (2.0.6)
38
38
  rack-protection (2.0.5)
39
39
  rack
40
+ rack-test (1.1.0)
41
+ rack (>= 1.0, < 3)
40
42
  rake (10.5.0)
41
43
  rspec (3.8.0)
42
44
  rspec-core (~> 3.8.0)
@@ -75,6 +77,7 @@ DEPENDENCIES
75
77
  bundler (~> 1.16)
76
78
  deimos!
77
79
  pry
80
+ rack-test
78
81
  rake (~> 10.0)
79
82
  rspec (~> 3.0)
80
83
 
@@ -1,11 +1,16 @@
1
1
  module Deimos
2
2
  module Endpoints
3
3
  class Status < Sinatra::Application
4
+ def initialize(status:)
5
+ @status = status
6
+ super
7
+ end
8
+
4
9
  disable :logging
5
10
  set :logger, Deimos.logger
6
11
 
7
12
  get "/" do
8
- status_runner = Deimos.status.run!
13
+ status_runner = @status.run!
9
14
 
10
15
  content_type :json
11
16
  status status_runner.status
@@ -9,7 +9,12 @@ module Deimos
9
9
  }
10
10
 
11
11
  delegate :instrument, to: ActiveSupport::Notifications
12
-
12
+
13
+ attr_reader :registry
14
+ def initialize(registry: Prometheus::Client.registry)
15
+ @registry = registry
16
+ end
17
+
13
18
  def subscriptions
14
19
  @subscriptions ||= []
15
20
  end
@@ -18,10 +23,6 @@ module Deimos
18
23
  @collectors ||= {}
19
24
  end
20
25
 
21
- def registry
22
- @registry ||= Prometheus::Client.registry
23
- end
24
-
25
26
  def subscribe(event_name, type:, label:, **kwargs, &block)
26
27
  Deimos.logger.info "Metrics: Subscribed to #{event_name}..."
27
28
  subscriptions << ActiveSupport::Notifications.subscribe(event_name) do |*args|
@@ -38,7 +39,7 @@ module Deimos
38
39
  private
39
40
 
40
41
  def register_collector!(event_name, type, about, **kwargs)
41
- return collectors[event_name] if collectors[event_name].present?
42
+ return collectors[event_name] if collectors[event_name]
42
43
  name = event_name.gsub(".", "_").to_sym
43
44
  collectors[event_name] = TYPES[type].new(name, about, kwargs).tap { |x| registry.register(x) }
44
45
  end
@@ -1,3 +1,3 @@
1
1
  module Deimos
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
data/lib/deimos.rb CHANGED
@@ -60,8 +60,8 @@ module Deimos
60
60
 
61
61
  def applications
62
62
  @applications ||= {
63
- "/status" => Deimos::Endpoints::Status,
64
- "/metrics" => Deimos::Endpoints::Metrics
63
+ "/status" => Deimos::Endpoints::Status.new(status: status),
64
+ "/metrics" => Deimos::Endpoints::Metrics.new
65
65
  }.merge(config.applications)
66
66
  end
67
67
 
@@ -76,5 +76,5 @@ module Deimos
76
76
  def logger
77
77
  @logger ||= Huyegger::Logger.new(::Logger.new(STDOUT).tap {|x| x.level = config.log_level})
78
78
  end
79
-
79
+
80
80
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Carlile
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-13 00:00:00.000000000 Z
11
+ date: 2019-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra