oneapm_rpm 1.2.5 → 1.2.6.rc1

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.
@@ -18,9 +18,14 @@ module OneApm
18
18
  return unless @file_path
19
19
 
20
20
  OneApm::Manager.logger.info("Reading configuration from #{path} (#{Dir.pwd})")
21
- raw_file = File.read(@file_path)
21
+ raw_file = if RUBY_VERSION >= '1.9.3'
22
+ File.read(@file_path, :encoding => 'utf-8')
23
+ else
24
+ File.read(@file_path)
25
+ end
22
26
  erb_file = process_erb(raw_file)
23
27
  config = process_yaml(erb_file, env, config, @file_path)
28
+ add_notified!(config)
24
29
  rescue ScriptError, StandardError => e
25
30
  OneApm::Manager.logger.error("Failed to read or parse configuration file at #{path}", e)
26
31
  end
@@ -97,6 +102,22 @@ module OneApm
97
102
  config
98
103
  end
99
104
 
105
+ #add notified to key of config
106
+ #before: {'a' => 1, 'b' => {'c' => 2}}
107
+ #after: {'a' => 1, 'a.notified' => true, 'b' => {'c' => 1, 'c.notified' => true}}
108
+ def add_notified! config
109
+ config.keys.each do |key|
110
+ if config[key].respond_to?(:has_key?)
111
+ config[key].keys.each do |inner_key|
112
+ config[key]["#{inner_key}.notified"] = true unless config[key].has_key?("#{inner_key}.notified")
113
+ end
114
+ next
115
+ end
116
+ config["#{key}.notified"] = true unless config.has_key?("#{key}.notified")
117
+ end
118
+ config
119
+ end
120
+
100
121
  def substitute_transaction_threshold(config)
101
122
  if config['transaction_tracer'] &&
102
123
  config['transaction_tracer']['transaction_threshold'] =~ /apdex_f/i
@@ -256,6 +256,16 @@ module OneApm
256
256
  end
257
257
  end
258
258
 
259
+ def to_notified_hash
260
+ @notified_hash = {}
261
+ to_collector_hash.each{|k, v| @notified_hash[k]= v.to_s}
262
+ return @notified_hash unless OneApm::Manager.config[:'notified.enable']
263
+ @notified_hash.select do |k, v|
264
+ default = DEFAULTS[k]
265
+ OneApm::Manager.config[:"#{k}.notified"] || (default && default.fetch(:notified, false))
266
+ end
267
+ end
268
+
259
269
  def app_names
260
270
  case OneApm::Manager.config[:app_name]
261
271
  when Array then OneApm::Manager.config[:app_name]
@@ -359,8 +369,12 @@ module OneApm
359
369
  grouped_by_type.values.map(&:last)
360
370
  end
361
371
 
372
+ #parse hash of labels
373
+ #delete key eql 'labels.xxx.notified'
362
374
  def parse_labels_from_dictionary
363
- make_label_hash(OneApm::Manager.config[:labels])
375
+ labels = OneApm::Manager.config[:labels]
376
+ labels.delete_if{|k, v| k.include?(".notified")}
377
+ make_label_hash(labels)
364
378
  end
365
379
 
366
380
  # Generally only useful during initial construction and tests
@@ -38,7 +38,6 @@ module OneApm
38
38
  mod = OneApm::LocalEnvironment.const_get const
39
39
  self.extend mod if mod.instance_of? Module
40
40
  end
41
-
42
41
  discover_dispatcher
43
42
  end
44
43
 
@@ -133,13 +132,13 @@ module OneApm
133
132
  end
134
133
 
135
134
  def check_for_puma
136
- if defined?(::Puma) && File.basename($0) == 'puma'
135
+ if defined?(::Puma) && executable =~ /puma/
137
136
  @discovered_dispatcher = :puma
138
137
  end
139
138
  end
140
139
 
141
140
  def check_for_delayed_job
142
- if $0 =~ /delayed_job$/ || (File.basename($0) == 'rake' && ARGV.include?('jobs:work'))
141
+ if $0 =~ /delayed_job$/ || (executable == 'rake' && ARGV.include?('jobs:work'))
143
142
  @discovered_dispatcher = :delayed_job
144
143
  end
145
144
  end
@@ -158,7 +157,7 @@ module OneApm
158
157
  end
159
158
 
160
159
  def check_for_sidekiq
161
- if defined?(::Sidekiq) && File.basename($0) == 'sidekiq'
160
+ if defined?(::Sidekiq) && executable == 'sidekiq'
162
161
  @discovered_dispatcher = :sidekiq
163
162
  end
164
163
  end
@@ -5,9 +5,10 @@ module OneApm
5
5
 
6
6
  MAJOR = 1
7
7
  MINOR = 2
8
- TINY = 5
8
+ TINY = 6
9
+ TAG = 'rc1'
9
10
 
10
- STRING = [MAJOR, MINOR, TINY].compact.join('.')
11
+ STRING = [MAJOR, MINOR, TINY, TAG].compact.join('.')
11
12
 
12
13
  end
13
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneapm_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - oneapm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-23 00:00:00.000000000 Z
11
+ date: 2015-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake