bmc-daemon-lib 0.3.4 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +9 -3
- data/bmc-daemon-lib.gemspec +4 -1
- data/lib/bmc-daemon-lib.rb +3 -1
- data/lib/bmc-daemon-lib/conf.rb +45 -9
- data/lib/bmc-daemon-lib/logger_pool.rb +1 -1
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29df8c92767e8d6c0a33210b7c02a3095790cf37
|
4
|
+
data.tar.gz: 7c4744d9b4981d68bac75faa50b121c8cf8c7cca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f40cd3776b912f2059f8cbc58874deda6a381a66a0113510df38cdb5e6cd295eab798f97a78679dfa61ef4ed82a55883b9d8933d62d8dd919ef5798f57423425
|
7
|
+
data.tar.gz: fa834d967a25fdabbd2c30c74c4f71601d83b5143d279ef53aa3072c5b513c237be6a3b528a06c2ac9b9579f491e90639b843d360f17eea760c2017e0acf0e77
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bmc-daemon-lib (0.3.
|
4
|
+
bmc-daemon-lib (0.3.6)
|
5
5
|
chamber (~> 2.9)
|
6
|
+
newrelic_rpm
|
7
|
+
rollbar
|
6
8
|
|
7
9
|
GEM
|
8
10
|
remote: https://rubygems.org/
|
@@ -13,16 +15,20 @@ GEM
|
|
13
15
|
thor (~> 0.19.1)
|
14
16
|
diff-lcs (1.2.5)
|
15
17
|
hashie (3.4.4)
|
18
|
+
multi_json (1.12.1)
|
19
|
+
newrelic_rpm (3.16.2.321)
|
16
20
|
parser (2.3.1.2)
|
17
21
|
ast (~> 2.2)
|
18
22
|
powerpack (0.1.1)
|
19
23
|
rainbow (2.1.0)
|
20
24
|
rake (11.2.2)
|
25
|
+
rollbar (2.12.0)
|
26
|
+
multi_json
|
21
27
|
rspec (3.5.0)
|
22
28
|
rspec-core (~> 3.5.0)
|
23
29
|
rspec-expectations (~> 3.5.0)
|
24
30
|
rspec-mocks (~> 3.5.0)
|
25
|
-
rspec-core (3.5.
|
31
|
+
rspec-core (3.5.3)
|
26
32
|
rspec-support (~> 3.5.0)
|
27
33
|
rspec-expectations (3.5.0)
|
28
34
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -39,7 +45,7 @@ GEM
|
|
39
45
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
40
46
|
ruby-progressbar (1.8.1)
|
41
47
|
thor (0.19.1)
|
42
|
-
unicode-display_width (1.1.
|
48
|
+
unicode-display_width (1.1.1)
|
43
49
|
|
44
50
|
PLATFORMS
|
45
51
|
ruby
|
data/bmc-daemon-lib.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
# Project version
|
4
|
-
spec.version = "0.3.
|
4
|
+
spec.version = "0.3.6"
|
5
5
|
|
6
6
|
# Project description
|
7
7
|
spec.name = "bmc-daemon-lib"
|
@@ -25,6 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "rspec"
|
26
26
|
spec.add_development_dependency "rubocop"
|
27
27
|
|
28
|
+
|
28
29
|
# Runtime dependencies
|
29
30
|
spec.add_runtime_dependency "chamber", "~> 2.9"
|
31
|
+
spec.add_runtime_dependency "newrelic_rpm"
|
32
|
+
spec.add_runtime_dependency "rollbar"
|
30
33
|
end
|
data/lib/bmc-daemon-lib.rb
CHANGED
data/lib/bmc-daemon-lib/conf.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
# FIXME: files named with hyphens will not be found by Chamber for now
|
2
|
-
require "chamber"
|
3
|
-
|
4
2
|
module BmcDaemonLib
|
5
3
|
# Class exceptions
|
6
4
|
class ConfigInitiRequired < StandardError; end
|
@@ -80,8 +78,9 @@ module BmcDaemonLib
|
|
80
78
|
Encoding.default_internal = "utf-8"
|
81
79
|
Encoding.default_external = "utf-8"
|
82
80
|
|
83
|
-
# Init New Relic
|
84
|
-
prepare_newrelic self
|
81
|
+
# Init New Relic, Rollbar
|
82
|
+
prepare_newrelic if self.feature?(:newrelic)
|
83
|
+
prepare_rollbar if self.feature?(:rollbar)
|
85
84
|
|
86
85
|
# Try to access any key to force parsing of the files
|
87
86
|
self[:dummy]
|
@@ -92,6 +91,7 @@ module BmcDaemonLib
|
|
92
91
|
fail ConfigOtherError, "#{e.message} \n #{e.backtrace.to_yaml}"
|
93
92
|
end
|
94
93
|
|
94
|
+
|
95
95
|
# Reload files
|
96
96
|
def self.reload!
|
97
97
|
ensure_init
|
@@ -126,9 +126,18 @@ module BmcDaemonLib
|
|
126
126
|
File.expand_path specific.to_s, path.to_s
|
127
127
|
end
|
128
128
|
|
129
|
-
def self.
|
129
|
+
def self.feature? name
|
130
130
|
ensure_init
|
131
|
-
|
131
|
+
|
132
|
+
# Guess if the specific feature si available
|
133
|
+
case name
|
134
|
+
when :newrelic
|
135
|
+
self.at(:newrelic, :license)
|
136
|
+
when :rollbar
|
137
|
+
self.at(:rollbar, :token)
|
138
|
+
else
|
139
|
+
false
|
140
|
+
end
|
132
141
|
end
|
133
142
|
|
134
143
|
# Defaults generators
|
@@ -173,9 +182,9 @@ module BmcDaemonLib
|
|
173
182
|
@files << File.expand_path(path) if path && File.readable?(path)
|
174
183
|
end
|
175
184
|
|
176
|
-
def self.prepare_newrelic
|
177
|
-
#
|
178
|
-
|
185
|
+
def self.prepare_newrelic
|
186
|
+
# Require lib
|
187
|
+
section = self[:newrelic]
|
179
188
|
|
180
189
|
# Enable GC profiler
|
181
190
|
GC::Profiler.enable
|
@@ -200,6 +209,33 @@ module BmcDaemonLib
|
|
200
209
|
ENV["NEWRELIC_AGENT_ENABLED"] = "true"
|
201
210
|
end
|
202
211
|
|
212
|
+
def self.prepare_rollbar
|
213
|
+
# # Disable if no config present
|
214
|
+
# return unless self.feature?(:rollbar)
|
215
|
+
section = self[:rollbar]
|
216
|
+
|
217
|
+
# Configure
|
218
|
+
Rollbar.configure do |config|
|
219
|
+
config.enabled = true
|
220
|
+
config.access_token = section[:token].to_s
|
221
|
+
config.code_version = @app_version
|
222
|
+
|
223
|
+
#config.logger
|
224
|
+
config.environment = @app_env
|
225
|
+
|
226
|
+
# Report asynchronously
|
227
|
+
config.use_async = true
|
228
|
+
# Here we'll disable in 'test':
|
229
|
+
# if Rails.env.test? || Rails.env.development?
|
230
|
+
# config.enabled = false
|
231
|
+
# end
|
232
|
+
#logfile_path(:newrelic)
|
233
|
+
end
|
234
|
+
|
235
|
+
# Notify startup
|
236
|
+
Rollbar.info("#{@app_name} #{@app_ver} [#{@host}]")
|
237
|
+
end
|
238
|
+
|
203
239
|
private
|
204
240
|
|
205
241
|
def self.ensure_init
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bmc-daemon-lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bruno MEDICI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: newrelic_rpm
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rollbar
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
description: 'Shared utilities to build a daemon: logger, configuration, helpers'
|
84
112
|
email: bmc-daemon-lib@bmconseil.com
|
85
113
|
executables: []
|