como_client 0.2.3 → 0.4.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: ab9253e8d9983f4a79a171c3c6124bdb8f786a40d7d463bf3109ff8c25bbd06b
4
- data.tar.gz: 61ddb59d3c4c052f1b0050b2df496a94fe64b8cb9159ecdaa7af478e95a11277
3
+ metadata.gz: 32d33cc8687a74812acadd07405192a046683f8f3d087b3e8619d504d7f70242
4
+ data.tar.gz: 8a991ccc887b6a84ffc8865b0901652711425c2781bbf8bf9480d39b8cc60e98
5
5
  SHA512:
6
- metadata.gz: e9b71acaca9eccc469ac7a72b047eabbbb04a5470202747524e11238056b72d8448a7ab169dbb9bc11dd582d0f3360f4c8cfa6495bff7d61e6f14bc1e484b4fc
7
- data.tar.gz: 66bc2761e483b967fb06a02e3682474c39bc284b7b0956dab05a048258a45707b0869c2911c0e14c6a8e0a0ce2ec8b25037e316e5722133b6142e718a3e391ed
6
+ metadata.gz: 71a0036a8945bc487c99a3b52282577c2a53bba473bfb0a8c11320daae366306bee339b18daa0d58ef03d0c4adccfb42aa1fe0a3cc6ac4556ffd9beb0e70368a
7
+ data.tar.gz: 12974584aad84cc4b2c93dd6878a5988fb884da73ec3bbadbdc13080de63fd80cd293ca3d94f3cafd5b72ecd7250e5e8a1f75b561aeba7cf466659f18a19421d
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
@@ -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.3"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/como_client.rb CHANGED
@@ -10,11 +10,17 @@ 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
16
23
  Rails.configuration.middleware.use Prometheus::Middleware::Collector
17
- Rails.configuration.middleware.use Prometheus::Middleware::Exporter
18
24
  end
19
25
  end
20
26
 
@@ -36,10 +42,10 @@ module COMOClient
36
42
  end
37
43
 
38
44
  def self.run
39
- logger = Logger.new(STDOUT)
40
- logger.info("initialize metrics push service...")
45
+
46
+ COMOClient.logger.debug("initialise metrics push service...")
41
47
  if @pushTask and @pushTask.running?
42
- logger.info("the metrics push service is already running!")
48
+ COMOClient.logger.debug("push service is already running!")
43
49
  return true
44
50
  end
45
51
 
@@ -47,7 +53,7 @@ module COMOClient
47
53
  @pushTask = Concurrent::TimerTask.new(execution_interval: @configuration.push_interval, timeout_interval: 20){COMOClient::Tasks::PeriodicPush.push}
48
54
  @pushTask.add_observer(COMOClient::Tasks::Observer.new)
49
55
  @pushTask.execute
50
- logger.info("successfully initiated metrics push service!")
56
+ COMOClient.logger.info("push service initialised")
51
57
  @pushTask.running?
52
58
  end
53
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.3
4
+ version: 0.4.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-01-15 00:00:00.000000000 Z
11
+ date: 2022-08-05 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: []