como_client 0.2.4 → 0.5.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: 8be190c31079977446117310961d4c72ac6397e769df391830d95e40c000d94c
4
- data.tar.gz: 28fe9e1d8686383aa0cff4d87313685c8ae36c62404d9d90abacd230342931d9
3
+ metadata.gz: 54f2ce03902b701ffcdc65107defdd27f99728ccf503cfe980b563b8f1755ea6
4
+ data.tar.gz: 96a1945e20f72a5d6e6a82527a2d035fc18475835470bb6e9a701d89ea9ad496
5
5
  SHA512:
6
- metadata.gz: 50f8613890d8d23506e63cc2931d2093e1a2372e768fb3c756dbff2c51417f8127cb8c804afc42130106e2540eadc741debb2df892d384d98e7c87757e269493
7
- data.tar.gz: b648151d46f782d7c03908e42a72432ff2cb3086c5054c07f3bc0638092185ffb61f4e277ce36119619f22733696645ebc77ddd6bb769f22fe2800b79c275f3f
6
+ metadata.gz: 3172d6df535dff72565c55ac24198f4e3f3f2ad019c94d40a2d7906afd744d2bcc3070a911d3768806aa4cd69941a016450f4bee3ae8ca03c0e6a647cb8879ed
7
+ data.tar.gz: 53884a418558097d5596b0cdda01ad1d7bbc3055554e7bdc654a3cd4ee78ffff95def51d2fd1d42705caebd7ea70c50bcd20539644e57d39445710074be16e00
data/como_client.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_development_dependency 'rspec', '~> 3.9.0'
34
34
  spec.add_dependency 'concurrent-ruby', '~> 1.1.5'
35
- spec.add_dependency 'prometheus-client', '~> 1.0'
35
+ spec.add_dependency 'prometheus-client', '~> 4.0'
36
36
  spec.add_dependency 'usagewatch_ext', '~> 0.2.1'
37
37
  spec.add_dependency 'mem_info', '~> 1.0.1'
38
38
  end
@@ -6,20 +6,18 @@ module COMOClient
6
6
  require 'mem_info'
7
7
 
8
8
  def self.register
9
- logger = Logger.new(STDOUT)
10
- logger.info("register CF metrics...")
9
+ COMOClient.logger.debug("register CF metrics...")
11
10
 
12
11
  prometheus = Prometheus::Client.registry
13
12
 
14
13
  hardwareGauges = Prometheus::Client::Gauge.new( :instance_metrics, docstring: 'instance hardware metrics', labels: [:hardware])
15
14
  prometheus.register(hardwareGauges)
16
- logger.info("registered hardware gauges")
15
+ COMOClient.logger.debug("registered hardware gauges")
17
16
 
18
- logger.info("registered CF metrics")
17
+ COMOClient.logger.debug("registered CF metrics")
19
18
  end
20
19
  def self.update
21
- logger = Logger.new(STDOUT)
22
- logger.info("update CF metrics...")
20
+ COMOClient.logger.debug("update CF metrics...")
23
21
  prometheus = Prometheus::Client.registry
24
22
 
25
23
  usw = Usagewatch
@@ -33,9 +31,8 @@ module COMOClient
33
31
  hardwareGauges.set(usw.uw_diskused_perc, labels: { hardware: 'disk_used_perc'})
34
32
  hardwareGauges.set(usw.uw_diskused, labels: { hardware: 'disk_used_gigabytes'})
35
33
  hardwareGauges.set(IO.read('/proc/uptime').split[0].to_i, labels: { hardware: 'uptime_seconds'})
36
- logger.info("instance gauges")
37
34
 
38
- logger.info("updated CF metrics")
35
+ COMOClient.logger.debug("updated CF metrics")
39
36
  end
40
37
  end
41
38
  end
@@ -1,23 +1,21 @@
1
1
  module COMOClient
2
2
  module Metrics
3
3
  def self.register
4
- logger = Logger.new(STDOUT)
5
- logger.info("register metrics...")
4
+ COMOClient.logger.debug("register metrics...")
6
5
 
7
6
  #Register Cloud Froundry metrics if the app is pushed to Cloud Foundry
8
7
  COMOClient::Metrics::CF.register if !ENV["CF_INSTANCE_GUID"].nil?
9
8
 
10
- logger.info("registered metrics")
9
+ COMOClient.logger.debug("registered metrics")
11
10
  end
12
11
 
13
12
  def self.update
14
- logger = Logger.new(STDOUT)
15
- logger.info("update metrics...")
13
+ COMOClient.logger.debug("update metrics...")
16
14
 
