Skip to content

Commit fbda2be

Browse files
committed
Revert "[oboe options] add option for ec2 metadata timeouts"
reverting this to push a minor release first This reverts commit cc2b4dd.
1 parent 4460310 commit fbda2be

File tree

6 files changed

+47
-72
lines changed

6 files changed

+47
-72
lines changed

ext/oboe_metal/src/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.2.0
1+
5.0.2

lib/appoptics_apm/config.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,13 @@ module Config
1616
@@instrumentation = [:action_controller, :action_controller_api, :action_view,
1717
:active_record, :bunnyclient, :bunnyconsumer, :cassandra, :curb,
1818
:dalli, :delayed_jobclient, :delayed_jobworker,
19-
# :em_http_request,
20-
:excon, :faraday, :grpc_client, :grpc_server, :grape,
19+
:em_http_request, :excon, :faraday, :grpc_client, :grpc_server, :grape,
2120
:httpclient, :nethttp, :memcached, :mongo, :moped, :padrino, :rack, :redis,
2221
:resqueclient, :resqueworker, :rest_client,
2322
:sequel, :sidekiqclient, :sidekiqworker, :sinatra, :typhoeus]
2423

2524
# Subgrouping of instrumentation
26-
@@http_clients = [:curb, :excon,
27-
# :em_http_request,
28-
:faraday, :httpclient, :nethttp, :rest_client, :typhoeus]
25+
@@http_clients = [:curb, :excon, :em_http_request, :faraday, :httpclient, :nethttp, :rest_client, :typhoeus]
2926

3027
##
3128
# load_config_file

lib/appoptics_apm/oboe_init_options.rb

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module AppOpticsAPM
88
class OboeInitOptions
99
include Singleton
1010

11-
attr_reader :reporter, :host, :service_name, :ec2_md_timeout # exposing these mainly for testing
11+
attr_reader :reporter, :host, :service_name # exposing these mainly for testing
1212

1313
# TODO decide if these globals are useful when testing
1414
# OBOE_HOSTNAME_ALIAS = 0
@@ -69,8 +69,6 @@ def initialize
6969
@token_bucket_rate = (ENV['APPOPTICS_TOKEN_BUCKET_RATE'] || -1).to_i
7070
# use single files in file reporter for each event
7171
@file_single = (ENV['APPOPTICS_REPORTER_FILE_SINGLE'].to_s.downcase == 'true') ? 1 : 0
72-
# timeout for ec2 metadata
73-
@ec2_md_timeout = read_and_validate_ec2_md_timeout
7472
end
7573

7674
def re_init # for testing with changed ENV vars
@@ -96,8 +94,7 @@ def array_for_oboe
9694
@histogram_precision,
9795
@token_bucket_capacity,
9896
@token_bucket_rate,
99-
@file_single,
100-
@ec2_md_timeout
97+
@file_single
10198
]
10299
end
103100

@@ -178,13 +175,6 @@ def validate_transform_service_name(service_name)
178175
@service_name = service_name # instance variable used in testing
179176
true
180177
end
181-
182-
def read_and_validate_ec2_md_timeout
183-
timeout = (ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] || AppOpticsAPM::Config[:ec2_metadata_timeout])
184-
return 1000 unless timeout.is_a?(Integer) || timeout =~ /^\d+$/
185-
timeout = timeout.to_i
186-
return timeout.between?(0, 3000) ? timeout : 1000
187-
end
188178
end
189179
end
190180

lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -195,21 +195,6 @@
195195
AppOpticsAPM::Config[:report_rescued_errors] = false
196196
#
197197

198-
#
199-
# EC2 metadata fetching timeout
200-
#
201-
# The timeout can be in the range 0 - 3000 (milliseconds)
202-
# Setting to 0 milliseconds effectively disables fetching from
203-
# the metadata URL (not waiting), and should only be used if
204-
# not running on EC2 / Openstack to minimize agent start up time.
205-
#
206-
AppOpticsAPM::Config[:ec2_metadata_timeout] = 1000
207-
208-
209-
#############################################
210-
## SETTINGS FOR INDIVIDUAL GEMS/FRAMEWORKS ##
211-
#############################################
212-
213198
#
214199
# Bunny Controller and Action
215200
#
@@ -250,7 +235,7 @@
250235
AppOpticsAPM::Config[:dalli][:enabled] = true
251236
AppOpticsAPM::Config[:delayed_jobclient][:enabled] = true
252237
AppOpticsAPM::Config[:delayed_jobworker][:enabled] = true
253-
# AppOpticsAPM::Config[:em_http_request][:enabled] = false # not supported anymore
238+
AppOpticsAPM::Config[:em_http_request][:enabled] = false
254239
AppOpticsAPM::Config[:excon][:enabled] = true
255240
AppOpticsAPM::Config[:faraday][:enabled] = true
256241
AppOpticsAPM::Config[:grpc_client][:enabled] = true
@@ -316,7 +301,7 @@
316301
AppOpticsAPM::Config[:dalli][:collect_backtraces] = false
317302
AppOpticsAPM::Config[:delayed_jobclient][:collect_backtraces] = false
318303
AppOpticsAPM::Config[:delayed_jobworker][:collect_backtraces] = false
319-
# AppOpticsAPM::Config[:em_http_request][:collect_backtraces] = true # not supported anymore
304+
AppOpticsAPM::Config[:em_http_request][:collect_backtraces] = true
320305
AppOpticsAPM::Config[:excon][:collect_backtraces] = true
321306
AppOpticsAPM::Config[:faraday][:collect_backtraces] = false
322307
AppOpticsAPM::Config[:grape][:collect_backtraces] = true

