ddtrace 1.12.1 → 1.23.2
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/CHANGELOG.md +613 -9
- data/LICENSE-3rdparty.csv +1 -1
- data/bin/ddprofrb +15 -0
- data/bin/ddtracerb +3 -1
- data/ext/{ddtrace_profiling_loader/ddtrace_profiling_loader.c → datadog_profiling_loader/datadog_profiling_loader.c} +2 -2
- data/ext/{ddtrace_profiling_loader → datadog_profiling_loader}/extconf.rb +3 -3
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/NativeExtensionDesign.md +3 -5
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id.h +0 -3
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_from_pthread.c +3 -22
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_noop.c +0 -1
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_cpu_and_wall_time_worker.c +338 -108
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +422 -0
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.h +101 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.c +22 -14
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_dynamic_sampling_rate.h +4 -0
- data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.c +156 -0
- data/ext/datadog_profiling_native_extension/collectors_gc_profiling_helper.h +5 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.c +3 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.c +111 -118
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_stack.h +11 -4
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.c +545 -144
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_thread_context.h +3 -2
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +68 -17
- data/ext/datadog_profiling_native_extension/heap_recorder.c +1047 -0
- data/ext/datadog_profiling_native_extension/heap_recorder.h +166 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/helpers.h +6 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +60 -32
- data/ext/datadog_profiling_native_extension/libdatadog_helpers.c +62 -0
- data/ext/datadog_profiling_native_extension/libdatadog_helpers.h +42 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/native_extension_helpers.rb +50 -4
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +155 -32
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.h +16 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/profiling.c +19 -3
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +267 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/ruby_helpers.h +33 -0
- data/ext/datadog_profiling_native_extension/stack_recorder.c +1040 -0
- data/ext/datadog_profiling_native_extension/stack_recorder.h +27 -0
- data/ext/datadog_profiling_native_extension/time_helpers.c +53 -0
- data/ext/datadog_profiling_native_extension/time_helpers.h +26 -0
- data/lib/datadog/appsec/assets/waf_rules/processors.json +92 -0
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +698 -75
- data/lib/datadog/appsec/assets/waf_rules/scanners.json +114 -0
- data/lib/datadog/appsec/assets/waf_rules/strict.json +98 -8
- data/lib/datadog/appsec/assets.rb +8 -0
- data/lib/datadog/appsec/component.rb +21 -2
- data/lib/datadog/appsec/configuration/settings.rb +167 -189
- data/lib/datadog/appsec/configuration.rb +0 -79
- data/lib/datadog/appsec/contrib/auto_instrument.rb +2 -4
- data/lib/datadog/appsec/contrib/devise/event.rb +57 -0
- data/lib/datadog/appsec/contrib/devise/ext.rb +13 -0
- data/lib/datadog/appsec/contrib/devise/integration.rb +42 -0
- data/lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb +76 -0
- data/lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb +54 -0
- data/lib/datadog/appsec/contrib/devise/patcher.rb +45 -0
- data/lib/datadog/appsec/contrib/devise/resource.rb +35 -0
- data/lib/datadog/appsec/contrib/devise/tracking.rb +57 -0
- data/lib/datadog/appsec/contrib/rack/ext.rb +2 -1
- data/lib/datadog/appsec/contrib/rack/gateway/request.rb +6 -2
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +8 -6
- data/lib/datadog/appsec/contrib/rack/reactive/request.rb +3 -8
- data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +3 -6
- data/lib/datadog/appsec/contrib/rack/reactive/response.rb +3 -6
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +3 -2
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +77 -27
- data/lib/datadog/appsec/contrib/rails/ext.rb +3 -2
- data/lib/datadog/appsec/contrib/rails/framework.rb +1 -3
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +3 -2
- data/lib/datadog/appsec/contrib/rails/patcher.rb +17 -11
- data/lib/datadog/appsec/contrib/rails/reactive/action.rb +3 -6
- data/lib/datadog/appsec/contrib/sinatra/ext.rb +2 -1
- data/lib/datadog/appsec/contrib/sinatra/framework.rb +1 -3
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +6 -4
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +13 -7
- data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +3 -6
- data/lib/datadog/appsec/event.rb +106 -50
- data/lib/datadog/appsec/extensions.rb +1 -130
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +3 -3
- data/lib/datadog/appsec/monitor/reactive/set_user.rb +3 -6
- data/lib/datadog/appsec/processor/actions.rb +49 -0
- data/lib/datadog/appsec/processor/rule_loader.rb +60 -0
- data/lib/datadog/appsec/processor/rule_merger.rb +22 -2
- data/lib/datadog/appsec/processor.rb +35 -7
- data/lib/datadog/appsec/rate_limiter.rb +1 -1
- data/lib/datadog/appsec/remote.rb +17 -11
- data/lib/datadog/appsec/response.rb +82 -4
- data/lib/datadog/appsec/sample_rate.rb +21 -0
- data/lib/datadog/appsec.rb +3 -4
- data/lib/datadog/auto_instrument.rb +3 -0
- data/lib/datadog/core/backport.rb +51 -0
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +38 -29
- data/lib/datadog/core/configuration/base.rb +6 -16
- data/lib/datadog/core/configuration/components.rb +20 -7
- data/lib/datadog/core/configuration/ext.rb +28 -5
- data/lib/datadog/core/configuration/option.rb +271 -21
- data/lib/datadog/core/configuration/option_definition.rb +73 -32
- data/lib/datadog/core/configuration/options.rb +27 -15
- data/lib/datadog/core/configuration/settings.rb +398 -119
- data/lib/datadog/core/configuration.rb +24 -4
- data/lib/datadog/core/diagnostics/environment_logger.rb +132 -235
- data/lib/datadog/core/environment/class_count.rb +6 -6
- data/lib/datadog/core/environment/execution.rb +103 -0
- data/lib/datadog/core/environment/ext.rb +13 -11
- data/lib/datadog/core/environment/git.rb +25 -0
- data/lib/datadog/core/environment/identity.rb +18 -48
- data/lib/datadog/core/environment/platform.rb +7 -1
- data/lib/datadog/core/environment/variable_helpers.rb +0 -69
- data/lib/datadog/core/environment/yjit.rb +58 -0
- data/lib/datadog/core/error.rb +1 -0
- data/lib/datadog/core/git/ext.rb +6 -23
- data/lib/datadog/core/logging/ext.rb +3 -1
- data/lib/datadog/core/metrics/ext.rb +7 -5
- data/lib/datadog/core/remote/client/capabilities.rb +7 -2
- data/lib/datadog/core/remote/client.rb +3 -0
- data/lib/datadog/core/remote/component.rb +52 -48
- data/lib/datadog/core/remote/configuration/content.rb +28 -1
- data/lib/datadog/core/remote/configuration/repository.rb +3 -1
- data/lib/datadog/core/remote/ext.rb +2 -1
- data/lib/datadog/core/remote/negotiation.rb +20 -7
- data/lib/datadog/core/remote/tie/tracing.rb +39 -0
- data/lib/datadog/core/remote/tie.rb +27 -0
- data/lib/datadog/core/remote/transport/config.rb +60 -0
- data/lib/datadog/core/remote/transport/http/api/instance.rb +39 -0
- data/lib/datadog/core/remote/transport/http/api/spec.rb +21 -0
- data/lib/datadog/core/remote/transport/http/api.rb +58 -0
- data/lib/datadog/core/remote/transport/http/builder.rb +219 -0
- data/lib/datadog/core/remote/transport/http/client.rb +48 -0
- data/lib/datadog/core/remote/transport/http/config.rb +280 -0
- data/lib/datadog/core/remote/transport/http/negotiation.rb +146 -0
- data/lib/datadog/core/remote/transport/http.rb +179 -0
- data/lib/datadog/core/{transport → remote/transport}/negotiation.rb +25 -23
- data/lib/datadog/core/remote/worker.rb +11 -5
- data/lib/datadog/core/runtime/ext.rb +22 -12
- data/lib/datadog/core/runtime/metrics.rb +43 -0
- data/lib/datadog/core/telemetry/client.rb +28 -10
- data/lib/datadog/core/telemetry/emitter.rb +9 -11
- data/lib/datadog/core/telemetry/event.rb +250 -44
- data/lib/datadog/core/telemetry/ext.rb +8 -1
- data/lib/datadog/core/telemetry/heartbeat.rb +3 -7
- data/lib/datadog/core/telemetry/http/ext.rb +13 -8
- data/lib/datadog/core/telemetry/http/response.rb +4 -0
- data/lib/datadog/core/telemetry/http/transport.rb +10 -3
- data/lib/datadog/core/telemetry/request.rb +59 -0
- data/lib/datadog/core/transport/ext.rb +49 -0
- data/lib/datadog/core/transport/http/adapters/net.rb +168 -0
- data/lib/datadog/core/transport/http/adapters/registry.rb +29 -0
- data/lib/datadog/core/transport/http/adapters/test.rb +89 -0
- data/lib/datadog/core/transport/http/adapters/unix_socket.rb +83 -0
- data/lib/datadog/core/transport/http/api/endpoint.rb +31 -0
- data/lib/datadog/core/transport/http/api/fallbacks.rb +26 -0
- data/lib/datadog/core/transport/http/api/map.rb +18 -0
- data/lib/datadog/core/transport/http/env.rb +62 -0
- data/lib/datadog/core/transport/http/response.rb +60 -0
- data/lib/datadog/core/transport/parcel.rb +22 -0
- data/lib/datadog/core/transport/request.rb +17 -0
- data/lib/datadog/core/transport/response.rb +64 -0
- data/lib/datadog/core/utils/duration.rb +52 -0
- data/lib/datadog/core/utils/hash.rb +47 -0
- data/lib/datadog/core/utils/network.rb +1 -1
- data/lib/datadog/core/utils/safe_dup.rb +27 -20
- data/lib/datadog/core/utils/url.rb +25 -0
- data/lib/datadog/core/utils.rb +1 -1
- data/lib/datadog/core/workers/async.rb +3 -2
- data/lib/datadog/core/workers/polling.rb +2 -2
- data/lib/datadog/kit/appsec/events.rb +139 -89
- data/lib/datadog/kit/enable_core_dumps.rb +5 -6
- data/lib/datadog/kit/identity.rb +80 -65
- data/lib/datadog/opentelemetry/api/context.rb +10 -3
- data/lib/datadog/opentelemetry/sdk/propagator.rb +5 -3
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +48 -5
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +167 -0
- data/lib/datadog/opentelemetry/trace.rb +58 -0
- data/lib/datadog/opentelemetry.rb +4 -0
- data/lib/datadog/opentracer/text_map_propagator.rb +2 -1
- data/lib/datadog/opentracer.rb +9 -0
- data/lib/datadog/profiling/collectors/code_provenance.rb +10 -4
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +43 -20
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +3 -1
- data/lib/datadog/profiling/collectors/info.rb +101 -0
- data/lib/datadog/profiling/collectors/thread_context.rb +17 -2
- data/lib/datadog/profiling/component.rb +248 -97
- data/lib/datadog/profiling/exporter.rb +26 -5
- data/lib/datadog/profiling/ext.rb +2 -12
- data/lib/datadog/profiling/flush.rb +10 -5
- data/lib/datadog/profiling/http_transport.rb +23 -6
- data/lib/datadog/profiling/load_native_extension.rb +25 -6
- data/lib/datadog/profiling/native_extension.rb +1 -22
- data/lib/datadog/profiling/profiler.rb +36 -13
- data/lib/datadog/profiling/scheduler.rb +20 -15
- data/lib/datadog/profiling/stack_recorder.rb +19 -4
- data/lib/datadog/profiling/tag_builder.rb +5 -0
- data/lib/datadog/profiling/tasks/exec.rb +3 -3
- data/lib/datadog/profiling/tasks/help.rb +3 -3
- data/lib/datadog/profiling.rb +28 -79
- data/lib/datadog/tracing/component.rb +70 -11
- data/lib/datadog/tracing/configuration/agent_settings_resolver.rb +13 -0
- data/lib/datadog/tracing/configuration/dynamic/option.rb +71 -0
- data/lib/datadog/tracing/configuration/dynamic.rb +64 -0
- data/lib/datadog/tracing/configuration/ext.rb +40 -33
- data/lib/datadog/tracing/configuration/http.rb +74 -0
- data/lib/datadog/tracing/configuration/settings.rb +136 -99
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/action_cable/ext.rb +21 -18
- data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/ext.rb +21 -18
- data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +10 -7
- data/lib/datadog/tracing/contrib/action_pack/ext.rb +11 -8
- data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/action_view/ext.rb +13 -10
- data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +14 -7
- data/lib/datadog/tracing/contrib/active_job/ext.rb +26 -23
- data/lib/datadog/tracing/contrib/active_job/log_injection.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +13 -10
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +29 -15
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +10 -7
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +2 -6
- data/lib/datadog/tracing/contrib/active_record/ext.rb +18 -15
- data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +106 -202
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +3 -0
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +10 -7
- data/lib/datadog/tracing/contrib/active_support/ext.rb +19 -16
- data/lib/datadog/tracing/contrib/analytics.rb +0 -1
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +15 -7
- data/lib/datadog/tracing/contrib/aws/ext.rb +38 -24
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +16 -5
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +20 -0
- data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +3 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +14 -14
- data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +4 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +3 -10
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +2 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +19 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +22 -0
- data/lib/datadog/tracing/contrib/configurable.rb +1 -1
- data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +21 -7
- data/lib/datadog/tracing/contrib/dalli/ext.rb +27 -11
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +17 -8
- data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +14 -7
- data/lib/datadog/tracing/contrib/delayed_job/ext.rb +17 -14
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +15 -7
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +22 -15
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +104 -99
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +17 -9
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +48 -3
- data/lib/datadog/tracing/contrib/ethon/ext.rb +20 -11
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +6 -3
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +20 -10
- data/lib/datadog/tracing/contrib/excon/ext.rb +17 -8
- data/lib/datadog/tracing/contrib/excon/middleware.rb +25 -5
- data/lib/datadog/tracing/contrib/ext.rb +26 -1
- data/lib/datadog/tracing/contrib/extensions.rb +38 -2
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +27 -10
- data/lib/datadog/tracing/contrib/faraday/ext.rb +17 -8
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +22 -6
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +9 -6
- data/lib/datadog/tracing/contrib/grape/ext.rb +17 -14
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +9 -6
- data/lib/datadog/tracing/contrib/graphql/ext.rb +8 -5
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +40 -9
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +39 -20
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +37 -18
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +0 -4
- data/lib/datadog/tracing/contrib/grpc/ext.rb +17 -13
- data/lib/datadog/tracing/contrib/grpc/formatting.rb +127 -0
- data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +3 -2
- data/lib/datadog/tracing/contrib/hanami/ext.rb +10 -8
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +5 -8
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +34 -11
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +2 -2
- data/lib/datadog/tracing/contrib/http/ext.rb +17 -9
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +27 -7
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +34 -11
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +18 -9
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +22 -5
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +34 -11
- data/lib/datadog/tracing/contrib/httprb/ext.rb +17 -9
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +22 -5
- data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/kafka/ext.rb +43 -39
- data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +3 -2
- data/lib/datadog/tracing/contrib/lograge/ext.rb +3 -1
- data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +2 -17
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +15 -7
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +21 -16
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +16 -5
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +22 -14
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +16 -10
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +22 -7
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +53 -0
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +38 -0
- data/lib/datadog/tracing/contrib/opensearch/integration.rb +44 -0
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +135 -0
- data/lib/datadog/tracing/contrib/opensearch/quantize.rb +81 -0
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +23 -14
- data/lib/datadog/tracing/contrib/pg/ext.rb +23 -19
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +49 -9
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +15 -7
- data/lib/datadog/tracing/contrib/presto/ext.rb +26 -20
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +14 -5
- data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +12 -10
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
- data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +13 -8
- data/lib/datadog/tracing/contrib/qless/ext.rb +15 -12
- data/lib/datadog/tracing/contrib/que/configuration/settings.rb +22 -12
- data/lib/datadog/tracing/contrib/que/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +10 -7
- data/lib/datadog/tracing/contrib/racecar/event.rb +5 -5
- data/lib/datadog/tracing/contrib/racecar/ext.rb +21 -18
- data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +17 -12
- data/lib/datadog/tracing/contrib/rack/ext.rb +19 -16
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +3 -0
- data/lib/datadog/tracing/contrib/rack/header_tagging.rb +63 -0
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +16 -50
- data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +0 -2
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +20 -15
- data/lib/datadog/tracing/contrib/rails/ext.rb +8 -5
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +7 -10
- data/lib/datadog/tracing/contrib/rails/patcher.rb +10 -41
- data/lib/datadog/tracing/contrib/rails/railtie.rb +3 -3
- data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +14 -10
- data/lib/datadog/tracing/contrib/rake/ext.rb +15 -12
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +18 -9
- data/lib/datadog/tracing/contrib/redis/ext.rb +23 -15
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +5 -40
- data/lib/datadog/tracing/contrib/redis/patcher.rb +34 -21
- data/lib/datadog/tracing/contrib/redis/tags.rb +16 -7
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +46 -33
- data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +14 -7
- data/lib/datadog/tracing/contrib/resque/ext.rb +10 -7
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +17 -9
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +16 -8
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +25 -5
- data/lib/datadog/tracing/contrib/roda/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/roda/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +3 -2
- data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +3 -1
- data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +4 -20
- data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/sequel/ext.rb +11 -8
- data/lib/datadog/tracing/contrib/sequel/utils.rb +7 -7
- data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +15 -8
- data/lib/datadog/tracing/contrib/shoryuken/ext.rb +15 -12
- data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +19 -11
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +33 -30
- data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +12 -9
- data/lib/datadog/tracing/contrib/sinatra/env.rb +0 -17
- data/lib/datadog/tracing/contrib/sinatra/ext.rb +22 -19
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +3 -14
- data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +15 -8
- data/lib/datadog/tracing/contrib/sneakers/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/sneakers/tracer.rb +1 -1
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +74 -10
- data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/stripe/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +10 -6
- data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +16 -13
- data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +58 -0
- data/lib/datadog/tracing/contrib/trilogy/ext.rb +27 -0
- data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +94 -0
- data/lib/datadog/tracing/contrib/trilogy/integration.rb +43 -0
- data/lib/datadog/{ci/contrib/cucumber → tracing/contrib/trilogy}/patcher.rb +10 -6
- data/lib/datadog/tracing/contrib/utils/database.rb +5 -3
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +11 -11
- data/lib/datadog/tracing/contrib.rb +2 -0
- data/lib/datadog/tracing/correlation.rb +29 -12
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +165 -0
- data/lib/datadog/tracing/diagnostics/ext.rb +21 -19
- data/lib/datadog/tracing/distributed/b3_multi.rb +2 -2
- data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
- data/lib/datadog/tracing/distributed/datadog.rb +0 -1
- data/lib/datadog/tracing/distributed/propagation.rb +35 -34
- data/lib/datadog/tracing/distributed/trace_context.rb +52 -17
- data/lib/datadog/tracing/metadata/ext.rb +9 -6
- data/lib/datadog/tracing/metadata/tagging.rb +3 -3
- data/lib/datadog/tracing/remote.rb +78 -0
- data/lib/datadog/tracing/sampling/matcher.rb +23 -3
- data/lib/datadog/tracing/sampling/rule.rb +7 -2
- data/lib/datadog/tracing/sampling/rule_sampler.rb +31 -0
- data/lib/datadog/tracing/span_operation.rb +3 -15
- data/lib/datadog/tracing/sync_writer.rb +3 -3
- data/lib/datadog/tracing/trace_digest.rb +31 -0
- data/lib/datadog/tracing/trace_operation.rb +17 -5
- data/lib/datadog/tracing/trace_segment.rb +5 -2
- data/lib/datadog/tracing/tracer.rb +12 -1
- data/lib/datadog/{core → tracing}/transport/http/api/instance.rb +1 -1
- data/lib/datadog/{core → tracing}/transport/http/api/spec.rb +1 -1
- data/lib/datadog/tracing/transport/http/api.rb +43 -0
- data/lib/datadog/{core → tracing}/transport/http/builder.rb +13 -68
- data/lib/datadog/tracing/transport/http/client.rb +57 -0
- data/lib/datadog/tracing/transport/http/statistics.rb +47 -0
- data/lib/datadog/tracing/transport/http/traces.rb +152 -0
- data/lib/datadog/tracing/transport/http.rb +125 -0
- data/lib/datadog/tracing/transport/io/client.rb +89 -0
- data/lib/datadog/tracing/transport/io/response.rb +27 -0
- data/lib/datadog/tracing/transport/io/traces.rb +101 -0
- data/lib/datadog/tracing/transport/io.rb +30 -0
- data/lib/datadog/tracing/transport/serializable_trace.rb +126 -0
- data/lib/datadog/tracing/transport/statistics.rb +77 -0
- data/lib/datadog/tracing/transport/trace_formatter.rb +240 -0
- data/lib/datadog/tracing/transport/traces.rb +224 -0
- data/lib/datadog/tracing/workers/trace_writer.rb +6 -4
- data/lib/datadog/tracing/workers.rb +4 -2
- data/lib/datadog/tracing/writer.rb +5 -2
- data/lib/datadog/tracing.rb +8 -2
- data/lib/ddtrace/transport/ext.rb +22 -14
- data/lib/ddtrace/version.rb +9 -12
- data/lib/ddtrace.rb +1 -1
- metadata +157 -139
- data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +0 -25
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +0 -110
- data/ext/ddtrace_profiling_native_extension/stack_recorder.c +0 -591
- data/ext/ddtrace_profiling_native_extension/stack_recorder.h +0 -14
- data/ext/ddtrace_profiling_native_extension/time_helpers.c +0 -17
- data/ext/ddtrace_profiling_native_extension/time_helpers.h +0 -10
- data/lib/datadog/ci/configuration/components.rb +0 -32
- data/lib/datadog/ci/configuration/settings.rb +0 -53
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +0 -33
- data/lib/datadog/ci/contrib/cucumber/ext.rb +0 -20
- data/lib/datadog/ci/contrib/cucumber/formatter.rb +0 -94
- data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +0 -28
- data/lib/datadog/ci/contrib/cucumber/integration.rb +0 -47
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +0 -33
- data/lib/datadog/ci/contrib/rspec/example.rb +0 -68
- data/lib/datadog/ci/contrib/rspec/ext.rb +0 -19
- data/lib/datadog/ci/contrib/rspec/integration.rb +0 -48
- data/lib/datadog/ci/contrib/rspec/patcher.rb +0 -27
- data/lib/datadog/ci/ext/app_types.rb +0 -9
- data/lib/datadog/ci/ext/environment.rb +0 -575
- data/lib/datadog/ci/ext/settings.rb +0 -10
- data/lib/datadog/ci/ext/test.rb +0 -35
- data/lib/datadog/ci/extensions.rb +0 -19
- data/lib/datadog/ci/flush.rb +0 -38
- data/lib/datadog/ci/test.rb +0 -81
- data/lib/datadog/ci.rb +0 -20
- data/lib/datadog/core/configuration/dependency_resolver.rb +0 -28
- data/lib/datadog/core/configuration/option_definition_set.rb +0 -22
- data/lib/datadog/core/configuration/option_set.rb +0 -10
- data/lib/datadog/core/telemetry/collector.rb +0 -231
- data/lib/datadog/core/telemetry/v1/app_event.rb +0 -52
- data/lib/datadog/core/telemetry/v1/application.rb +0 -92
- data/lib/datadog/core/telemetry/v1/configuration.rb +0 -25
- data/lib/datadog/core/telemetry/v1/dependency.rb +0 -43
- data/lib/datadog/core/telemetry/v1/host.rb +0 -59
- data/lib/datadog/core/telemetry/v1/integration.rb +0 -64
- data/lib/datadog/core/telemetry/v1/product.rb +0 -36
- data/lib/datadog/core/telemetry/v1/telemetry_request.rb +0 -106
- data/lib/datadog/core/transport/config.rb +0 -58
- data/lib/datadog/core/transport/http/api.rb +0 -57
- data/lib/datadog/core/transport/http/client.rb +0 -45
- data/lib/datadog/core/transport/http/config.rb +0 -268
- data/lib/datadog/core/transport/http/negotiation.rb +0 -144
- data/lib/datadog/core/transport/http.rb +0 -169
- data/lib/datadog/core/utils/object_set.rb +0 -43
- data/lib/datadog/core/utils/string_table.rb +0 -47
- data/lib/datadog/profiling/backtrace_location.rb +0 -34
- data/lib/datadog/profiling/buffer.rb +0 -43
- data/lib/datadog/profiling/collectors/old_stack.rb +0 -301
- data/lib/datadog/profiling/encoding/profile.rb +0 -41
- data/lib/datadog/profiling/event.rb +0 -15
- data/lib/datadog/profiling/events/stack.rb +0 -82
- data/lib/datadog/profiling/old_recorder.rb +0 -107
- data/lib/datadog/profiling/pprof/builder.rb +0 -125
- data/lib/datadog/profiling/pprof/converter.rb +0 -102
- data/lib/datadog/profiling/pprof/message_set.rb +0 -16
- data/lib/datadog/profiling/pprof/payload.rb +0 -20
- data/lib/datadog/profiling/pprof/pprof.proto +0 -212
- data/lib/datadog/profiling/pprof/pprof_pb.rb +0 -81
- data/lib/datadog/profiling/pprof/stack_sample.rb +0 -139
- data/lib/datadog/profiling/pprof/string_table.rb +0 -12
- data/lib/datadog/profiling/pprof/template.rb +0 -118
- data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +0 -43
- data/lib/datadog/profiling/trace_identifiers/helper.rb +0 -45
- data/lib/datadog/tracing/contrib/sinatra/headers.rb +0 -35
- data/lib/ddtrace/transport/http/adapters/net.rb +0 -168
- data/lib/ddtrace/transport/http/adapters/registry.rb +0 -27
- data/lib/ddtrace/transport/http/adapters/test.rb +0 -85
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +0 -77
- data/lib/ddtrace/transport/http/api/endpoint.rb +0 -29
- data/lib/ddtrace/transport/http/api/fallbacks.rb +0 -24
- data/lib/ddtrace/transport/http/api/instance.rb +0 -35
- data/lib/ddtrace/transport/http/api/map.rb +0 -16
- data/lib/ddtrace/transport/http/api/spec.rb +0 -17
- data/lib/ddtrace/transport/http/api.rb +0 -39
- data/lib/ddtrace/transport/http/builder.rb +0 -176
- data/lib/ddtrace/transport/http/client.rb +0 -52
- data/lib/ddtrace/transport/http/env.rb +0 -58
- data/lib/ddtrace/transport/http/response.rb +0 -58
- data/lib/ddtrace/transport/http/statistics.rb +0 -43
- data/lib/ddtrace/transport/http/traces.rb +0 -144
- data/lib/ddtrace/transport/http.rb +0 -117
- data/lib/ddtrace/transport/io/client.rb +0 -85
- data/lib/ddtrace/transport/io/response.rb +0 -25
- data/lib/ddtrace/transport/io/traces.rb +0 -99
- data/lib/ddtrace/transport/io.rb +0 -28
- data/lib/ddtrace/transport/parcel.rb +0 -20
- data/lib/ddtrace/transport/request.rb +0 -15
- data/lib/ddtrace/transport/response.rb +0 -60
- data/lib/ddtrace/transport/serializable_trace.rb +0 -122
- data/lib/ddtrace/transport/statistics.rb +0 -75
- data/lib/ddtrace/transport/trace_formatter.rb +0 -198
- data/lib/ddtrace/transport/traces.rb +0 -216
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/collectors_idle_sampling_helper.h +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.c +0 -0
- /data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/setup_signal_handler.h +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
require_relative '../../tracing/configuration/ext'
|
|
2
|
+
require_relative '../../core/environment/variable_helpers'
|
|
3
|
+
require_relative 'http'
|
|
2
4
|
|
|
3
5
|
module Datadog
|
|
4
6
|
module Tracing
|
|
@@ -21,13 +23,14 @@ module Datadog
|
|
|
21
23
|
# @configure_with {Datadog::Tracing}
|
|
22
24
|
# @deprecated Use [Trace Retention and Ingestion](https://docs.datadoghq.com/tracing/trace_retention_and_ingestion/)
|
|
23
25
|
# controls.
|
|
24
|
-
#
|
|
26
|
+
# @!visibility private
|
|
25
27
|
settings :analytics do
|
|
26
28
|
# @default `DD_TRACE_ANALYTICS_ENABLED` environment variable, otherwise `nil`
|
|
27
29
|
# @return [Boolean,nil]
|
|
30
|
+
# @!visibility private
|
|
28
31
|
option :enabled do |o|
|
|
29
|
-
o.
|
|
30
|
-
o.
|
|
32
|
+
o.type :bool, nilable: true
|
|
33
|
+
o.env Tracing::Configuration::Ext::Analytics::ENV_TRACE_ANALYTICS_ENABLED
|
|
31
34
|
end
|
|
32
35
|
end
|
|
33
36
|
|
|
@@ -51,24 +54,20 @@ module Datadog
|
|
|
51
54
|
# otherwise `['Datadog','b3multi','b3']`.
|
|
52
55
|
# @return [Array<String>]
|
|
53
56
|
option :propagation_extract_style do |o|
|
|
54
|
-
o.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
o.on_set do |styles|
|
|
57
|
+
o.type :array
|
|
58
|
+
o.deprecated_env Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT_OLD
|
|
59
|
+
o.env Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT
|
|
60
|
+
# DEV-2.0: Change default value to `tracecontext, Datadog`.
|
|
61
|
+
# Look for all headers by default
|
|
62
|
+
o.default(
|
|
63
|
+
[
|
|
64
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG,
|
|
65
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_MULTI_HEADER,
|
|
66
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER,
|
|
67
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_TRACE_CONTEXT,
|
|
68
|
+
]
|
|
69
|
+
)
|
|
70
|
+
o.after_set do |styles|
|
|
72
71
|
# Modernize B3 options
|
|
73
72
|
# DEV-2.0: Can be removed with the removal of deprecated B3 constants.
|
|
74
73
|
styles.map! do |style|
|
|
@@ -82,8 +81,6 @@ module Datadog
|
|
|
82
81
|
end
|
|
83
82
|
end
|
|
84
83
|
end
|
|
85
|
-
|
|
86
|
-
o.lazy
|
|
87
84
|
end
|
|
88
85
|
|
|
89
86
|
# The data propagation styles the tracer will use to inject distributed tracing propagation
|
|
@@ -94,19 +91,15 @@ module Datadog
|
|
|
94
91
|
# @default `DD_TRACE_PROPAGATION_STYLE_INJECT` environment variable (comma-separated list), otherwise `['Datadog']`.
|
|
95
92
|
# @return [Array<String>]
|
|
96
93
|
option :propagation_inject_style do |o|
|
|
97
|
-
o.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
o.on_set do |styles|
|
|
94
|
+
o.type :array
|
|
95
|
+
o.deprecated_env Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT_OLD
|
|
96
|
+
o.env Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT
|
|
97
|
+
# DEV-2.0: Change default value to `tracecontext, Datadog`.
|
|
98
|
+
o.default [
|
|
99
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG,
|
|
100
|
+
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_TRACE_CONTEXT,
|
|
101
|
+
]
|
|
102
|
+
o.after_set do |styles|
|
|
110
103
|
# Modernize B3 options
|
|
111
104
|
# DEV-2.0: Can be removed with the removal of deprecated B3 constants.
|
|
112
105
|
styles.map! do |style|
|
|
@@ -120,8 +113,6 @@ module Datadog
|
|
|
120
113
|
end
|
|
121
114
|
end
|
|
122
115
|
end
|
|
123
|
-
|
|
124
|
-
o.lazy
|
|
125
116
|
end
|
|
126
117
|
|
|
127
118
|
# An ordered list of what data propagation styles the tracer will use to extract distributed tracing propagation
|
|
@@ -133,12 +124,11 @@ module Datadog
|
|
|
133
124
|
# @default `DD_TRACE_PROPAGATION_STYLE` environment variable (comma-separated list).
|
|
134
125
|
# @return [Array<String>]
|
|
135
126
|
option :propagation_style do |o|
|
|
136
|
-
o.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
next unless styles
|
|
127
|
+
o.type :array
|
|
128
|
+
o.env Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE
|
|
129
|
+
o.default []
|
|
130
|
+
o.after_set do |styles|
|
|
131
|
+
next if styles.empty?
|
|
142
132
|
|
|
143
133
|
# Modernize B3 options
|
|
144
134
|
# DEV-2.0: Can be removed with the removal of deprecated B3 constants.
|
|
@@ -156,8 +146,17 @@ module Datadog
|
|
|
156
146
|
set_option(:propagation_extract_style, styles)
|
|
157
147
|
set_option(:propagation_inject_style, styles)
|
|
158
148
|
end
|
|
149
|
+
end
|
|
159
150
|
|
|
160
|
-
|
|
151
|
+
# Strictly stop at the first successfully serialized style.
|
|
152
|
+
# This prevents the tracer from enriching the extracted context with information from
|
|
153
|
+
# other valid propagations styles present in the request.
|
|
154
|
+
# @default `DD_TRACE_PROPAGATION_EXTRACT_FIRST` environment variable, otherwise `false`.
|
|
155
|
+
# @return [Boolean]
|
|
156
|
+
option :propagation_extract_first do |o|
|
|
157
|
+
o.env Tracing::Configuration::Ext::Distributed::EXTRACT_FIRST
|
|
158
|
+
o.default false
|
|
159
|
+
o.type :bool
|
|
161
160
|
end
|
|
162
161
|
end
|
|
163
162
|
|
|
@@ -169,17 +168,37 @@ module Datadog
|
|
|
169
168
|
# @default `DD_TRACE_ENABLED` environment variable, otherwise `true`
|
|
170
169
|
# @return [Boolean]
|
|
171
170
|
option :enabled do |o|
|
|
172
|
-
o.
|
|
173
|
-
o.
|
|
171
|
+
o.env Tracing::Configuration::Ext::ENV_ENABLED
|
|
172
|
+
o.default true
|
|
173
|
+
o.type :bool
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# Comma-separated, case-insensitive list of header names that are reported in incoming and outgoing HTTP requests.
|
|
177
|
+
#
|
|
178
|
+
# Each header in the list can either be:
|
|
179
|
+
# * A header name, which is mapped to the respective tags `http.request.headers.<header name>` and `http.response.headers.<header name>`.
|
|
180
|
+
# * A key value pair, "header name:tag name", which is mapped to the span tag `tag name`.
|
|
181
|
+
#
|
|
182
|
+
# You can mix the two types of header declaration in the same list.
|
|
183
|
+
# Tag names will be normalized based on the [Datadog tag normalization rules](https://docs.datadoghq.com/getting_started/tagging/#defining-tags).
|
|
184
|
+
#
|
|
185
|
+
# @default `DD_TRACE_HEADER_TAGS` environment variable, otherwise an empty set of tags
|
|
186
|
+
# @return [Array<String>]
|
|
187
|
+
option :header_tags do |o|
|
|
188
|
+
o.env Configuration::Ext::ENV_HEADER_TAGS
|
|
189
|
+
o.type :array
|
|
190
|
+
o.default []
|
|
191
|
+
o.setter { |header_tags, _| Configuration::HTTP::HeaderTags.new(header_tags) }
|
|
174
192
|
end
|
|
175
193
|
|
|
176
194
|
# Enable 128 bit trace id generation.
|
|
177
195
|
#
|
|
178
|
-
# @default `DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED` environment variable, otherwise `
|
|
196
|
+
# @default `DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED` environment variable, otherwise `true`
|
|
179
197
|
# @return [Boolean]
|
|
180
198
|
option :trace_id_128_bit_generation_enabled do |o|
|
|
181
|
-
o.
|
|
182
|
-
o.
|
|
199
|
+
o.env Tracing::Configuration::Ext::ENV_TRACE_ID_128_BIT_GENERATION_ENABLED
|
|
200
|
+
o.default true
|
|
201
|
+
o.type :bool
|
|
183
202
|
end
|
|
184
203
|
|
|
185
204
|
# Enable 128 bit trace id injected for logging.
|
|
@@ -189,8 +208,9 @@ module Datadog
|
|
|
189
208
|
#
|
|
190
209
|
# It is not supported by our backend yet. Do not enable it.
|
|
191
210
|
option :trace_id_128_bit_logging_enabled do |o|
|
|
192
|
-
o.
|
|
193
|
-
o.
|
|
211
|
+
o.env Tracing::Configuration::Ext::Correlation::ENV_TRACE_ID_128_BIT_LOGGING_ENABLED
|
|
212
|
+
o.default false
|
|
213
|
+
o.type :bool
|
|
194
214
|
end
|
|
195
215
|
|
|
196
216
|
# A custom tracer instance.
|
|
@@ -211,8 +231,9 @@ module Datadog
|
|
|
211
231
|
# @see https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#trace-correlation
|
|
212
232
|
# @return [Boolean]
|
|
213
233
|
option :log_injection do |o|
|
|
214
|
-
o.
|
|
215
|
-
o.
|
|
234
|
+
o.env Tracing::Configuration::Ext::Correlation::ENV_LOGS_INJECTION_ENABLED
|
|
235
|
+
o.default true
|
|
236
|
+
o.type :bool
|
|
216
237
|
end
|
|
217
238
|
|
|
218
239
|
# Configures an alternative trace transport behavior, where
|
|
@@ -229,7 +250,7 @@ module Datadog
|
|
|
229
250
|
#
|
|
230
251
|
# @default `false`
|
|
231
252
|
# @return [Boolean]
|
|
232
|
-
option :enabled, default: false
|
|
253
|
+
option :enabled, default: false, type: :bool
|
|
233
254
|
|
|
234
255
|
# Minimum number of finished spans required in a single unfinished trace before
|
|
235
256
|
# the tracer will consider that trace for partial flushing.
|
|
@@ -242,7 +263,7 @@ module Datadog
|
|
|
242
263
|
#
|
|
243
264
|
# @default 500
|
|
244
265
|
# @return [Integer]
|
|
245
|
-
option :min_spans_threshold, default: 500
|
|
266
|
+
option :min_spans_threshold, default: 500, type: :int
|
|
246
267
|
end
|
|
247
268
|
|
|
248
269
|
# Enables {https://docs.datadoghq.com/tracing/trace_retention_and_ingestion/#datadog-intelligent-retention-filter
|
|
@@ -252,8 +273,9 @@ module Datadog
|
|
|
252
273
|
option :priority_sampling
|
|
253
274
|
|
|
254
275
|
option :report_hostname do |o|
|
|
255
|
-
o.
|
|
256
|
-
o.
|
|
276
|
+
o.env Tracing::Configuration::Ext::NET::ENV_REPORT_HOSTNAME
|
|
277
|
+
o.default false
|
|
278
|
+
o.type :bool
|
|
257
279
|
end
|
|
258
280
|
|
|
259
281
|
# A custom sampler instance.
|
|
@@ -273,10 +295,10 @@ module Datadog
|
|
|
273
295
|
# for resources not seen recently).
|
|
274
296
|
#
|
|
275
297
|
# @default `DD_TRACE_SAMPLE_RATE` environment variable, otherwise `nil`.
|
|
276
|
-
# @return [Float,nil]
|
|
298
|
+
# @return [Float, nil]
|
|
277
299
|
option :default_rate do |o|
|
|
278
|
-
o.
|
|
279
|
-
o.
|
|
300
|
+
o.type :float, nilable: true
|
|
301
|
+
o.env Tracing::Configuration::Ext::Sampling::ENV_SAMPLE_RATE
|
|
280
302
|
end
|
|
281
303
|
|
|
282
304
|
# Rate limit for number of spans per second.
|
|
@@ -287,8 +309,25 @@ module Datadog
|
|
|
287
309
|
# @default `DD_TRACE_RATE_LIMIT` environment variable, otherwise 100.
|
|
288
310
|
# @return [Numeric,nil]
|
|
289
311
|
option :rate_limit do |o|
|
|
290
|
-
o.
|
|
291
|
-
o.
|
|
312
|
+
o.type :int, nilable: true
|
|
313
|
+
o.env Tracing::Configuration::Ext::Sampling::ENV_RATE_LIMIT
|
|
314
|
+
o.default 100
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
# Trace sampling rules.
|
|
318
|
+
# These rules control whether a trace is kept or dropped by the tracer.
|
|
319
|
+
#
|
|
320
|
+
# The `rules` format is a String with a JSON array of objects:
|
|
321
|
+
# Each object must have a `sample_rate`, and the `name` and `service` fields
|
|
322
|
+
# are optional. The `sample_rate` value must be between 0.0 and 1.0 (inclusive).
|
|
323
|
+
# `name` and `service` are Strings that allow the `sample_rate` to be applied only
|
|
324
|
+
# to traces matching the `name` and `service`.
|
|
325
|
+
#
|
|
326
|
+
# @default `DD_TRACE_SAMPLING_RULES` environment variable. Otherwise `nil`.
|
|
327
|
+
# @return [String,nil]
|
|
328
|
+
# @public_api
|
|
329
|
+
option :rules do |o|
|
|
330
|
+
o.default { ENV.fetch(Configuration::Ext::Sampling::ENV_RULES, nil) }
|
|
292
331
|
end
|
|
293
332
|
|
|
294
333
|
# Single span sampling rules.
|
|
@@ -303,6 +342,7 @@ module Datadog
|
|
|
303
342
|
# @return [String,nil]
|
|
304
343
|
# @public_api
|
|
305
344
|
option :span_rules do |o|
|
|
345
|
+
o.type :string, nilable: true
|
|
306
346
|
o.default do
|
|
307
347
|
rules = ENV[Tracing::Configuration::Ext::Sampling::Span::ENV_SPAN_SAMPLING_RULES]
|
|
308
348
|
rules_file = ENV[Tracing::Configuration::Ext::Sampling::Span::ENV_SPAN_SAMPLING_RULES_FILE]
|
|
@@ -330,7 +370,6 @@ module Datadog
|
|
|
330
370
|
end
|
|
331
371
|
end
|
|
332
372
|
end
|
|
333
|
-
o.lazy
|
|
334
373
|
end
|
|
335
374
|
end
|
|
336
375
|
|
|
@@ -344,30 +383,36 @@ module Datadog
|
|
|
344
383
|
# @default `DD_TRACE_TEST_MODE_ENABLED` environment variable, otherwise `false`
|
|
345
384
|
# @return [Boolean]
|
|
346
385
|
option :enabled do |o|
|
|
347
|
-
o.
|
|
348
|
-
o.
|
|
386
|
+
o.type :bool
|
|
387
|
+
o.default false
|
|
388
|
+
o.env Tracing::Configuration::Ext::Test::ENV_MODE_ENABLED
|
|
349
389
|
end
|
|
350
390
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
o.
|
|
391
|
+
# Use async writer in test mode
|
|
392
|
+
option :async do |o|
|
|
393
|
+
o.type :bool
|
|
394
|
+
o.default false
|
|
354
395
|
end
|
|
355
396
|
|
|
397
|
+
option :trace_flush
|
|
398
|
+
|
|
356
399
|
option :writer_options do |o|
|
|
357
|
-
o.
|
|
358
|
-
o.
|
|
400
|
+
o.type :hash
|
|
401
|
+
o.default({})
|
|
359
402
|
end
|
|
360
403
|
end
|
|
361
404
|
|
|
362
405
|
# @see file:docs/GettingStarted.md#configuring-the-transport-layer Configuring the transport layer
|
|
363
406
|
#
|
|
364
407
|
# A {Proc} that configures a custom tracer transport.
|
|
365
|
-
# @yield Receives a {Datadog::Transport::HTTP} that can be modified with custom adapters and settings.
|
|
366
|
-
# @yieldparam [Datadog::Transport::HTTP] t transport to be configured.
|
|
408
|
+
# @yield Receives a {Datadog::Tracing::Transport::HTTP} that can be modified with custom adapters and settings.
|
|
409
|
+
# @yieldparam [Datadog::Tracing::Transport::HTTP] t transport to be configured.
|
|
367
410
|
# @default `nil`
|
|
368
411
|
# @return [Proc,nil]
|
|
369
|
-
option :transport_options
|
|
370
|
-
|
|
412
|
+
option :transport_options do |o|
|
|
413
|
+
o.type :proc, nilable: true
|
|
414
|
+
o.default nil
|
|
415
|
+
end
|
|
371
416
|
# A custom writer instance.
|
|
372
417
|
# The object must respect the {Datadog::Tracing::Writer} interface.
|
|
373
418
|
#
|
|
@@ -382,8 +427,11 @@ module Datadog
|
|
|
382
427
|
# This option is recommended for internal use only.
|
|
383
428
|
#
|
|
384
429
|
# @default `{}`
|
|
385
|
-
# @return [Hash
|
|
386
|
-
option :writer_options
|
|
430
|
+
# @return [Hash]
|
|
431
|
+
option :writer_options do |o|
|
|
432
|
+
o.type :hash
|
|
433
|
+
o.default({})
|
|
434
|
+
end
|
|
387
435
|
|
|
388
436
|
# Client IP configuration
|
|
389
437
|
# @public_api
|
|
@@ -398,21 +446,23 @@ module Datadog
|
|
|
398
446
|
# @default `DD_TRACE_CLIENT_IP_ENABLED` environment variable, otherwise `false`.
|
|
399
447
|
# @return [Boolean]
|
|
400
448
|
option :enabled do |o|
|
|
449
|
+
o.type :bool
|
|
401
450
|
o.default do
|
|
402
|
-
disabled = env_to_bool(Tracing::Configuration::Ext::ClientIp::ENV_DISABLED)
|
|
451
|
+
disabled = Core::Environment::VariableHelpers.env_to_bool(Tracing::Configuration::Ext::ClientIp::ENV_DISABLED)
|
|
403
452
|
|
|
404
453
|
enabled = if disabled.nil?
|
|
405
454
|
false
|
|
406
455
|
else
|
|
407
|
-
Datadog.
|
|
456
|
+
Datadog::Core.log_deprecation do
|
|
457
|
+
"#{Tracing::Configuration::Ext::ClientIp::ENV_DISABLED} environment variable is deprecated, use #{Tracing::Configuration::Ext::ClientIp::ENV_ENABLED} instead."
|
|
458
|
+
end
|
|
408
459
|
|
|
409
460
|
!disabled
|
|
410
461
|
end
|
|
411
462
|
|
|
412
463
|
# ENABLED env var takes precedence over deprecated DISABLED
|
|
413
|
-
env_to_bool(Tracing::Configuration::Ext::ClientIp::ENV_ENABLED, enabled)
|
|
464
|
+
Core::Environment::VariableHelpers.env_to_bool(Tracing::Configuration::Ext::ClientIp::ENV_ENABLED, enabled)
|
|
414
465
|
end
|
|
415
|
-
o.lazy
|
|
416
466
|
end
|
|
417
467
|
|
|
418
468
|
# An optional name of a custom header to resolve the client IP from.
|
|
@@ -420,8 +470,8 @@ module Datadog
|
|
|
420
470
|
# @default `DD_TRACE_CLIENT_IP_HEADER` environment variable, otherwise `nil`.
|
|
421
471
|
# @return [String,nil]
|
|
422
472
|
option :header_name do |o|
|
|
423
|
-
o.
|
|
424
|
-
o.
|
|
473
|
+
o.type :string, nilable: true
|
|
474
|
+
o.env Tracing::Configuration::Ext::ClientIp::ENV_HEADER_NAME
|
|
425
475
|
end
|
|
426
476
|
end
|
|
427
477
|
|
|
@@ -434,22 +484,9 @@ module Datadog
|
|
|
434
484
|
# @default `DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH` environment variable, otherwise `512`
|
|
435
485
|
# @return [Integer]
|
|
436
486
|
option :x_datadog_tags_max_length do |o|
|
|
437
|
-
o.
|
|
438
|
-
o.
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
# Schema version for span attributes that enables various features
|
|
442
|
-
#
|
|
443
|
-
# @default `DD_TRACE_SPAN_ATTRIBUTE_SCHEMA` environment variable, otherwise default `v0` currently
|
|
444
|
-
# @return [String]
|
|
445
|
-
option :span_attribute_schema do |o|
|
|
446
|
-
o.default do
|
|
447
|
-
ENV.fetch(
|
|
448
|
-
Tracing::Configuration::Ext::SpanAttributeSchema::ENV_SPAN_ATTRIBUTE_SCHEMA,
|
|
449
|
-
Tracing::Configuration::Ext::SpanAttributeSchema::DEFAULT_VERSION
|
|
450
|
-
)
|
|
451
|
-
end
|
|
452
|
-
o.lazy
|
|
487
|
+
o.type :int
|
|
488
|
+
o.env Tracing::Configuration::Ext::Distributed::ENV_X_DATADOG_TAGS_MAX_LENGTH
|
|
489
|
+
o.default 512
|
|
453
490
|
end
|
|
454
491
|
end
|
|
455
492
|
end
|
|
@@ -12,18 +12,22 @@ module Datadog
|
|
|
12
12
|
# @public_api
|
|
13
13
|
class Settings < Contrib::Configuration::Settings
|
|
14
14
|
option :enabled do |o|
|
|
15
|
-
o.
|
|
16
|
-
o.
|
|
15
|
+
o.type :bool
|
|
16
|
+
o.env Ext::ENV_ENABLED
|
|
17
|
+
o.default true
|
|
17
18
|
end
|
|
18
19
|
|
|
20
|
+
# @!visibility private
|
|
19
21
|
option :analytics_enabled do |o|
|
|
20
|
-
o.
|
|
21
|
-
o.
|
|
22
|
+
o.type :bool
|
|
23
|
+
o.env Ext::ENV_ANALYTICS_ENABLED
|
|
24
|
+
o.default false
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
option :analytics_sample_rate do |o|
|
|
25
|
-
o.
|
|
26
|
-
o.
|
|
28
|
+
o.type :float
|
|
29
|
+
o.env Ext::ENV_ANALYTICS_SAMPLE_RATE
|
|
30
|
+
o.default 1.0
|
|
27
31
|
end
|
|
28
32
|
|
|
29
33
|
option :service_name
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Datadog
|
|
2
4
|
module Tracing
|
|
3
5
|
module Contrib
|
|
@@ -5,24 +7,25 @@ module Datadog
|
|
|
5
7
|
# ActionCable integration constants
|
|
6
8
|
# @public_api Changing resource names, tag names, or environment variables creates breaking changes.
|
|
7
9
|
module Ext
|
|
8
|
-
ENV_ENABLED = 'DD_TRACE_ACTION_CABLE_ENABLED'
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
ENV_ENABLED = 'DD_TRACE_ACTION_CABLE_ENABLED'
|
|
11
|
+
# @!visibility private
|
|
12
|
+
ENV_ANALYTICS_ENABLED = 'DD_TRACE_ACTION_CABLE_ANALYTICS_ENABLED'
|
|
13
|
+
ENV_ANALYTICS_SAMPLE_RATE = 'DD_TRACE_ACTION_CABLE_ANALYTICS_SAMPLE_RATE'
|
|
14
|
+
SPAN_ACTION = 'action_cable.action'
|
|
15
|
+
SPAN_BROADCAST = 'action_cable.broadcast'
|
|
16
|
+
SPAN_ON_OPEN = 'action_cable.on_open'
|
|
17
|
+
SPAN_TRANSMIT = 'action_cable.transmit'
|
|
18
|
+
TAG_ACTION = 'action_cable.action'
|
|
19
|
+
TAG_BROADCAST_CODER = 'action_cable.broadcast.coder'
|
|
20
|
+
TAG_CHANNEL = 'action_cable.channel'
|
|
21
|
+
TAG_CHANNEL_CLASS = 'action_cable.channel_class'
|
|
22
|
+
TAG_COMPONENT = 'action_cable'
|
|
23
|
+
TAG_CONNECTION = 'action_cable.connection'
|
|
24
|
+
TAG_OPERATION_ACTION = 'action'
|
|
25
|
+
TAG_OPERATION_BROADCAST = 'broadcast'
|
|
26
|
+
TAG_OPERATION_ON_OPEN = 'on_open'
|
|
27
|
+
TAG_OPERATION_TRANSMIT = 'transmit'
|
|
28
|
+
TAG_TRANSMIT_VIA = 'action_cable.transmit.via'
|
|
26
29
|
end
|
|
27
30
|
end
|
|
28
31
|
end
|
|
@@ -12,18 +12,22 @@ module Datadog
|
|
|
12
12
|
# @public_api
|
|
13
13
|
class Settings < Contrib::Configuration::Settings
|
|
14
14
|
option :enabled do |o|
|
|
15
|
-
o.
|
|
16
|
-
o.
|
|
15
|
+
o.type :bool
|
|
16
|
+
o.env Ext::ENV_ENABLED
|
|
17
|
+
o.default true
|
|
17
18
|
end
|
|
18
19
|
|
|
20
|
+
# @!visibility private
|
|
19
21
|
option :analytics_enabled do |o|
|
|
20
|
-
o.
|
|
21
|
-
o.
|
|
22
|
+
o.type :bool
|
|
23
|
+
o.env Ext::ENV_ANALYTICS_ENABLED
|
|
24
|
+
o.default false
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
option :analytics_sample_rate do |o|
|
|
25
|
-
o.
|
|
26
|
-
o.
|
|
28
|
+
o.type :float
|
|
29
|
+
o.env Ext::ENV_ANALYTICS_SAMPLE_RATE
|
|
30
|
+
o.default 1.0
|
|
27
31
|
end
|
|
28
32
|
|
|
29
33
|
option :service_name
|
|
@@ -37,7 +37,7 @@ module Datadog
|
|
|
37
37
|
|
|
38
38
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_DELIVER)
|
|
39
39
|
|
|
40
|
-
# Since email
|
|
40
|
+
# Since email data can contain PII we disable by default
|
|
41
41
|
# Some of these fields can be either strings or arrays, so we try to normalize
|
|
42
42
|
# https://github.com/rails/rails/blob/18707ab17fa492eb25ad2e8f9818a320dc20b823/actionmailer/lib/action_mailer/base.rb#L742-L754
|
|
43
43
|
if configuration[:email_data] == true
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Datadog
|
|
2
4
|
module Tracing
|
|
3
5
|
module Contrib
|
|
@@ -5,25 +7,26 @@ module Datadog
|
|
|
5
7
|
# ActionMailer integration constants
|
|
6
8
|
# @public_api Changing resource names, tag names, or environment variables creates breaking changes.
|
|
7
9
|
module Ext
|
|
8
|
-
ENV_ENABLED = 'DD_TRACE_ACTION_MAILER_ENABLED'
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
ENV_ENABLED = 'DD_TRACE_ACTION_MAILER_ENABLED'
|
|
11
|
+
# @!visibility private
|
|
12
|
+
ENV_ANALYTICS_ENABLED = 'DD_TRACE_ACTION_MAILER_ANALYTICS_ENABLED'
|
|
13
|
+
ENV_ANALYTICS_SAMPLE_RATE = 'DD_TRACE_ACTION_MAILER_ANALYTICS_SAMPLE_RATE'
|
|
14
|
+
SPAN_PROCESS = 'action_mailer.process'
|
|
15
|
+
SPAN_DELIVER = 'action_mailer.deliver'
|
|
16
|
+
TAG_COMPONENT = 'action_mailer'
|
|
17
|
+
TAG_ACTION = 'action_mailer.action'
|
|
18
|
+
TAG_MAILER = 'action_mailer.mailer'
|
|
19
|
+
TAG_MSG_ID = 'action_mailer.message_id'
|
|
20
|
+
TAG_OPERATION_DELIVER = 'deliver'
|
|
21
|
+
TAG_OPERATION_PROCESS = 'process'
|
|
19
22
|
|
|
20
|
-
TAG_SUBJECT = 'action_mailer.subject'
|
|
21
|
-
TAG_TO = 'action_mailer.to'
|
|
22
|
-
TAG_FROM = 'action_mailer.from'
|
|
23
|
-
TAG_BCC = 'action_mailer.bcc'
|
|
24
|
-
TAG_CC = 'action_mailer.cc'
|
|
25
|
-
TAG_DATE = 'action_mailer.date'
|
|
26
|
-
TAG_PERFORM_DELIVERIES = 'action_mailer.perform_deliveries'
|
|
23
|
+
TAG_SUBJECT = 'action_mailer.subject'
|
|
24
|
+
TAG_TO = 'action_mailer.to'
|
|
25
|
+
TAG_FROM = 'action_mailer.from'
|
|
26
|
+
TAG_BCC = 'action_mailer.bcc'
|
|
27
|
+
TAG_CC = 'action_mailer.cc'
|
|
28
|
+
TAG_DATE = 'action_mailer.date'
|
|
29
|
+
TAG_PERFORM_DELIVERIES = 'action_mailer.perform_deliveries'
|
|
27
30
|
end
|
|
28
31
|
end
|
|
29
32
|
end
|
|
@@ -12,23 +12,26 @@ module Datadog
|
|
|
12
12
|
# @public_api
|
|
13
13
|
class Settings < Contrib::Configuration::Settings
|
|
14
14
|
option :enabled do |o|
|
|
15
|
-
o.
|
|
16
|
-
o.
|
|
15
|
+
o.type :bool
|
|
16
|
+
o.env Ext::ENV_ENABLED
|
|
17
|
+
o.default true
|
|
17
18
|
end
|
|
18
19
|
|
|
20
|
+
# @!visibility private
|
|
19
21
|
option :analytics_enabled do |o|
|
|
20
|
-
o.
|
|
21
|
-
o.
|
|
22
|
+
o.type :bool, nilable: true
|
|
23
|
+
o.env Ext::ENV_ANALYTICS_ENABLED
|
|
22
24
|
end
|
|
23
25
|
|
|
24
26
|
option :analytics_sample_rate do |o|
|
|
25
|
-
o.
|
|
26
|
-
o.
|
|
27
|
+
o.type :float
|
|
28
|
+
o.env Ext::ENV_ANALYTICS_SAMPLE_RATE
|
|
29
|
+
o.default 1.0
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
# DEV-2.0: Breaking changes for removal.
|
|
30
33
|
option :exception_controller do |o|
|
|
31
|
-
o.
|
|
34
|
+
o.after_set do |value|
|
|
32
35
|
if value
|
|
33
36
|
Datadog::Core.log_deprecation do
|
|
34
37
|
'The error controller is now automatically detected. '\
|