como_client 0.2.4 → 0.3.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/lib/como_client.rb +11 -4
- data/lib/como_client/metrics.rb +4 -6
- data/lib/como_client/metrics/cf.rb +5 -8
- data/lib/como_client/tasks/periodic_push.rb +4 -5
- data/lib/como_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a46fb908d89401f14ca6a5da2b07b90ac80d908f0a63da574a7f7a3b2c32fd2
|
4
|
+
data.tar.gz: 2cbdc2ad2c54f24ee9beaea1b4b053ca19f9601c86011943b832707d759baa27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e267901e852d2c4e182805e9b62a1e8b80a2e85f59e1effe89b59414661ceb9c2e3b99cb716bf3d7d927acf7cb7c91674f6a92534e64d3f9bfec8d328268bd37
|
7
|
+
data.tar.gz: 02c09fec0e0cedf8595a61eb7ac854e4ce6003fe08dab48d7febb9f1506b447c3175ceddf38b70442c7ef7d36b829eefd07a6d828f7fafe13a8f434b7767c35d
|
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
|
-
|
39
|
-
logger.
|
45
|
+
|
46
|
+
COMOClient.logger.debug("initialise metrics push service...")
|
40
47
|
if @pushTask and @pushTask.running?
|
41
|
-
logger.
|
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("
|
56
|
+
COMOClient.logger.info("push service initialised")
|
50
57
|
@pushTask.running?
|
51
58
|
end
|
52
59
|
|
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
|
@@ -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
|
@@ -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
12
|
Prometheus::Client::Push.new(COMOClient.configuration.job_name, #job name
|
14
13
|
COMOClient.configuration.instance_name,#instance name
|
15
14
|
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
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Disler Colin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|