test/support/config_test.rb

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,19 +192,47 @@
192192

193193
AppOpticsAPM::Config[:blacklist].is_a?(Array).must_equal true
194194
AppOpticsAPM::Config[:report_rescued_errors].must_equal false
195-
AppOpticsAPM::Config[:ec2_metadata_timeout].must_equal 1000
196195

197196
AppOpticsAPM::Config[:bunnyconsumer][:controller].must_equal :app_id
198197
AppOpticsAPM::Config[:bunnyconsumer][:action].must_equal :type
199198

200-
# Verify the number of individual instrumentations ...
199+
# Verify the number of individual instrumentations
201200
instrumentation = AppOpticsAPM::Config.instrumentation
202-
instrumentation.count.must_equal 32
203-
204-
# ... and make sure they are enabled by default
205-
instrumentation.each do |key|
206-
AppOpticsAPM::Config[key][:enabled].must_equal true
207-
end
201+
instrumentation.count.must_equal 33
202+
203+
AppOpticsAPM::Config[:action_controller][:enabled].must_equal true
204+
AppOpticsAPM::Config[:action_controller_api][:enabled].must_equal true
205+
AppOpticsAPM::Config[:action_view][:enabled].must_equal true
206+
AppOpticsAPM::Config[:active_record][:enabled].must_equal true
207+
AppOpticsAPM::Config[:bunnyclient][:enabled].must_equal true
208+
AppOpticsAPM::Config[:bunnyconsumer][:enabled].must_equal true
209+
AppOpticsAPM::Config[:cassandra][:enabled].must_equal true
210+
AppOpticsAPM::Config[:curb][:enabled].must_equal true
211+
AppOpticsAPM::Config[:dalli][:enabled].must_equal true
212+
AppOpticsAPM::Config[:delayed_jobclient][:enabled].must_equal true
213+
AppOpticsAPM::Config[:delayed_jobworker][:enabled].must_equal true
214+
AppOpticsAPM::Config[:em_http_request][:enabled].must_equal false
215+
AppOpticsAPM::Config[:excon][:enabled].must_equal true
216+
AppOpticsAPM::Config[:faraday][:enabled].must_equal true
217+
AppOpticsAPM::Config[:grpc_client][:enabled].must_equal true
218+
AppOpticsAPM::Config[:grpc_server][:enabled].must_equal true
219+
AppOpticsAPM::Config[:grape][:enabled].must_equal true
220+
AppOpticsAPM::Config[:httpclient][:enabled].must_equal true
221+
AppOpticsAPM::Config[:memcached][:enabled].must_equal true
222+
AppOpticsAPM::Config[:mongo][:enabled].must_equal true
223+
AppOpticsAPM::Config[:moped][:enabled].must_equal true
224+
AppOpticsAPM::Config[:nethttp][:enabled].must_equal true
225+
AppOpticsAPM::Config[:padrino][:enabled].must_equal true
226+
AppOpticsAPM::Config[:rack][:enabled].must_equal true
227+
AppOpticsAPM::Config[:redis][:enabled].must_equal true
228+
AppOpticsAPM::Config[:resqueclient][:enabled].must_equal true
229+
AppOpticsAPM::Config[:resqueworker][:enabled].must_equal true
230+
AppOpticsAPM::Config[:rest_client][:enabled].must_equal true
231+
AppOpticsAPM::Config[:sequel][:enabled].must_equal true
232+
AppOpticsAPM::Config[:sidekiqclient][:enabled].must_equal true
233+
AppOpticsAPM::Config[:sidekiqworker][:enabled].must_equal true
234+
AppOpticsAPM::Config[:sinatra][:enabled].must_equal true
235+
AppOpticsAPM::Config[:typhoeus][:enabled].must_equal true
208236

209237
AppOpticsAPM::Config[:bunnyconsumer][:log_args].must_equal true
210238
AppOpticsAPM::Config[:curb][:log_args].must_equal true
@@ -233,7 +261,7 @@
233261
AppOpticsAPM::Config[:dalli][:collect_backtraces].must_equal false
234262
AppOpticsAPM::Config[:delayed_jobclient][:collect_backtraces].must_equal false
235263
AppOpticsAPM::Config[:delayed_jobworker][:collect_backtraces].must_equal false
236-
# AppOpticsAPM::Config[:em_http_request][:collect_backtraces].must_equal true
264+
AppOpticsAPM::Config[:em_http_request][:collect_backtraces].must_equal true
237265
AppOpticsAPM::Config[:excon][:collect_backtraces].must_equal true
238266
AppOpticsAPM::Config[:faraday][:collect_backtraces].must_equal false
239267
AppOpticsAPM::Config[:grape][:collect_backtraces].must_equal true