17
15
  #Update Cloud Froundry metrics if the app is pushed to Cloud Foundry
18
16
  COMOClient::Metrics::CF.update if !ENV["CF_INSTANCE_GUID"].nil?
19
17
 
20
- logger.info("updated metrics")
18
+ COMOClient.logger.debug("updated metrics")
21
19
  end
22
20
  end
23
21
  end
@@ -3,7 +3,7 @@ module COMOClient
3
3
  class Observer
4
4
  def update(_time, result, ex)
5
5
  if result
6
- Rails.logger.info "Execution successfully returned #{result}\n"
6
+ Rails.logger.debug "Execution successfully returned #{result}\n"
7
7
  elsif ex.is_a?(Concurrent::TimeoutError)
8
8
  Rails.logger.fatal "Execution timed out\n"
9
9
  else
@@ -5,16 +5,15 @@ module COMOClient
5
5
  require 'prometheus/client/push'
6
6
  def self.push
7
7
  # register some metrics
8
- logger = Logger.new(STDOUT)
9
- logger.info("pushing metrics to #{COMOClient.configuration.pushgateway_url}")
10
- logger.info("job: #{COMOClient.configuration.job_name}")
11
- logger.info("instance: #{COMOClient.configuration.instance_name}")
8
+ COMOClient.logger.debug("pushing metrics to #{COMOClient.configuration.pushgateway_url}")
9
+ COMOClient.logger.debug("job: #{COMOClient.configuration.job_name}")
10
+ COMOClient.logger.debug("instance: #{COMOClient.configuration.instance_name}")
12
11
  COMOClient::Metrics.update
13
- Prometheus::Client::Push.new(COMOClient.configuration.job_name, #job name
14
- COMOClient.configuration.instance_name,#instance name
15
- COMOClient.configuration.pushgateway_url)#pushgateway url
12
+ Prometheus::Client::Push.new(job: COMOClient.configuration.job_name, #job name
13
+ instance: COMOClient.configuration.instance_name,#instance name
14
+ gateway: COMOClient.configuration.pushgateway_url)#pushgateway url
16
15
  .add(Prometheus::Client.registry)
17
- logger.info("successfully pushed metrics")
16
+ COMOClient.logger.debug("successfully pushed metrics")
18
17
  end
19
18
  end
20
19
  end
@@ -1,3 +1,3 @@
1
1
  module COMOClient
2
- VERSION = "0.2.4"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/como_client.rb CHANGED
@@ -10,6 +10,13 @@ require 'prometheus/middleware/exporter'
10
10
  require 'prometheus/middleware/collector'
11
11
 
12
12
  module COMOClient
13
+ def self.logger
14
+ @@logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
15
+ end
16
+
17
+ def self.logger=(logger)
18
+ @@logger = logger
19
+ end
13
20
 
14
21
  class Railtie < Rails::Railtie
15
22
  initializer 'como_client.configure_rails_initialization' do
@@ -35,10 +42,10 @@ module COMOClient
35
42
  end
36
43
 
37
44
  def self.run
38
- logger = Logger.new(STDOUT)
39
- logger.info("initialize metrics push service...")
45
+
46
+ COMOClient.logger.debug("initialise metrics push service...")
40
47
  if @pushTask and @pushTask.running?
41
- logger.info("the metrics push service is already running!")
48
+ COMOClient.logger.debug("push service is already running!")
42
49
  return true
43
50
  end
44
51
 
@@ -46,7 +53,7 @@ module COMOClient
46
53
  @pushTask = Concurrent::TimerTask.new(execution_interval: @configuration.push_interval, timeout_interval: 20){COMOClient::Tasks::PeriodicPush.push}
47
54
  @pushTask.add_observer(COMOClient::Tasks::Observer.new)
48
55
  @pushTask.execute
49
- logger.info("successfully initiated metrics push service!")
56
+ COMOClient.logger.info("push service initialised")
50
57
  @pushTask.running?
51
58
  end
52
59
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: como_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Disler Colin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-11 00:00:00.000000000 Z
11
+ date: 2022-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '4.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: '4.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: usagewatch_ext
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +109,7 @@ licenses:
109
109
  - MIT
110
110
  metadata:
111
111
  allowed_push_host: https://rubygems.org
112
- post_install_message:
112
+ post_install_message:
113
113
  rdoc_options: []
114
114
  require_paths:
115
115
  - lib
@@ -124,8 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubygems_version: 3.0.6
128
- signing_key:
127
+ rubygems_version: 3.1.6
128
+ signing_key:
129
129
  specification_version: 4
130
130
  summary: A Prometheus Client for continuous monitoring
131
131
  test_files: []