ddtrace 0.28.0 → 0.29.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/.circleci/config.yml +8 -0
- data/Appraisals +57 -2
- data/CHANGELOG.md +41 -12
- data/Rakefile +3 -3
- data/ddtrace.gemspec +2 -1
- data/docs/DevelopmentGuide.md +1 -1
- data/docs/GettingStarted.md +6 -6
- data/lib/ddtrace.rb +7 -0
- data/lib/ddtrace/buffer.rb +60 -1
- data/lib/ddtrace/configuration/base.rb +82 -0
- data/lib/ddtrace/configuration/option.rb +28 -5
- data/lib/ddtrace/configuration/option_definition.rb +100 -0
- data/lib/ddtrace/configuration/options.rb +28 -14
- data/lib/ddtrace/configuration/settings.rb +77 -64
- data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +9 -7
- data/lib/ddtrace/contrib/action_view/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +8 -14
- data/lib/ddtrace/contrib/active_model_serializers/event.rb +1 -1
- data/lib/ddtrace/contrib/active_record/configuration/settings.rb +11 -16
- data/lib/ddtrace/contrib/active_record/event.rb +1 -1
- data/lib/ddtrace/contrib/active_support/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +2 -2
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +4 -1
- data/lib/ddtrace/contrib/aws/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/configuration/settings.rb +5 -11
- data/lib/ddtrace/contrib/dalli/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/dalli/instrumentation.rb +1 -18
- data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/ethon/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/ethon/integration.rb +0 -4
- data/lib/ddtrace/contrib/excon/configuration/settings.rb +9 -7
- data/lib/ddtrace/contrib/excon/middleware.rb +1 -1
- data/lib/ddtrace/contrib/faraday/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/faraday/middleware.rb +1 -1
- data/lib/ddtrace/contrib/faraday/patcher.rb +8 -2
- data/lib/ddtrace/contrib/faraday/rack_builder.rb +18 -0
- data/lib/ddtrace/contrib/grape/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -42
- data/lib/ddtrace/contrib/graphql/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/grpc/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/grpc/integration.rb +1 -3
- data/lib/ddtrace/contrib/http/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/http/instrumentation.rb +1 -23
- data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -23
- data/lib/ddtrace/contrib/patchable.rb +1 -1
- data/lib/ddtrace/contrib/racecar/configuration/settings.rb +8 -14
- data/lib/ddtrace/contrib/racecar/event.rb +1 -1
- data/lib/ddtrace/contrib/rack/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/rack/request_queue.rb +7 -6
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +30 -21
- data/lib/ddtrace/contrib/rake/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/rake/integration.rb +0 -4
- data/lib/ddtrace/contrib/redis/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/rest_client/integration.rb +0 -4
- data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -18
- data/lib/ddtrace/contrib/sequel/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/sequel/integration.rb +0 -4
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +8 -6
- data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +8 -6
- data/lib/ddtrace/diagnostics/health.rb +30 -0
- data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -1
- data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
- data/lib/ddtrace/ext/diagnostics.rb +25 -0
- data/lib/ddtrace/ext/runtime.rb +1 -7
- data/lib/ddtrace/metrics.rb +89 -6
- data/lib/ddtrace/propagation/http_propagator.rb +2 -2
- data/lib/ddtrace/runtime/class_count.rb +3 -3
- data/lib/ddtrace/runtime/object_space.rb +19 -0
- data/lib/ddtrace/span.rb +1 -1
- data/lib/ddtrace/tracer.rb +5 -4
- data/lib/ddtrace/transport/http/client.rb +3 -4
- data/lib/ddtrace/transport/http/response.rb +4 -0
- data/lib/ddtrace/transport/http/statistics.rb +30 -0
- data/lib/ddtrace/transport/statistics.rb +28 -0
- data/lib/ddtrace/version.rb +3 -1
- data/lib/ddtrace/workers.rb +4 -2
- data/lib/ddtrace/writer.rb +3 -3
- metadata +74 -54
|
@@ -7,23 +7,17 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Racecar integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :service_name, default: Ext::SERVICE_NAME
|
|
19
|
-
option :tracer, default: Datadog.tracer do |value|
|
|
20
|
-
(value || Datadog.tracer).tap do |v|
|
|
21
|
-
# Make sure to update tracers of all subscriptions
|
|
22
|
-
Events.subscriptions.each do |subscription|
|
|
23
|
-
subscription.tracer = v
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
21
|
end
|
|
28
22
|
end
|
|
29
23
|
end
|
|
@@ -14,13 +14,15 @@ module Datadog
|
|
|
14
14
|
]
|
|
15
15
|
}.freeze
|
|
16
16
|
|
|
17
|
-
option
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
option :analytics_enabled do |o|
|
|
18
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, nil) }
|
|
19
|
+
o.lazy
|
|
20
|
+
end
|
|
20
21
|
|
|
21
|
-
option
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
option :analytics_sample_rate do |o|
|
|
23
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
24
|
+
o.lazy
|
|
25
|
+
end
|
|
24
26
|
|
|
25
27
|
option :application
|
|
26
28
|
option :distributed_tracing, default: true
|
|
@@ -5,6 +5,7 @@ module Datadog
|
|
|
5
5
|
module QueueTime
|
|
6
6
|
REQUEST_START = 'HTTP_X_REQUEST_START'.freeze
|
|
7
7
|
QUEUE_START = 'HTTP_X_QUEUE_START'.freeze
|
|
8
|
+
MINIMUM_ACCEPTABLE_TIME_VALUE = 1_000_000_000
|
|
8
9
|
|
|
9
10
|
module_function
|
|
10
11
|
|
|
@@ -12,15 +13,15 @@ module Datadog
|
|
|
12
13
|
header = env[REQUEST_START] || env[QUEUE_START]
|
|
13
14
|
return unless header
|
|
14
15
|
|
|
15
|
-
# nginx header is in the format "t=1512379167.574"
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
time_string = header.
|
|
16
|
+
# nginx header is seconds in the format "t=1512379167.574"
|
|
17
|
+
# apache header is microseconds in the format "t=1570633834463123"
|
|
18
|
+
# heroku header is milliseconds in the format "1570634024294"
|
|
19
|
+
time_string = header.to_s.delete('^0-9')
|
|
19
20
|
return if time_string.nil?
|
|
20
21
|
|
|
21
22
|
# Return nil if the time is clearly invalid
|
|
22
|
-
time_value = time_string.to_f
|
|
23
|
-
return if time_value.zero?
|
|
23
|
+
time_value = "#{time_string[0, 10]}.#{time_string[10, 6]}".to_f
|
|
24
|
+
return if time_value.zero? || time_value < MINIMUM_ACCEPTABLE_TIME_VALUE
|
|
24
25
|
|
|
25
26
|
# return the request_start only if it's lesser than
|
|
26
27
|
# current time, to avoid significant clock skew
|
|
@@ -6,58 +6,67 @@ module Datadog
|
|
|
6
6
|
module Configuration
|
|
7
7
|
# Custom settings for the Rails integration
|
|
8
8
|
class Settings < Contrib::Configuration::Settings
|
|
9
|
-
option
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
option :analytics_enabled do |o|
|
|
10
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, nil) }
|
|
11
|
+
o.lazy
|
|
12
|
+
o.on_set do |value|
|
|
13
13
|
# Update ActionPack analytics too
|
|
14
14
|
Datadog.configuration[:action_pack][:analytics_enabled] = value
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
option
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
option :analytics_sample_rate do |o|
|
|
19
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
20
|
+
o.lazy
|
|
21
|
+
o.on_set do |value|
|
|
22
22
|
# Update ActionPack analytics too
|
|
23
23
|
Datadog.configuration[:action_pack][:analytics_sample_rate] = value
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
option :cache_service do |
|
|
28
|
-
|
|
27
|
+
option :cache_service do |o|
|
|
28
|
+
o.on_set do |value|
|
|
29
29
|
# Update ActiveSupport service name too
|
|
30
30
|
Datadog.configuration[:active_support][:cache_service] = value
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
|
|
34
|
+
option :controller_service do |o|
|
|
35
|
+
o.on_set do |value|
|
|
35
36
|
# Update ActionPack service name too
|
|
36
37
|
Datadog.configuration[:action_pack][:controller_service] = value
|
|
37
38
|
end
|
|
38
39
|
end
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
|
|
41
|
+
option :database_service do |o|
|
|
42
|
+
o.depends_on :service_name
|
|
43
|
+
o.on_set do |value|
|
|
41
44
|
# Update ActiveRecord service name too
|
|
42
45
|
Datadog.configuration[:active_record][:service_name] = value
|
|
43
46
|
end
|
|
44
47
|
end
|
|
48
|
+
|
|
45
49
|
option :distributed_tracing, default: true
|
|
46
|
-
option :exception_controller
|
|
47
|
-
|
|
50
|
+
option :exception_controller do |o|
|
|
51
|
+
o.on_set do |value|
|
|
48
52
|
# Update ActionPack exception controller too
|
|
49
53
|
Datadog.configuration[:action_pack][:exception_controller] = value
|
|
50
54
|
end
|
|
51
55
|
end
|
|
56
|
+
|
|
52
57
|
option :middleware, default: true
|
|
53
58
|
option :middleware_names, default: false
|
|
54
|
-
option :template_base_path
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
option :template_base_path do |o|
|
|
60
|
+
o.default 'views/'
|
|
61
|
+
o.on_set do |value|
|
|
62
|
+
# Update ActionView template base path too
|
|
63
|
+
Datadog.configuration[:action_view][:template_base_path] = value
|
|
64
|
+
end
|
|
57
65
|
end
|
|
58
66
|
|
|
59
|
-
option :tracer
|
|
60
|
-
|
|
67
|
+
option :tracer do |o|
|
|
68
|
+
o.delegate_to { Datadog.tracer }
|
|
69
|
+
o.on_set do |value|
|
|
61
70
|
Datadog.configuration[:active_record][:tracer] = value
|
|
62
71
|
Datadog.configuration[:active_support][:tracer] = value
|
|
63
72
|
Datadog.configuration[:action_pack][:tracer] = value
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Rake integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :enabled, default: true
|
|
19
21
|
option :quantize, default: {}
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Redis integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :service_name, default: Ext::SERVICE_NAME
|
|
19
21
|
end
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Resque integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :service_name, default: Ext::SERVICE_NAME
|
|
19
21
|
option :workers, default: []
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the RestClient integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :distributed_tracing, default: true
|
|
19
21
|
option :service_name, default: Ext::SERVICE_NAME
|
|
@@ -9,28 +9,11 @@ module Datadog
|
|
|
9
9
|
# RestClient RequestPatch
|
|
10
10
|
module RequestPatch
|
|
11
11
|
def self.included(base)
|
|
12
|
-
|
|
13
|
-
base.class_eval do
|
|
14
|
-
alias_method :execute_without_datadog, :execute
|
|
15
|
-
remove_method :execute
|
|
16
|
-
include InstanceMethods
|
|
17
|
-
end
|
|
18
|
-
else
|
|
19
|
-
base.send(:prepend, InstanceMethods)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Compatibility shim for Rubies not supporting `.prepend`
|
|
24
|
-
module InstanceMethodsCompatibility
|
|
25
|
-
def execute(&block)
|
|
26
|
-
execute_without_datadog(&block)
|
|
27
|
-
end
|
|
12
|
+
base.send(:prepend, InstanceMethods)
|
|
28
13
|
end
|
|
29
14
|
|
|
30
15
|
# InstanceMethods - implementing instrumentation
|
|
31
16
|
module InstanceMethods
|
|
32
|
-
include InstanceMethodsCompatibility unless Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.0.0')
|
|
33
|
-
|
|
34
17
|
def execute(&block)
|
|
35
18
|
uri = URI.parse(url)
|
|
36
19
|
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Sequel integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
end
|
|
18
20
|
end
|
|
19
21
|
end
|
|
@@ -6,13 +6,15 @@ module Datadog
|
|
|
6
6
|
module Configuration
|
|
7
7
|
# Default settings for the Shoryuken integration
|
|
8
8
|
class Settings < Contrib::Configuration::Settings
|
|
9
|
-
option
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
option :analytics_enabled do |o|
|
|
10
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
11
|
+
o.lazy
|
|
12
|
+
end
|
|
12
13
|
|
|
13
|
-
option
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
option :analytics_sample_rate do |o|
|
|
15
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
16
|
+
o.lazy
|
|
17
|
+
end
|
|
16
18
|
|
|
17
19
|
option :service_name, default: Ext::SERVICE_NAME
|
|
18
20
|
end
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the Sidekiq integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :service_name, default: Ext::SERVICE_NAME
|
|
19
21
|
option :client_service_name, default: Ext::CLIENT_SERVICE_NAME
|
|
@@ -12,13 +12,15 @@ module Datadog
|
|
|
12
12
|
response: %w[Content-Type X-Request-ID]
|
|
13
13
|
}.freeze
|
|
14
14
|
|
|
15
|
-
option
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
option :analytics_enabled do |o|
|
|
16
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, nil) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
18
19
|
|
|
19
|
-
option
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
option :analytics_sample_rate do |o|
|
|
21
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
22
|
+
o.lazy
|
|
23
|
+
end
|
|
22
24
|
|
|
23
25
|
option :distributed_tracing, default: true
|
|
24
26
|
option :headers, default: DEFAULT_HEADERS
|
|
@@ -7,13 +7,15 @@ module Datadog
|
|
|
7
7
|
module Configuration
|
|
8
8
|
# Custom settings for the SuckerPunch integration
|
|
9
9
|
class Settings < Contrib::Configuration::Settings
|
|
10
|
-
option
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
option :analytics_enabled do |o|
|
|
11
|
+
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, false) }
|
|
12
|
+
o.lazy
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
option
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
option :analytics_sample_rate do |o|
|
|
16
|
+
o.default { env_to_float(Ext::ENV_ANALYTICS_SAMPLE_RATE, 1.0) }
|
|
17
|
+
o.lazy
|
|
18
|
+
end
|
|
17
19
|
|
|
18
20
|
option :service_name, default: Ext::SERVICE_NAME
|
|
19
21
|
end
|