test/unit/oboe_init_options_test.rb

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,11 @@
3838
ENV['APPOPTICS_TOKEN_BUCKET_CAPACITY'] = '9'
3939
ENV['APPOPTICS_TOKEN_BUCKET_RATE'] = '10'
4040
ENV['APPOPTICS_REPORTER_FILE_SINGLE'] = 'True'
41-
ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] = '1234'
4241

4342
AppOpticsAPM::OboeInitOptions.instance.re_init
4443
options = AppOpticsAPM::OboeInitOptions.instance.array_for_oboe
4544

46-
options.size.must_equal 18
45+
options.size.must_equal 17
4746
options[0].must_equal 'string_4'
4847
options[1].must_equal 2
4948
options[2].must_equal 'string_5'
@@ -61,7 +60,6 @@
6160
options[14].must_equal 9
6261
options[15].must_equal 10
6362
options[16].must_equal 1
64-
options[17].must_equal 1234
6563
end
6664

6765
it 'reads config vars' do
@@ -71,22 +69,19 @@
7169
ENV.delete('APPOPTICS_HOSTNAME_ALIAS')
7270
ENV.delete('APPOPTICS_DEBUG_LEVEL')
7371
ENV.delete('APPOPTICS_SERVICE_KEY')
74-
ENV.delete('APPOPTICS_EC2_METADATA_TIMEOUT')
7572

7673
AppOpticsAPM::Config[:hostname_alias] = 'string_0'
7774
AppOpticsAPM::Config[:debug_level] = 0
7875
AppOpticsAPM::Config[:service_key] = '2895f613c0f452d6bc5dc000008f6754062689e224ec245926be520be0c00000:test_app'
79-
AppOpticsAPM::Config[:ec2_metadata_timeout] = 2345
8076

8177
AppOpticsAPM::OboeInitOptions.instance.re_init
8278
options = AppOpticsAPM::OboeInitOptions.instance.array_for_oboe
8379

84-
options.size.must_equal 18
80+
options.size.must_equal 17
8581

8682
options[0].must_equal 'string_0'
8783
options[1].must_equal 0
8884
options[9].must_equal '2895f613c0f452d6bc5dc000008f6754062689e224ec245926be520be0c00000:test_app'
89-
options[17].must_equal 2345
9085
end
9186

9287
it 'env vars override config vars' do
@@ -96,22 +91,19 @@
9691
ENV['APPOPTICS_HOSTNAME_ALIAS'] = 'string_0'
9792
ENV['APPOPTICS_DEBUG_LEVEL'] = '1'
9893
ENV['APPOPTICS_SERVICE_KEY'] = '2895f613c0f452d6bc5dc000008f6754062689e224ec245926be520be0c00000:test_app'
99-
ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] = '1212'
10094

10195
AppOpticsAPM::Config[:hostname_alias] = 'string_2'
10296
AppOpticsAPM::Config[:debug_level] = 2
10397
AppOpticsAPM::Config[:service_key] = 'string_3'
104-
AppOpticsAPM::Config[:ec2_metadata_timeout] = 2323
10598

10699
AppOpticsAPM::OboeInitOptions.instance.re_init
107100
options = AppOpticsAPM::OboeInitOptions.instance.array_for_oboe
108101

109-
options.size.must_equal 18
102+
options.size.must_equal 17
110103

111104
options[0].must_equal 'string_0'
112105
options[1].must_equal 1
113106
options[9].must_equal '2895f613c0f452d6bc5dc000008f6754062689e224ec245926be520be0c00000:test_app'
114-
options[17].must_equal 1212
115107
end
116108

117109
it 'checks the service_key for ssl' do
@@ -255,21 +247,4 @@
255247
AppOpticsAPM::OboeInitOptions.instance.service_key_ok?.must_equal true
256248
AppOpticsAPM::OboeInitOptions.instance.service_name.must_equal "serv_#{'1234567890' * 25}"
257249
end
258-
259-
it 'replaces invalid ec2 metadata timeouts with the default' do
260-
ENV.delete('APPOPTICS_EC2_METADATA_TIMEOUT')
261-
262-
ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] = '-12'
263-
AppOpticsAPM::OboeInitOptions.instance.re_init
264-
AppOpticsAPM::OboeInitOptions.instance.ec2_md_timeout.must_equal 1000
265-
266-
ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] = '3001'
267-
AppOpticsAPM::OboeInitOptions.instance.re_init
268-
AppOpticsAPM::OboeInitOptions.instance.ec2_md_timeout.must_equal 1000
269-
270-
271-
ENV['APPOPTICS_EC2_METADATA_TIMEOUT'] = 'qoieurqopityeoritbweortmvoiu'
272-
AppOpticsAPM::OboeInitOptions.instance.re_init
273-
AppOpticsAPM::OboeInitOptions.instance.ec2_md_timeout.must_equal 1000
274-
end
275250
end

0 commit comments

Comments
 (0)