como_client 0.2.3 → 0.4.0
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 +4 -4
- data/como_client.gemspec +1 -1
- data/lib/como_client/metrics/cf.rb +5 -8
- data/lib/como_client/metrics.rb +4 -6
- data/lib/como_client/tasks/periodic_push.rb +7 -8
- data/lib/como_client/version.rb +1 -1
- data/lib/como_client.rb +11 -5
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32d33cc8687a74812acadd07405192a046683f8f3d087b3e8619d504d7f70242
|
4
|
+
data.tar.gz: 8a991ccc887b6a84ffc8865b0901652711425c2781bbf8bf9480d39b8cc60e98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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', '~>
|
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
|
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.
|
15
|
+
COMOClient.logger.debug("registered hardware gauges")
|
17
16
|
|
18
|
-
logger.
|
17
|
+
COMOClient.logger.debug("registered CF metrics")
|
19
18
|
end
|
20
19
|
def self.update
|
21
|
-
logger
|
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.
|
35
|
+
COMOClient.logger.debug("updated CF metrics")
|
39
36
|
end
|
40
37
|
end
|
41
38
|
end
|
data/lib/como_client/metrics.rb
CHANGED
@@ -1,23 +1,21 @@
|
|
1
1
|
module COMOClient
|
2
2
|
module Metrics
|
3
3
|
def self.register
|
4
|
-
logger
|
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.
|
9
|
+
COMOClient.logger.debug("registered metrics")
|
11
10
|
end
|
12
11
|
|
13
12
|
def self.update
|
14
|
-
logger
|
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.
|
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
|
9
|
-
logger.
|
10
|
-
logger.
|
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.
|
16
|
+
COMOClient.logger.debug("successfully pushed metrics")
|
18
17
|
end
|
19
18
|
end
|
20
19
|
end
|
data/lib/como_client/version.rb
CHANGED
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
|
-
|
40
|
-
logger.
|
45
|
+
|
46
|
+
COMOClient.logger.debug("initialise metrics push service...")
|
41
47
|
if @pushTask and @pushTask.running?
|
42
|
-
logger.
|
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("
|
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.
|
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:
|
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: '
|
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: '
|
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.
|
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: []
|