ddtrace 1.4.2 → 1.23.3
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 +1177 -3
- data/LICENSE-3rdparty.csv +3 -1
- data/README.md +10 -12
- 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} +11 -4
- data/ext/{ddtrace_profiling_loader → datadog_profiling_loader}/extconf.rb +24 -6
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/NativeExtensionDesign.md +48 -12
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id.h +1 -3
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_from_pthread.c +6 -23
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/clock_id_noop.c +0 -1
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +1161 -0
- 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/datadog_profiling_native_extension/collectors_dynamic_sampling_rate.c +150 -0
- data/ext/datadog_profiling_native_extension/collectors_dynamic_sampling_rate.h +18 -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/datadog_profiling_native_extension/collectors_idle_sampling_helper.c +244 -0
- data/ext/datadog_profiling_native_extension/collectors_idle_sampling_helper.h +3 -0
- data/ext/datadog_profiling_native_extension/collectors_stack.c +372 -0
- data/ext/datadog_profiling_native_extension/collectors_stack.h +27 -0
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +1402 -0
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +15 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/extconf.rb +114 -34
- data/ext/datadog_profiling_native_extension/heap_recorder.c +1047 -0
- data/ext/datadog_profiling_native_extension/heap_recorder.h +166 -0
- data/ext/datadog_profiling_native_extension/helpers.h +23 -0
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/http_transport.c +129 -88
- 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 +104 -29
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.c +331 -131
- data/ext/{ddtrace_profiling_native_extension → datadog_profiling_native_extension}/private_vm_api_access.h +29 -1
- data/ext/datadog_profiling_native_extension/profiling.c +267 -0
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +267 -0
- data/ext/datadog_profiling_native_extension/ruby_helpers.h +122 -0
- data/ext/datadog_profiling_native_extension/setup_signal_handler.c +115 -0
- data/ext/datadog_profiling_native_extension/setup_signal_handler.h +11 -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/blocked.html +98 -3
- data/lib/datadog/appsec/assets/blocked.json +1 -0
- data/lib/datadog/appsec/assets/blocked.text +5 -0
- data/lib/datadog/appsec/assets/waf_rules/processors.json +92 -0
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +2861 -796
- data/lib/datadog/appsec/assets/waf_rules/scanners.json +114 -0
- data/lib/datadog/appsec/assets/waf_rules/strict.json +459 -122
- data/lib/datadog/appsec/assets.rb +10 -4
- data/lib/datadog/appsec/autoload.rb +4 -11
- data/lib/datadog/appsec/component.rb +94 -0
- data/lib/datadog/appsec/configuration/settings.rb +170 -162
- data/lib/datadog/appsec/configuration.rb +1 -70
- data/lib/datadog/appsec/contrib/auto_instrument.rb +3 -5
- 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/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/patcher.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/ext.rb +1 -3
- data/lib/datadog/appsec/contrib/rack/gateway/request.rb +104 -0
- data/lib/datadog/appsec/contrib/rack/gateway/response.rb +30 -0
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +112 -121
- data/lib/datadog/appsec/contrib/rack/integration.rb +0 -7
- data/lib/datadog/appsec/contrib/rack/patcher.rb +3 -1
- data/lib/datadog/appsec/contrib/rack/reactive/request.rb +33 -39
- data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +19 -23
- data/lib/datadog/appsec/contrib/rack/reactive/response.rb +25 -23
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +11 -8
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +153 -41
- data/lib/datadog/appsec/contrib/rails/ext.rb +2 -4
- data/lib/datadog/appsec/contrib/rails/framework.rb +2 -16
- data/lib/datadog/appsec/contrib/rails/gateway/request.rb +67 -0
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +40 -52
- data/lib/datadog/appsec/contrib/rails/integration.rb +1 -8
- data/lib/datadog/appsec/contrib/rails/patcher.rb +23 -20
- data/lib/datadog/appsec/contrib/rails/reactive/action.rb +21 -23
- data/lib/datadog/appsec/contrib/rails/request.rb +4 -1
- data/lib/datadog/appsec/contrib/rails/request_middleware.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/ext.rb +2 -3
- data/lib/datadog/appsec/contrib/sinatra/framework.rb +2 -16
- data/lib/datadog/appsec/contrib/sinatra/gateway/request.rb +17 -0
- data/lib/datadog/appsec/contrib/sinatra/gateway/route_params.rb +23 -0
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +78 -87
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +0 -7
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +33 -15
- data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +19 -21
- data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +1 -1
- data/lib/datadog/appsec/event.rb +98 -50
- data/lib/datadog/appsec/ext.rb +10 -0
- data/lib/datadog/appsec/extensions.rb +2 -105
- data/lib/datadog/appsec/instrumentation/gateway/argument.rb +22 -0
- data/lib/datadog/appsec/instrumentation/gateway.rb +26 -6
- data/lib/datadog/appsec/instrumentation.rb +9 -0
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +67 -0
- data/lib/datadog/appsec/monitor/reactive/set_user.rb +58 -0
- data/lib/datadog/appsec/monitor.rb +11 -0
- data/lib/datadog/appsec/processor/actions.rb +49 -0
- data/lib/datadog/appsec/processor/rule_loader.rb +123 -0
- data/lib/datadog/appsec/processor/rule_merger.rb +152 -0
- data/lib/datadog/appsec/processor.rb +68 -61
- data/lib/datadog/appsec/rate_limiter.rb +1 -3
- data/lib/datadog/appsec/reactive/address_hash.rb +6 -2
- data/lib/datadog/appsec/reactive/engine.rb +10 -7
- data/lib/datadog/appsec/reactive/operation.rb +19 -2
- data/lib/datadog/appsec/reactive/subscriber.rb +2 -1
- data/lib/datadog/appsec/remote.rb +129 -0
- data/lib/datadog/appsec/response.rb +151 -0
- data/lib/datadog/appsec/sample_rate.rb +21 -0
- data/lib/datadog/appsec/scope.rb +61 -0
- data/lib/datadog/appsec/utils/http/media_range.rb +199 -0
- data/lib/datadog/appsec/utils/http/media_type.rb +85 -0
- data/lib/datadog/appsec/utils/http.rb +11 -0
- data/lib/datadog/appsec/utils.rb +9 -0
- data/lib/datadog/appsec.rb +41 -4
- data/lib/datadog/auto_instrument.rb +3 -0
- data/lib/datadog/core/backport.rb +51 -0
- data/lib/datadog/core/buffer/cruby.rb +1 -1
- data/lib/datadog/core/buffer/random.rb +1 -1
- data/lib/datadog/core/buffer/thread_safe.rb +1 -1
- data/lib/datadog/core/chunker.rb +1 -1
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +96 -56
- data/lib/datadog/core/configuration/base.rb +7 -16
- data/lib/datadog/core/configuration/components.rb +46 -300
- data/lib/datadog/core/configuration/ext.rb +47 -0
- data/lib/datadog/core/configuration/option.rb +272 -22
- data/lib/datadog/core/configuration/option_definition.rb +81 -31
- data/lib/datadog/core/configuration/options.rb +26 -16
- data/lib/datadog/core/configuration/settings.rb +498 -302
- data/lib/datadog/core/configuration.rb +16 -10
- data/lib/datadog/core/diagnostics/environment_logger.rb +131 -231
- data/lib/datadog/core/diagnostics/health.rb +4 -22
- data/lib/datadog/core/encoding.rb +0 -4
- data/lib/datadog/core/environment/cgroup.rb +0 -4
- data/lib/datadog/core/environment/class_count.rb +7 -7
- data/lib/datadog/core/environment/container.rb +0 -4
- data/lib/datadog/core/environment/execution.rb +103 -0
- data/lib/datadog/core/environment/ext.rb +12 -12
- data/lib/datadog/core/environment/gc.rb +1 -1
- data/lib/datadog/core/environment/git.rb +25 -0
- data/lib/datadog/core/environment/identity.rb +27 -1
- data/lib/datadog/core/environment/platform.rb +7 -3
- data/lib/datadog/core/environment/socket.rb +1 -1
- data/lib/datadog/core/environment/thread_count.rb +1 -1
- data/lib/datadog/core/environment/variable_helpers.rb +29 -44
- data/lib/datadog/core/environment/vm_cache.rb +18 -1
- data/lib/datadog/core/environment/yjit.rb +58 -0
- data/lib/datadog/core/error.rb +1 -2
- data/lib/datadog/core/extensions.rb +1 -1
- data/lib/datadog/core/git/ext.rb +5 -24
- data/lib/datadog/core/header_collection.rb +43 -0
- data/lib/datadog/core/logger.rb +0 -2
- data/lib/datadog/core/logging/ext.rb +3 -1
- data/lib/datadog/core/metrics/client.rb +3 -4
- data/lib/datadog/core/metrics/ext.rb +6 -8
- data/lib/datadog/core/metrics/helpers.rb +1 -1
- data/lib/datadog/core/metrics/logging.rb +0 -2
- data/lib/datadog/core/metrics/metric.rb +1 -1
- data/lib/datadog/core/metrics/options.rb +0 -2
- data/lib/datadog/core/pin.rb +0 -2
- data/lib/datadog/core/remote/client/capabilities.rb +62 -0
- data/lib/datadog/core/remote/client.rb +232 -0
- data/lib/datadog/core/remote/component.rb +162 -0
- data/lib/datadog/core/remote/configuration/content.rb +111 -0
- data/lib/datadog/core/remote/configuration/digest.rb +62 -0
- data/lib/datadog/core/remote/configuration/path.rb +90 -0
- data/lib/datadog/core/remote/configuration/repository.rb +294 -0
- data/lib/datadog/core/remote/configuration/target.rb +74 -0
- data/lib/datadog/core/remote/configuration.rb +18 -0
- data/lib/datadog/core/remote/dispatcher.rb +59 -0
- data/lib/datadog/core/remote/ext.rb +13 -0
- data/lib/datadog/core/remote/negotiation.rb +70 -0
- 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/remote/transport/negotiation.rb +62 -0
- data/lib/datadog/core/remote/worker.rb +102 -0
- data/lib/datadog/core/remote.rb +24 -0
- data/lib/datadog/core/runtime/ext.rb +21 -11
- data/lib/datadog/core/runtime/metrics.rb +64 -7
- data/lib/datadog/core/telemetry/component.rb +66 -0
- data/lib/datadog/core/telemetry/emitter.rb +9 -13
- data/lib/datadog/core/telemetry/event.rb +250 -47
- data/lib/datadog/core/telemetry/ext.rb +7 -2
- data/lib/datadog/core/telemetry/http/adapters/net.rb +1 -3
- data/lib/datadog/core/telemetry/http/env.rb +1 -1
- data/lib/datadog/core/telemetry/http/ext.rb +13 -8
- data/lib/datadog/core/telemetry/http/response.rb +4 -4
- data/lib/datadog/core/telemetry/http/transport.rb +12 -4
- data/lib/datadog/core/telemetry/request.rb +59 -0
- data/lib/datadog/core/telemetry/worker.rb +158 -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/compression.rb +6 -2
- data/lib/datadog/core/utils/duration.rb +52 -0
- data/lib/datadog/core/utils/forking.rb +0 -2
- data/lib/datadog/core/utils/hash.rb +79 -0
- data/lib/datadog/core/utils/network.rb +140 -0
- data/lib/datadog/core/utils/only_once.rb +0 -2
- data/lib/datadog/core/utils/only_once_successful.rb +76 -0
- data/lib/datadog/core/utils/safe_dup.rb +35 -12
- data/lib/datadog/core/utils/sequence.rb +1 -1
- data/lib/datadog/core/utils/time.rb +1 -3
- data/lib/datadog/core/utils/url.rb +25 -0
- data/lib/datadog/core/utils.rb +1 -24
- data/lib/datadog/core/vendor/ipaddr.rb +78 -0
- data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/multipart/post/version.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/multipart/post.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/multipart.rb +0 -2
- data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +0 -2
- data/lib/datadog/core/worker.rb +1 -1
- data/lib/datadog/core/workers/async.rb +7 -6
- data/lib/datadog/core/workers/interval_loop.rb +6 -2
- data/lib/datadog/core/workers/polling.rb +2 -4
- data/lib/datadog/core/workers/queue.rb +1 -1
- data/lib/datadog/core/workers/runtime_metrics.rb +1 -1
- data/lib/datadog/core.rb +20 -55
- data/lib/datadog/kit/appsec/events.rb +169 -0
- data/lib/datadog/kit/enable_core_dumps.rb +8 -9
- data/lib/datadog/kit/identity.rb +90 -49
- data/lib/datadog/kit.rb +1 -1
- data/lib/datadog/opentelemetry/api/context.rb +193 -0
- data/lib/datadog/opentelemetry/api/trace/span.rb +14 -0
- data/lib/datadog/opentelemetry/sdk/configurator.rb +37 -0
- data/lib/datadog/opentelemetry/sdk/id_generator.rb +26 -0
- data/lib/datadog/opentelemetry/sdk/propagator.rb +92 -0
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +134 -0
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +167 -0
- data/lib/datadog/opentelemetry/trace.rb +58 -0
- data/lib/datadog/opentelemetry.rb +51 -0
- data/lib/datadog/opentracer/binary_propagator.rb +1 -1
- data/lib/datadog/opentracer/carrier.rb +1 -1
- data/lib/datadog/opentracer/distributed_headers.rb +7 -11
- data/lib/datadog/opentracer/global_tracer.rb +1 -1
- data/lib/datadog/opentracer/propagator.rb +1 -1
- data/lib/datadog/opentracer/rack_propagator.rb +0 -5
- data/lib/datadog/opentracer/scope.rb +1 -1
- data/lib/datadog/opentracer/scope_manager.rb +1 -1
- data/lib/datadog/opentracer/span.rb +0 -2
- data/lib/datadog/opentracer/span_context.rb +1 -1
- data/lib/datadog/opentracer/span_context_factory.rb +1 -1
- data/lib/datadog/opentracer/text_map_propagator.rb +6 -9
- data/lib/datadog/opentracer/thread_local_scope.rb +1 -1
- data/lib/datadog/opentracer/thread_local_scope_manager.rb +0 -2
- data/lib/datadog/opentracer/tracer.rb +0 -2
- data/lib/datadog/opentracer.rb +10 -1
- data/lib/datadog/profiling/collectors/code_provenance.rb +10 -6
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +82 -19
- data/lib/datadog/profiling/collectors/dynamic_sampling_rate.rb +14 -0
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +68 -0
- data/lib/datadog/profiling/collectors/info.rb +101 -0
- data/lib/datadog/profiling/collectors/stack.rb +1 -1
- data/lib/datadog/profiling/collectors/thread_context.rb +61 -0
- data/lib/datadog/profiling/component.rb +426 -0
- data/lib/datadog/profiling/exporter.rb +32 -10
- data/lib/datadog/profiling/ext/forking.rb +0 -2
- data/lib/datadog/profiling/ext.rb +22 -32
- data/lib/datadog/profiling/flush.rb +11 -6
- data/lib/datadog/profiling/http_transport.rb +23 -8
- data/lib/datadog/profiling/load_native_extension.rb +25 -8
- data/lib/datadog/profiling/native_extension.rb +2 -23
- data/lib/datadog/profiling/preload.rb +1 -1
- data/lib/datadog/profiling/profiler.rb +42 -14
- data/lib/datadog/profiling/scheduler.rb +27 -25
- data/lib/datadog/profiling/stack_recorder.rb +36 -8
- data/lib/datadog/profiling/tag_builder.rb +6 -1
- data/lib/datadog/profiling/tasks/exec.rb +3 -5
- data/lib/datadog/profiling/tasks/help.rb +3 -5
- data/lib/datadog/profiling/tasks/setup.rb +0 -35
- data/lib/datadog/profiling.rb +65 -75
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +0 -5
- data/lib/datadog/tracing/client_ip.rb +61 -0
- data/lib/datadog/tracing/component.rb +235 -0
- 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 +72 -15
- data/lib/datadog/tracing/configuration/http.rb +74 -0
- data/lib/datadog/tracing/configuration/settings.rb +502 -0
- data/lib/datadog/tracing/context.rb +1 -1
- data/lib/datadog/tracing/context_provider.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/action_cable/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/events.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/ext.rb +20 -19
- data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/action_cable/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/action_mailer/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +1 -3
- data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +0 -2
- data/lib/datadog/tracing/contrib/action_mailer/events.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/ext.rb +20 -19
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +2 -26
- data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +23 -9
- data/lib/datadog/tracing/contrib/action_pack/ext.rb +10 -9
- data/lib/datadog/tracing/contrib/action_pack/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/action_pack/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/action_pack/utils.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +10 -8
- data/lib/datadog/tracing/contrib/action_view/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/events.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/ext.rb +12 -11
- data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/action_view/utils.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +15 -8
- data/lib/datadog/tracing/contrib/active_job/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/discard.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events/perform.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/events.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/ext.rb +25 -24
- data/lib/datadog/tracing/contrib/active_job/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/log_injection.rb +2 -2
- data/lib/datadog/tracing/contrib/active_job/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +0 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +0 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +12 -11
- data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +0 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +29 -17
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +17 -9
- data/lib/datadog/tracing/contrib/active_record/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +0 -2
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +3 -6
- data/lib/datadog/tracing/contrib/active_record/events.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/ext.rb +17 -16
- data/lib/datadog/tracing/contrib/active_record/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/active_record/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -3
- data/lib/datadog/tracing/contrib/active_record/vendor/connection_specification.rb +0 -2
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +107 -201
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +4 -1
- data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +19 -8
- data/lib/datadog/tracing/contrib/active_support/ext.rb +18 -17
- data/lib/datadog/tracing/contrib/active_support/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +0 -2
- data/lib/datadog/tracing/contrib/active_support/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/analytics.rb +1 -2
- data/lib/datadog/tracing/contrib/auto_instrument.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +25 -8
- data/lib/datadog/tracing/contrib/aws/ext.rb +37 -14
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +28 -3
- data/lib/datadog/tracing/contrib/aws/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/aws/parsed_context.rb +4 -2
- data/lib/datadog/tracing/contrib/aws/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/base.rb +16 -0
- data/lib/datadog/tracing/contrib/aws/service/dynamodb.rb +22 -0
- data/lib/datadog/tracing/contrib/aws/service/eventbridge.rb +22 -0
- data/lib/datadog/tracing/contrib/aws/service/kinesis.rb +32 -0
- data/lib/datadog/tracing/contrib/aws/service/s3.rb +22 -0
- data/lib/datadog/tracing/contrib/aws/service/sns.rb +30 -0
- data/lib/datadog/tracing/contrib/aws/service/sqs.rb +27 -0
- data/lib/datadog/tracing/contrib/aws/service/states.rb +40 -0
- data/lib/datadog/tracing/contrib/aws/services.rb +17 -3
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +20 -0
- data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +4 -3
- data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +15 -15
- data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +3 -3
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +4 -11
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +2 -3
- data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +20 -4
- data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +22 -0
- data/lib/datadog/tracing/contrib/configurable.rb +2 -2
- data/lib/datadog/tracing/contrib/configuration/resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -5
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +30 -8
- data/lib/datadog/tracing/contrib/dalli/ext.rb +26 -10
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +23 -7
- data/lib/datadog/tracing/contrib/dalli/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/dalli/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/quantize.rb +0 -2
- data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +15 -8
- data/lib/datadog/tracing/contrib/delayed_job/ext.rb +16 -15
- data/lib/datadog/tracing/contrib/delayed_job/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +9 -1
- data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +3 -1
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +25 -8
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +21 -13
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +105 -95
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +0 -4
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +28 -10
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +52 -7
- data/lib/datadog/tracing/contrib/ethon/ext.rb +19 -11
- data/lib/datadog/tracing/contrib/ethon/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +10 -3
- data/lib/datadog/tracing/contrib/ethon/patcher.rb +1 -2
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +30 -11
- data/lib/datadog/tracing/contrib/excon/ext.rb +16 -8
- data/lib/datadog/tracing/contrib/excon/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/excon/middleware.rb +27 -4
- data/lib/datadog/tracing/contrib/excon/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/ext.rb +55 -0
- data/lib/datadog/tracing/contrib/extensions.rb +38 -4
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +37 -11
- data/lib/datadog/tracing/contrib/faraday/connection.rb +1 -1
- data/lib/datadog/tracing/contrib/faraday/ext.rb +16 -8
- data/lib/datadog/tracing/contrib/faraday/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +25 -7
- data/lib/datadog/tracing/contrib/faraday/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/faraday/rack_builder.rb +1 -1
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +10 -7
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +0 -4
- data/lib/datadog/tracing/contrib/grape/ext.rb +16 -15
- data/lib/datadog/tracing/contrib/grape/instrumentation.rb +0 -2
- data/lib/datadog/tracing/contrib/grape/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/grape/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +11 -8
- data/lib/datadog/tracing/contrib/graphql/ext.rb +7 -6
- data/lib/datadog/tracing/contrib/graphql/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +51 -10
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +45 -19
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +43 -26
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +0 -6
- data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +26 -0
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +42 -0
- data/lib/datadog/tracing/contrib/grpc/ext.rb +16 -11
- data/lib/datadog/tracing/contrib/grpc/formatting.rb +127 -0
- data/lib/datadog/tracing/contrib/grpc/integration.rb +8 -3
- data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/patcher.rb +1 -4
- data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +47 -0
- data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +23 -0
- data/lib/datadog/tracing/contrib/hanami/ext.rb +24 -0
- data/lib/datadog/tracing/contrib/hanami/integration.rb +42 -0
- data/lib/datadog/tracing/contrib/hanami/patcher.rb +33 -0
- data/lib/datadog/tracing/contrib/hanami/plugin.rb +23 -0
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +41 -0
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +44 -0
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +6 -9
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +48 -10
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +38 -0
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +37 -0
- data/lib/datadog/tracing/contrib/http/ext.rb +16 -8
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +32 -12
- data/lib/datadog/tracing/contrib/http/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/http/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/http_annotation_helper.rb +1 -1
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +48 -10
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +17 -8
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +27 -8
- data/lib/datadog/tracing/contrib/httpclient/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/httpclient/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +48 -10
- data/lib/datadog/tracing/contrib/httprb/ext.rb +16 -8
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +27 -9
- data/lib/datadog/tracing/contrib/httprb/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/httprb/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +2 -1
- data/lib/datadog/tracing/contrib/kafka/consumer_group_event.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/event.rb +2 -1
- data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +1 -2
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +1 -2
- data/lib/datadog/tracing/contrib/kafka/events.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/ext.rb +42 -39
- data/lib/datadog/tracing/contrib/kafka/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/kafka/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +4 -3
- data/lib/datadog/tracing/contrib/lograge/ext.rb +2 -2
- data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +3 -18
- data/lib/datadog/tracing/contrib/lograge/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +25 -8
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +25 -14
- data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +0 -2
- data/lib/datadog/tracing/contrib/mongodb/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +22 -4
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +36 -8
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +15 -9
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +38 -4
- data/lib/datadog/tracing/contrib/mysql2/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/mysql2/patcher.rb +1 -1
- 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/patchable.rb +1 -1
- data/lib/datadog/tracing/contrib/patcher.rb +3 -5
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +37 -8
- data/lib/datadog/tracing/contrib/pg/ext.rb +22 -18
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +122 -39
- data/lib/datadog/tracing/contrib/pg/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/pg/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +24 -8
- data/lib/datadog/tracing/contrib/presto/ext.rb +25 -19
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +17 -5
- data/lib/datadog/tracing/contrib/presto/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/presto/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +41 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +33 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb +28 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +53 -0
- data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +14 -9
- data/lib/datadog/tracing/contrib/qless/ext.rb +14 -13
- data/lib/datadog/tracing/contrib/qless/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/qless/patcher.rb +1 -2
- data/lib/datadog/tracing/contrib/qless/qless_job.rb +3 -2
- data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +1 -1
- data/lib/datadog/tracing/contrib/que/configuration/settings.rb +22 -14
- data/lib/datadog/tracing/contrib/que/ext.rb +1 -2
- data/lib/datadog/tracing/contrib/que/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/que/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/que/tracer.rb +4 -2
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +19 -8
- data/lib/datadog/tracing/contrib/racecar/event.rb +7 -4
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +4 -3
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +0 -2
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +4 -3
- data/lib/datadog/tracing/contrib/racecar/events.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/ext.rb +20 -18
- data/lib/datadog/tracing/contrib/racecar/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/racecar/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +17 -14
- data/lib/datadog/tracing/contrib/rack/ext.rb +18 -12
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +38 -0
- data/lib/datadog/tracing/contrib/rack/header_tagging.rb +63 -0
- data/lib/datadog/tracing/contrib/rack/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +138 -82
- data/lib/datadog/tracing/contrib/rack/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/rack/request_queue.rb +0 -2
- data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +0 -4
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +29 -19
- data/lib/datadog/tracing/contrib/rails/ext.rb +7 -6
- data/lib/datadog/tracing/contrib/rails/framework.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +7 -12
- data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/patcher.rb +10 -43
- data/lib/datadog/tracing/contrib/rails/railtie.rb +3 -5
- data/lib/datadog/tracing/contrib/rails/utils.rb +2 -2
- data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +15 -11
- data/lib/datadog/tracing/contrib/rake/ext.rb +14 -13
- data/lib/datadog/tracing/contrib/rake/instrumentation.rb +0 -2
- data/lib/datadog/tracing/contrib/rake/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/rake/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +0 -2
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +27 -10
- data/lib/datadog/tracing/contrib/redis/ext.rb +22 -13
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +13 -39
- data/lib/datadog/tracing/contrib/redis/integration.rb +34 -3
- data/lib/datadog/tracing/contrib/redis/patcher.rb +66 -11
- data/lib/datadog/tracing/contrib/redis/quantize.rb +11 -10
- data/lib/datadog/tracing/contrib/redis/tags.rb +24 -9
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +83 -0
- data/lib/datadog/tracing/contrib/redis/vendor/resolver.rb +0 -2
- data/lib/datadog/tracing/contrib/registerable.rb +1 -1
- data/lib/datadog/tracing/contrib/registry.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +15 -8
- data/lib/datadog/tracing/contrib/resque/ext.rb +9 -8
- data/lib/datadog/tracing/contrib/resque/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/resque/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/resque_job.rb +5 -1
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +28 -10
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +15 -8
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/rest_client/patcher.rb +1 -2
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +28 -3
- data/lib/datadog/tracing/contrib/roda/configuration/settings.rb +38 -0
- data/lib/datadog/tracing/contrib/roda/ext.rb +19 -0
- data/lib/datadog/tracing/contrib/roda/instrumentation.rb +76 -0
- data/lib/datadog/tracing/contrib/roda/integration.rb +45 -0
- data/lib/datadog/{ci/contrib/cucumber → tracing/contrib/roda}/patcher.rb +10 -7
- data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +4 -3
- data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +2 -2
- data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +6 -21
- data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/sequel/database.rb +4 -3
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +5 -2
- data/lib/datadog/tracing/contrib/sequel/ext.rb +10 -9
- data/lib/datadog/tracing/contrib/sequel/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/sequel/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/utils.rb +7 -6
- data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +16 -9
- data/lib/datadog/tracing/contrib/shoryuken/ext.rb +14 -12
- data/lib/datadog/tracing/contrib/shoryuken/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +5 -1
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +18 -4
- data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +20 -11
- data/lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb +38 -0
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +32 -31
- data/lib/datadog/tracing/contrib/sidekiq/integration.rb +8 -2
- data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +15 -3
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +14 -5
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +3 -1
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb +3 -1
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +5 -1
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/stop.rb +34 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +24 -3
- data/lib/datadog/tracing/contrib/sidekiq/{tracing.rb → utils.rb} +2 -2
- data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +12 -11
- data/lib/datadog/tracing/contrib/sinatra/env.rb +11 -41
- data/lib/datadog/tracing/contrib/sinatra/ext.rb +24 -19
- data/lib/datadog/tracing/contrib/sinatra/framework.rb +0 -2
- data/lib/datadog/tracing/contrib/sinatra/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/sinatra/patcher.rb +2 -3
- data/lib/datadog/tracing/contrib/sinatra/tracer.rb +8 -82
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +14 -20
- data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +15 -10
- data/lib/datadog/tracing/contrib/sneakers/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/sneakers/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/sneakers/patcher.rb +0 -2
- data/lib/datadog/tracing/contrib/sneakers/tracer.rb +5 -2
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +92 -0
- data/lib/datadog/tracing/contrib/status_code_matcher.rb +0 -3
- data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +37 -0
- data/lib/datadog/tracing/contrib/stripe/ext.rb +27 -0
- data/lib/datadog/tracing/contrib/stripe/integration.rb +43 -0
- data/lib/datadog/tracing/contrib/stripe/patcher.rb +28 -0
- data/lib/datadog/tracing/contrib/stripe/request.rb +67 -0
- data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +11 -7
- data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +1 -1
- data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +15 -14
- data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +0 -2
- data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +0 -2
- data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +1 -2
- 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/tracing/contrib/trilogy/patcher.rb +31 -0
- data/lib/datadog/tracing/contrib/utils/database.rb +4 -4
- data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +0 -2
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +92 -14
- data/lib/datadog/tracing/contrib.rb +6 -1
- data/lib/datadog/tracing/correlation.rb +42 -14
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +165 -0
- data/lib/datadog/{core → tracing}/diagnostics/ext.rb +21 -26
- data/lib/datadog/tracing/diagnostics/health.rb +40 -0
- data/lib/datadog/tracing/distributed/b3_multi.rb +72 -0
- data/lib/datadog/tracing/distributed/b3_single.rb +68 -0
- data/lib/datadog/tracing/distributed/datadog.rb +199 -0
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +84 -0
- data/lib/datadog/tracing/distributed/fetcher.rb +21 -0
- data/lib/datadog/tracing/distributed/headers/ext.rb +19 -16
- data/lib/datadog/tracing/distributed/helpers.rb +26 -39
- data/lib/datadog/tracing/distributed/none.rb +18 -0
- data/lib/datadog/tracing/distributed/propagation.rb +127 -0
- data/lib/datadog/tracing/distributed/trace_context.rb +415 -0
- data/lib/datadog/tracing/event.rb +0 -4
- data/lib/datadog/tracing/flush.rb +58 -36
- data/lib/datadog/tracing/metadata/analytics.rb +1 -1
- data/lib/datadog/tracing/metadata/errors.rb +1 -1
- data/lib/datadog/tracing/metadata/ext.rb +29 -14
- data/lib/datadog/tracing/metadata/tagging.rb +17 -4
- data/lib/datadog/tracing/metadata.rb +1 -1
- data/lib/datadog/tracing/pipeline/span_filter.rb +1 -1
- data/lib/datadog/tracing/pipeline/span_processor.rb +1 -1
- data/lib/datadog/tracing/pipeline.rb +0 -4
- data/lib/datadog/tracing/propagation/http.rb +4 -99
- data/lib/datadog/tracing/remote.rb +78 -0
- data/lib/datadog/tracing/runtime/metrics.rb +1 -3
- data/lib/datadog/tracing/sampling/all_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/ext.rb +30 -1
- data/lib/datadog/tracing/sampling/matcher.rb +24 -4
- data/lib/datadog/tracing/sampling/priority_sampler.rb +58 -5
- data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +8 -11
- data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +29 -8
- data/lib/datadog/tracing/sampling/rate_limiter.rb +3 -2
- data/lib/datadog/tracing/sampling/rate_sampler.rb +23 -10
- data/lib/datadog/tracing/sampling/rule.rb +7 -6
- data/lib/datadog/tracing/sampling/rule_sampler.rb +35 -7
- data/lib/datadog/tracing/sampling/sampler.rb +0 -2
- data/lib/datadog/tracing/sampling/span/ext.rb +25 -0
- data/lib/datadog/tracing/sampling/span/matcher.rb +9 -0
- data/lib/datadog/tracing/sampling/span/rule.rb +82 -0
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +104 -0
- data/lib/datadog/tracing/sampling/span/sampler.rb +77 -0
- data/lib/datadog/tracing/span.rb +3 -21
- data/lib/datadog/tracing/span_operation.rb +8 -24
- data/lib/datadog/tracing/sync_writer.rb +4 -6
- data/lib/datadog/tracing/trace_digest.rb +120 -3
- data/lib/datadog/tracing/trace_operation.rb +62 -15
- data/lib/datadog/tracing/trace_segment.rb +20 -7
- data/lib/datadog/tracing/tracer.rb +46 -10
- data/lib/datadog/tracing/transport/http/api/instance.rb +37 -0
- data/lib/datadog/tracing/transport/http/api/spec.rb +19 -0
- data/lib/datadog/tracing/transport/http/api.rb +43 -0
- data/lib/datadog/tracing/transport/http/builder.rb +162 -0
- 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/utils.rb +83 -0
- data/lib/datadog/tracing/workers/trace_writer.rb +6 -7
- data/lib/datadog/tracing/workers.rb +4 -6
- data/lib/datadog/tracing/writer.rb +12 -6
- data/lib/datadog/tracing.rb +9 -3
- data/lib/ddtrace/auto_instrument.rb +1 -1
- data/lib/ddtrace/auto_instrument_base.rb +1 -1
- data/lib/ddtrace/profiling/preload.rb +0 -2
- data/lib/ddtrace/transport/ext.rb +21 -15
- data/lib/ddtrace/version.rb +14 -15
- data/lib/ddtrace.rb +3 -5
- metadata +278 -148
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +0 -390
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +0 -6
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +0 -391
- data/ext/ddtrace_profiling_native_extension/collectors_stack.c +0 -282
- data/ext/ddtrace_profiling_native_extension/collectors_stack.h +0 -9
- data/ext/ddtrace_profiling_native_extension/helpers.h +0 -12
- data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +0 -14
- data/ext/ddtrace_profiling_native_extension/profiling.c +0 -36
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +0 -25
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +0 -65
- data/ext/ddtrace_profiling_native_extension/stack_recorder.c +0 -422
- data/ext/ddtrace_profiling_native_extension/stack_recorder.h +0 -38
- data/lib/datadog/appsec/assets/waf_rules/risky.json +0 -1499
- data/lib/datadog/appsec/contrib/configuration/settings.rb +0 -20
- data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +0 -22
- data/lib/datadog/appsec/contrib/rack/request.rb +0 -58
- data/lib/datadog/appsec/contrib/rack/response.rb +0 -24
- data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +0 -22
- data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +0 -22
- 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 -22
- 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 -49
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +0 -33
- data/lib/datadog/ci/contrib/rspec/example.rb +0 -70
- data/lib/datadog/ci/contrib/rspec/ext.rb +0 -21
- data/lib/datadog/ci/contrib/rspec/integration.rb +0 -50
- data/lib/datadog/ci/contrib/rspec/patcher.rb +0 -27
- data/lib/datadog/ci/ext/app_types.rb +0 -11
- data/lib/datadog/ci/ext/environment.rb +0 -505
- data/lib/datadog/ci/ext/settings.rb +0 -12
- data/lib/datadog/ci/ext/test.rb +0 -37
- data/lib/datadog/ci/extensions.rb +0 -19
- data/lib/datadog/ci/flush.rb +0 -38
- data/lib/datadog/ci/test.rb +0 -83
- 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/client.rb +0 -79
- data/lib/datadog/core/telemetry/collector.rb +0 -234
- data/lib/datadog/core/telemetry/heartbeat.rb +0 -37
- data/lib/datadog/core/telemetry/v1/app_event.rb +0 -52
- data/lib/datadog/core/telemetry/v1/application.rb +0 -86
- data/lib/datadog/core/telemetry/v1/configuration.rb +0 -25
- data/lib/datadog/core/telemetry/v1/dependency.rb +0 -36
- data/lib/datadog/core/telemetry/v1/host.rb +0 -51
- data/lib/datadog/core/telemetry/v1/integration.rb +0 -58
- data/lib/datadog/core/telemetry/v1/product.rb +0 -28
- data/lib/datadog/core/telemetry/v1/telemetry_request.rb +0 -100
- data/lib/datadog/core/utils/object_set.rb +0 -43
- data/lib/datadog/core/utils/string_table.rb +0 -49
- data/lib/datadog/profiling/backtrace_location.rb +0 -34
- data/lib/datadog/profiling/buffer.rb +0 -43
- data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +0 -27
- data/lib/datadog/profiling/collectors/old_stack.rb +0 -298
- data/lib/datadog/profiling/encoding/profile.rb +0 -43
- data/lib/datadog/profiling/event.rb +0 -15
- data/lib/datadog/profiling/events/stack.rb +0 -82
- data/lib/datadog/profiling/old_ext.rb +0 -42
- data/lib/datadog/profiling/old_recorder.rb +0 -101
- data/lib/datadog/profiling/pprof/builder.rb +0 -127
- data/lib/datadog/profiling/pprof/converter.rb +0 -104
- 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 -83
- data/lib/datadog/profiling/pprof/stack_sample.rb +0 -141
- data/lib/datadog/profiling/pprof/string_table.rb +0 -12
- data/lib/datadog/profiling/pprof/template.rb +0 -120
- data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +0 -45
- data/lib/datadog/profiling/trace_identifiers/helper.rb +0 -47
- data/lib/datadog/profiling/transport/http/api/endpoint.rb +0 -85
- data/lib/datadog/profiling/transport/http/api/instance.rb +0 -38
- data/lib/datadog/profiling/transport/http/api/spec.rb +0 -42
- data/lib/datadog/profiling/transport/http/api.rb +0 -45
- data/lib/datadog/profiling/transport/http/builder.rb +0 -30
- data/lib/datadog/profiling/transport/http/client.rb +0 -37
- data/lib/datadog/profiling/transport/http/response.rb +0 -21
- data/lib/datadog/profiling/transport/http.rb +0 -118
- data/lib/datadog/tracing/contrib/sinatra/headers.rb +0 -35
- data/lib/datadog/tracing/distributed/headers/b3.rb +0 -55
- data/lib/datadog/tracing/distributed/headers/b3_single.rb +0 -67
- data/lib/datadog/tracing/distributed/headers/datadog.rb +0 -52
- data/lib/datadog/tracing/distributed/headers/parser.rb +0 -37
- data/lib/datadog/tracing/distributed/metadata/b3.rb +0 -55
- data/lib/datadog/tracing/distributed/metadata/b3_single.rb +0 -66
- data/lib/datadog/tracing/distributed/metadata/datadog.rb +0 -73
- data/lib/datadog/tracing/distributed/metadata/parser.rb +0 -34
- data/lib/datadog/tracing/propagation/grpc.rb +0 -98
- data/lib/ddtrace/transport/http/adapters/net.rb +0 -158
- data/lib/ddtrace/transport/http/adapters/registry.rb +0 -27
- data/lib/ddtrace/transport/http/adapters/test.rb +0 -87
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +0 -79
- 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 -41
- data/lib/ddtrace/transport/http/builder.rb +0 -178
- data/lib/ddtrace/transport/http/client.rb +0 -54
- 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 -45
- data/lib/ddtrace/transport/http/traces.rb +0 -146
- data/lib/ddtrace/transport/http.rb +0 -121
- data/lib/ddtrace/transport/io/client.rb +0 -87
- data/lib/ddtrace/transport/io/response.rb +0 -25
- data/lib/ddtrace/transport/io/traces.rb +0 -101
- data/lib/ddtrace/transport/io.rb +0 -28
- data/lib/ddtrace/transport/parcel.rb +0 -22
- data/lib/ddtrace/transport/request.rb +0 -15
- data/lib/ddtrace/transport/response.rb +0 -62
- data/lib/ddtrace/transport/serializable_trace.rb +0 -118
- data/lib/ddtrace/transport/statistics.rb +0 -75
- data/lib/ddtrace/transport/trace_formatter.rb +0 -187
- data/lib/ddtrace/transport/traces.rb +0 -216
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# typed: false
|
|
2
|
-
|
|
3
1
|
require 'logger'
|
|
4
2
|
|
|
5
3
|
require_relative 'base'
|
|
4
|
+
require_relative 'ext'
|
|
5
|
+
require_relative '../environment/execution'
|
|
6
6
|
require_relative '../environment/ext'
|
|
7
7
|
require_relative '../runtime/ext'
|
|
8
8
|
require_relative '../telemetry/ext'
|
|
9
|
+
require_relative '../remote/ext'
|
|
9
10
|
require_relative '../../profiling/ext'
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
require_relative '../../tracing/configuration/settings'
|
|
11
13
|
|
|
12
14
|
module Datadog
|
|
13
15
|
module Core
|
|
14
16
|
module Configuration
|
|
15
|
-
# Global configuration settings for the
|
|
17
|
+
# Global configuration settings for the Datadog library.
|
|
16
18
|
# @public_api
|
|
17
19
|
# rubocop:disable Metrics/BlockLength
|
|
18
|
-
# rubocop:disable Metrics/ClassLength
|
|
19
|
-
# rubocop:disable Layout/LineLength
|
|
20
20
|
class Settings
|
|
21
21
|
include Base
|
|
22
22
|
|
|
@@ -80,8 +80,8 @@ module Datadog
|
|
|
80
80
|
# @default `DD_API_KEY` environment variable, otherwise `nil`
|
|
81
81
|
# @return [String,nil]
|
|
82
82
|
option :api_key do |o|
|
|
83
|
-
o.
|
|
84
|
-
o.
|
|
83
|
+
o.type :string, nilable: true
|
|
84
|
+
o.env Core::Environment::Ext::ENV_API_KEY
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
# Datadog diagnostic settings.
|
|
@@ -100,18 +100,17 @@ module Datadog
|
|
|
100
100
|
# @default `DD_TRACE_DEBUG` environment variable, otherwise `false`
|
|
101
101
|
# @return [Boolean]
|
|
102
102
|
option :debug do |o|
|
|
103
|
-
o.
|
|
104
|
-
o.
|
|
105
|
-
o.
|
|
103
|
+
o.env Datadog::Core::Configuration::Ext::Diagnostics::ENV_DEBUG_ENABLED
|
|
104
|
+
o.default false
|
|
105
|
+
o.type :bool
|
|
106
|
+
o.after_set do |enabled|
|
|
106
107
|
# Enable rich debug print statements.
|
|
107
108
|
# We do not need to unnecessarily load 'pp' unless in debugging mode.
|
|
108
109
|
require 'pp' if enabled
|
|
109
110
|
end
|
|
110
111
|
end
|
|
111
|
-
|
|
112
112
|
# Internal {Datadog::Statsd} metrics collection.
|
|
113
113
|
#
|
|
114
|
-
# The list of metrics collected can be found in {Datadog::Core::Diagnostics::Ext::Health::Metrics}.
|
|
115
114
|
# @public_api
|
|
116
115
|
settings :health_metrics do
|
|
117
116
|
# Enable health metrics collection.
|
|
@@ -119,8 +118,9 @@ module Datadog
|
|
|
119
118
|
# @default `DD_HEALTH_METRICS_ENABLED` environment variable, otherwise `false`
|
|
120
119
|
# @return [Boolean]
|
|
121
120
|
option :enabled do |o|
|
|
122
|
-
o.
|
|
123
|
-
o.
|
|
121
|
+
o.env Datadog::Core::Configuration::Ext::Diagnostics::ENV_HEALTH_METRICS_ENABLED
|
|
122
|
+
o.default false
|
|
123
|
+
o.type :bool
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
# {Datadog::Statsd} instance to collect health metrics.
|
|
@@ -142,11 +142,11 @@ module Datadog
|
|
|
142
142
|
# is *not* running in a development environment.
|
|
143
143
|
#
|
|
144
144
|
# @default `DD_TRACE_STARTUP_LOGS` environment variable, otherwise `nil`
|
|
145
|
-
# @return [Boolean,nil]
|
|
145
|
+
# @return [Boolean, nil]
|
|
146
146
|
option :enabled do |o|
|
|
147
|
+
o.env Datadog::Core::Configuration::Ext::Diagnostics::ENV_STARTUP_LOGS_ENABLED
|
|
147
148
|
# Defaults to nil as we want to know when the default value is being used
|
|
148
|
-
o.
|
|
149
|
-
o.lazy
|
|
149
|
+
o.type :bool, nilable: true
|
|
150
150
|
end
|
|
151
151
|
end
|
|
152
152
|
end
|
|
@@ -156,9 +156,11 @@ module Datadog
|
|
|
156
156
|
# @default `DD_ENV` environment variable, otherwise `nil`
|
|
157
157
|
# @return [String,nil]
|
|
158
158
|
option :env do |o|
|
|
159
|
+
# DEV-2.0: Remove this conversion for symbol.
|
|
160
|
+
o.setter { |v| v.to_s if v }
|
|
161
|
+
|
|
159
162
|
# NOTE: env also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
|
|
160
|
-
o.
|
|
161
|
-
o.lazy
|
|
163
|
+
o.env Core::Environment::Ext::ENV_ENVIRONMENT
|
|
162
164
|
end
|
|
163
165
|
|
|
164
166
|
# Internal `Datadog.logger` configuration.
|
|
@@ -174,7 +176,7 @@ module Datadog
|
|
|
174
176
|
#
|
|
175
177
|
# @return Logger::Severity
|
|
176
178
|
option :instance do |o|
|
|
177
|
-
o.
|
|
179
|
+
o.after_set { |value| set_option(:level, value.level) unless value.nil? }
|
|
178
180
|
end
|
|
179
181
|
|
|
180
182
|
# Log level for `Datadog.logger`.
|
|
@@ -193,8 +195,9 @@ module Datadog
|
|
|
193
195
|
# @default `DD_PROFILING_ENABLED` environment variable, otherwise `false`
|
|
194
196
|
# @return [Boolean]
|
|
195
197
|
option :enabled do |o|
|
|
196
|
-
o.
|
|
197
|
-
o.
|
|
198
|
+
o.env Profiling::Ext::ENV_ENABLED
|
|
199
|
+
o.default false
|
|
200
|
+
o.type :bool
|
|
198
201
|
end
|
|
199
202
|
|
|
200
203
|
# @public_api
|
|
@@ -202,18 +205,47 @@ module Datadog
|
|
|
202
205
|
option :transport
|
|
203
206
|
end
|
|
204
207
|
|
|
208
|
+
# Can be used to enable/disable collection of allocation profiles.
|
|
209
|
+
#
|
|
210
|
+
# This feature is disabled by default
|
|
211
|
+
#
|
|
212
|
+
# @warn Due to bugs in Ruby we only recommend enabling this feature in
|
|
213
|
+
# Ruby versions 2.x, 3.1.4+, 3.2.3+ and 3.3.0+
|
|
214
|
+
# (more details in {Datadog::Profiling::Component.enable_allocation_profiling?})
|
|
215
|
+
#
|
|
216
|
+
# @default `DD_PROFILING_ALLOCATION_ENABLED` environment variable as a boolean, otherwise `false`
|
|
217
|
+
option :allocation_enabled do |o|
|
|
218
|
+
o.type :bool
|
|
219
|
+
o.deprecated_env 'DD_PROFILING_EXPERIMENTAL_ALLOCATION_ENABLED' # TODO: Remove this for dd-trace-rb 2.0
|
|
220
|
+
o.env 'DD_PROFILING_ALLOCATION_ENABLED'
|
|
221
|
+
o.default false
|
|
222
|
+
end
|
|
223
|
+
|
|
205
224
|
# @public_api
|
|
206
225
|
settings :advanced do
|
|
207
|
-
#
|
|
208
|
-
#
|
|
209
|
-
#
|
|
210
|
-
|
|
226
|
+
# @deprecated No longer does anything, and will be removed on dd-trace-rb 2.0.
|
|
227
|
+
#
|
|
228
|
+
# This was used prior to the GA of the new CPU Profiling 2.0 profiler. The CPU Profiling 2.0 profiler does not
|
|
229
|
+
# use or need this setting and thus it doesn't do anything.
|
|
230
|
+
option :max_events do |o|
|
|
231
|
+
o.after_set do |_, _, precedence|
|
|
232
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
233
|
+
Datadog.logger.warn(
|
|
234
|
+
'The profiling.advanced.max_events setting has been deprecated for removal and no ' \
|
|
235
|
+
'longer does anything. Please remove it from your Datadog.configure block.'
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
end
|
|
211
240
|
|
|
212
241
|
# Controls the maximum number of frames for each thread sampled. Can be tuned to avoid omitted frames in the
|
|
213
242
|
# produced profiles. Increasing this may increase the overhead of profiling.
|
|
243
|
+
#
|
|
244
|
+
# @default `DD_PROFILING_MAX_FRAMES` environment variable, otherwise 400
|
|
214
245
|
option :max_frames do |o|
|
|
215
|
-
o.
|
|
216
|
-
o.
|
|
246
|
+
o.type :int
|
|
247
|
+
o.env Profiling::Ext::ENV_MAX_FRAMES
|
|
248
|
+
o.default 400
|
|
217
249
|
end
|
|
218
250
|
|
|
219
251
|
# @public_api
|
|
@@ -225,40 +257,291 @@ module Datadog
|
|
|
225
257
|
# @default `DD_PROFILING_ENDPOINT_COLLECTION_ENABLED` environment variable, otherwise `true`
|
|
226
258
|
# @return [Boolean]
|
|
227
259
|
option :enabled do |o|
|
|
228
|
-
o.
|
|
229
|
-
o.
|
|
260
|
+
o.env Profiling::Ext::ENV_ENDPOINT_COLLECTION_ENABLED
|
|
261
|
+
o.default true
|
|
262
|
+
o.type :bool
|
|
230
263
|
end
|
|
231
264
|
end
|
|
232
265
|
end
|
|
233
266
|
|
|
234
|
-
#
|
|
235
|
-
# categorization of stack traces.
|
|
236
|
-
option :code_provenance_enabled
|
|
267
|
+
# Can be used to disable the gathering of names and versions of gems in use by the service, used to power
|
|
268
|
+
# grouping and categorization of stack traces.
|
|
269
|
+
option :code_provenance_enabled do |o|
|
|
270
|
+
o.type :bool
|
|
271
|
+
o.default true
|
|
272
|
+
end
|
|
237
273
|
|
|
238
|
-
#
|
|
239
|
-
#
|
|
274
|
+
# @deprecated No longer does anything, and will be removed on dd-trace-rb 2.0.
|
|
275
|
+
#
|
|
276
|
+
# This was added as a temporary support option in case of issues with the new `Profiling::HttpTransport` class
|
|
277
|
+
# but we're now confident it's working nicely so we've removed the old code path.
|
|
240
278
|
option :legacy_transport_enabled do |o|
|
|
241
|
-
o.
|
|
242
|
-
|
|
279
|
+
o.after_set do |_, _, precedence|
|
|
280
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
281
|
+
Datadog.logger.warn(
|
|
282
|
+
'The profiling.advanced.legacy_transport_enabled setting has been deprecated for removal and no ' \
|
|
283
|
+
'longer does anything. Please remove it from your Datadog.configure block.'
|
|
284
|
+
)
|
|
285
|
+
end
|
|
286
|
+
end
|
|
243
287
|
end
|
|
244
288
|
|
|
245
|
-
#
|
|
289
|
+
# @deprecated No longer does anything, and will be removed on dd-trace-rb 2.0.
|
|
246
290
|
#
|
|
247
|
-
#
|
|
248
|
-
#
|
|
249
|
-
# This option will be deprecated for removal once the new profiler gets enabled by default for all customers.
|
|
291
|
+
# This was used prior to the GA of the new CPU Profiling 2.0 profiler. Using CPU Profiling 2.0 is now the
|
|
292
|
+
# default and this doesn't do anything.
|
|
250
293
|
option :force_enable_new_profiler do |o|
|
|
251
|
-
o.
|
|
252
|
-
|
|
294
|
+
o.after_set do |_, _, precedence|
|
|
295
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
296
|
+
Datadog.logger.warn(
|
|
297
|
+
'The profiling.advanced.force_enable_new_profiler setting has been deprecated for removal and no ' \
|
|
298
|
+
'longer does anything. Please remove it from your Datadog.configure block.'
|
|
299
|
+
)
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
# @deprecated No longer does anything, and will be removed on dd-trace-rb 2.0.
|
|
305
|
+
#
|
|
306
|
+
# This was used prior to the GA of the new CPU Profiling 2.0 profiler. Using CPU Profiling 2.0 is now the
|
|
307
|
+
# default and this doesn't do anything.
|
|
308
|
+
option :force_enable_legacy_profiler do |o|
|
|
309
|
+
o.after_set do |_, _, precedence|
|
|
310
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
311
|
+
Datadog.logger.warn(
|
|
312
|
+
'The profiling.advanced.force_enable_legacy_profiler setting has been deprecated for removal and no ' \
|
|
313
|
+
'longer does anything. Please remove it from your Datadog.configure block.'
|
|
314
|
+
)
|
|
315
|
+
end
|
|
316
|
+
end
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# @deprecated No longer does anything, and will be removed on dd-trace-rb 2.0.
|
|
320
|
+
#
|
|
321
|
+
# GC profiling is now on by default and controlled by {:gc_enabled}.
|
|
322
|
+
option :force_enable_gc_profiling do |o|
|
|
323
|
+
o.after_set do |_, _, precedence|
|
|
324
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
325
|
+
Datadog.logger.warn(
|
|
326
|
+
'The profiling.advanced.force_enable_gc_profiling setting has been deprecated for removal and no ' \
|
|
327
|
+
'longer does anything (the feature is now on by default). ' \
|
|
328
|
+
'Please remove this setting from your Datadog.configure block.'
|
|
329
|
+
)
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
# Can be used to enable/disable garbage collection profiling.
|
|
335
|
+
#
|
|
336
|
+
# @warn To avoid https://bugs.ruby-lang.org/issues/18464 even when enabled, GC profiling is only started
|
|
337
|
+
# for Ruby versions 2.x, 3.1.4+, 3.2.3+ and 3.3.0+
|
|
338
|
+
# (more details in {Datadog::Profiling::Component.enable_gc_profiling?})
|
|
339
|
+
#
|
|
340
|
+
# @warn Due to a VM bug in the Ractor implementation (https://bugs.ruby-lang.org/issues/19112) this feature
|
|
341
|
+
# stops working when Ractors get garbage collected.
|
|
342
|
+
#
|
|
343
|
+
# @default `DD_PROFILING_GC_ENABLED` environment variable, otherwise `true`
|
|
344
|
+
option :gc_enabled do |o|
|
|
345
|
+
o.type :bool
|
|
346
|
+
o.env 'DD_PROFILING_GC_ENABLED'
|
|
347
|
+
o.default true
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# Can be used to enable/disable the Datadog::Profiling.allocation_count feature.
|
|
351
|
+
#
|
|
352
|
+
# @deprecated Use {:allocation_enabled} (outside of advanced section) instead.
|
|
353
|
+
option :allocation_counting_enabled do |o|
|
|
354
|
+
o.after_set do |_, _, precedence|
|
|
355
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
356
|
+
Datadog.logger.warn(
|
|
357
|
+
'The profiling.advanced.allocation_counting_enabled setting has been deprecated for removal and no ' \
|
|
358
|
+
'longer does anything. Please remove it from your Datadog.configure block. ' \
|
|
359
|
+
'Allocation counting is now controlled by the profiling.allocation_enabled setting instead.'
|
|
360
|
+
)
|
|
361
|
+
end
|
|
362
|
+
end
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
# @deprecated Use {:allocation_enabled} (outside of advanced section) instead.
|
|
366
|
+
option :experimental_allocation_enabled do |o|
|
|
367
|
+
o.type :bool
|
|
368
|
+
o.default false
|
|
369
|
+
o.after_set do |_, _, precedence|
|
|
370
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
371
|
+
Datadog.logger.warn(
|
|
372
|
+
'The profiling.advanced.experimental_allocation_enabled setting has been deprecated for removal and ' \
|
|
373
|
+
'no longer does anything. Please remove it from your Datadog.configure block. ' \
|
|
374
|
+
'Allocation profiling is now controlled by the profiling.allocation_enabled setting instead.'
|
|
375
|
+
)
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
# Can be used to enable/disable the collection of heap profiles.
|
|
381
|
+
#
|
|
382
|
+
# This feature is alpha and disabled by default
|
|
383
|
+
#
|
|
384
|
+
# @warn To enable heap profiling you are required to also enable allocation profiling.
|
|
385
|
+
#
|
|
386
|
+
# @default `DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED` environment variable as a boolean, otherwise `false`
|
|
387
|
+
option :experimental_heap_enabled do |o|
|
|
388
|
+
o.type :bool
|
|
389
|
+
o.env 'DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED'
|
|
390
|
+
o.default false
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
# Can be used to enable/disable the collection of heap size profiles.
|
|
394
|
+
#
|
|
395
|
+
# This feature is alpha and enabled by default when heap profiling is enabled.
|
|
396
|
+
#
|
|
397
|
+
# @warn To enable heap size profiling you are required to also enable allocation and heap profiling.
|
|
398
|
+
#
|
|
399
|
+
# @default `DD_PROFILING_EXPERIMENTAL_HEAP_SIZE_ENABLED` environment variable as a boolean, otherwise
|
|
400
|
+
# whatever the value of DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED is.
|
|
401
|
+
option :experimental_heap_size_enabled do |o|
|
|
402
|
+
o.type :bool
|
|
403
|
+
o.env 'DD_PROFILING_EXPERIMENTAL_HEAP_SIZE_ENABLED'
|
|
404
|
+
o.default true # This gets ANDed with experimental_heap_enabled in the profiler component.
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
# Can be used to configure the allocation sampling rate: a sample will be collected every x allocations.
|
|
408
|
+
#
|
|
409
|
+
# This feature is now controlled via {:overhead_target_percentage}
|
|
410
|
+
option :experimental_allocation_sample_rate do |o|
|
|
411
|
+
o.after_set do |_, _, precedence|
|
|
412
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
413
|
+
Datadog.logger.warn(
|
|
414
|
+
'The profiling.advanced.experimental_allocation_sample_rate setting has been deprecated for removal ' \
|
|
415
|
+
'and no longer does anything. Please remove it from your Datadog.configure block. ' \
|
|
416
|
+
'Allocation sample rate is now handled by a dynamic sampler which will adjust the sampling rate to ' \
|
|
417
|
+
'keep to the configured `profiling.advanced.overhead_target_percentage`.'
|
|
418
|
+
)
|
|
419
|
+
end
|
|
420
|
+
end
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
# Can be used to configure the heap sampling rate: a heap sample will be collected for every x allocation
|
|
424
|
+
# samples.
|
|
425
|
+
#
|
|
426
|
+
# The lower the value, the more accuracy in heap tracking but the bigger the overhead. In particular, a
|
|
427
|
+
# value of 1 will track ALL allocations samples for heap profiles.
|
|
428
|
+
#
|
|
429
|
+
# The effective heap sampling rate in terms of allocations (not allocation samples) can be calculated via
|
|
430
|
+
# effective_heap_sample_rate = allocation_sample_rate * heap_sample_rate.
|
|
431
|
+
#
|
|
432
|
+
# @default `DD_PROFILING_EXPERIMENTAL_HEAP_SAMPLE_RATE` environment variable, otherwise `10`.
|
|
433
|
+
option :experimental_heap_sample_rate do |o|
|
|
434
|
+
o.type :int
|
|
435
|
+
o.env 'DD_PROFILING_EXPERIMENTAL_HEAP_SAMPLE_RATE'
|
|
436
|
+
o.default 10
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
# Can be used to disable checking which version of `libmysqlclient` is being used by the `mysql2` gem.
|
|
440
|
+
#
|
|
441
|
+
# This setting is only used when the `mysql2` gem is installed.
|
|
442
|
+
#
|
|
443
|
+
# @default `DD_PROFILING_SKIP_MYSQL2_CHECK` environment variable, otherwise `false`
|
|
444
|
+
option :skip_mysql2_check do |o|
|
|
445
|
+
o.type :bool
|
|
446
|
+
o.env 'DD_PROFILING_SKIP_MYSQL2_CHECK'
|
|
447
|
+
o.default false
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
# Enables data collection for the timeline feature. This is still experimental and not recommended yet.
|
|
451
|
+
#
|
|
452
|
+
# @default `DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED` environment variable as a boolean, otherwise `false`
|
|
453
|
+
option :experimental_timeline_enabled do |o|
|
|
454
|
+
o.after_set do |_, _, precedence|
|
|
455
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
456
|
+
Datadog.logger.warn(
|
|
457
|
+
'The profiling.advanced.experimental_timeline_enabled setting has been deprecated for removal ' \
|
|
458
|
+
'and no longer does anything. Please remove it from your Datadog.configure block. ' \
|
|
459
|
+
'The timeline feature counting is now controlled by the `timeline_enabled` setting instead.'
|
|
460
|
+
)
|
|
461
|
+
end
|
|
462
|
+
end
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# Controls data collection for the timeline feature.
|
|
466
|
+
#
|
|
467
|
+
# If you needed to disable this, please tell us why on <https://github.com/DataDog/dd-trace-rb/issues/new>,
|
|
468
|
+
# so we can fix it!
|
|
469
|
+
#
|
|
470
|
+
# @default `DD_PROFILING_TIMELINE_ENABLED` environment variable as a boolean, otherwise `true`
|
|
471
|
+
option :timeline_enabled do |o|
|
|
472
|
+
o.type :bool
|
|
473
|
+
o.env 'DD_PROFILING_TIMELINE_ENABLED'
|
|
474
|
+
o.default true
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# The profiler gathers data by sending `SIGPROF` unix signals to Ruby application threads.
|
|
478
|
+
#
|
|
479
|
+
# Sending `SIGPROF` is a common profiling approach, and may cause system calls from native
|
|
480
|
+
# extensions/libraries to be interrupted with a system
|
|
481
|
+
# [EINTR error code.](https://man7.org/linux/man-pages/man7/signal.7.html#:~:text=Interruption%20of%20system%20calls%20and%20library%20functions%20by%20signal%20handlers)
|
|
482
|
+
# Rarely, native extensions or libraries called by them may have missing or incorrect error handling for the
|
|
483
|
+
# `EINTR` error code.
|
|
484
|
+
#
|
|
485
|
+
# The "no signals" workaround, when enabled, enables an alternative mode for the profiler where it does not
|
|
486
|
+
# send `SIGPROF` unix signals. The downside of this approach is that the profiler data will have lower
|
|
487
|
+
# quality.
|
|
488
|
+
#
|
|
489
|
+
# This workaround is automatically enabled when gems that are known to have issues handling
|
|
490
|
+
# `EINTR` error codes are detected. If you suspect you may be seeing an issue due to the profiler's use of
|
|
491
|
+
# signals, you can try manually enabling this mode as a fallback.
|
|
492
|
+
# Please also report these issues to us on <https://github.com/DataDog/dd-trace-rb/issues/new>, so we can
|
|
493
|
+
# work with the gem authors to fix them!
|
|
494
|
+
#
|
|
495
|
+
# @default `DD_PROFILING_NO_SIGNALS_WORKAROUND_ENABLED` environment variable as a boolean, otherwise `:auto`
|
|
496
|
+
option :no_signals_workaround_enabled do |o|
|
|
497
|
+
o.env 'DD_PROFILING_NO_SIGNALS_WORKAROUND_ENABLED'
|
|
498
|
+
o.default :auto
|
|
499
|
+
o.env_parser do |value|
|
|
500
|
+
if value
|
|
501
|
+
value = value.strip.downcase
|
|
502
|
+
['true', '1'].include?(value)
|
|
503
|
+
end
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
# Configures how much wall-time overhead the profiler targets. The profiler will dynamically adjust the
|
|
508
|
+
# interval between samples it takes so as to try and maintain the property that it spends no longer than
|
|
509
|
+
# this amount of wall-clock time profiling. For example, with the default value of 2%, the profiler will
|
|
510
|
+
# try and cause no more than 1.2 seconds per minute of overhead. Decreasing this value will reduce the
|
|
511
|
+
# accuracy of the data collected. Increasing will impact the application.
|
|
512
|
+
#
|
|
513
|
+
# We do not recommend tweaking this value.
|
|
514
|
+
#
|
|
515
|
+
# This value should be a percentage i.e. a number between 0 and 100, not 0 and 1.
|
|
516
|
+
#
|
|
517
|
+
# @default `DD_PROFILING_OVERHEAD_TARGET_PERCENTAGE` as a float, otherwise 2.0
|
|
518
|
+
option :overhead_target_percentage do |o|
|
|
519
|
+
o.type :float
|
|
520
|
+
o.env 'DD_PROFILING_OVERHEAD_TARGET_PERCENTAGE'
|
|
521
|
+
o.default 2.0
|
|
522
|
+
end
|
|
523
|
+
|
|
524
|
+
# Controls how often the profiler reports data, in seconds. Cannot be lower than 60 seconds.
|
|
525
|
+
#
|
|
526
|
+
# We do not recommend tweaking this value.
|
|
527
|
+
#
|
|
528
|
+
# @default `DD_PROFILING_UPLOAD_PERIOD` environment variable, otherwise 60
|
|
529
|
+
option :upload_period_seconds do |o|
|
|
530
|
+
o.type :int
|
|
531
|
+
o.env 'DD_PROFILING_UPLOAD_PERIOD'
|
|
532
|
+
o.default 60
|
|
253
533
|
end
|
|
254
534
|
end
|
|
255
535
|
|
|
256
536
|
# @public_api
|
|
257
537
|
settings :upload do
|
|
538
|
+
# Network timeout for reporting profiling data to Datadog.
|
|
539
|
+
#
|
|
540
|
+
# @default `DD_PROFILING_UPLOAD_TIMEOUT` environment variable, otherwise `30.0`
|
|
258
541
|
option :timeout_seconds do |o|
|
|
259
|
-
o.
|
|
260
|
-
o.
|
|
261
|
-
o.
|
|
542
|
+
o.type :float
|
|
543
|
+
o.env Profiling::Ext::ENV_UPLOAD_TIMEOUT
|
|
544
|
+
o.default 30.0
|
|
262
545
|
end
|
|
263
546
|
end
|
|
264
547
|
end
|
|
@@ -271,11 +554,12 @@ module Datadog
|
|
|
271
554
|
# @default `DD_RUNTIME_METRICS_ENABLED` environment variable, otherwise `false`
|
|
272
555
|
# @return [Boolean]
|
|
273
556
|
option :enabled do |o|
|
|
274
|
-
o.
|
|
275
|
-
o.
|
|
557
|
+
o.env Core::Runtime::Ext::Metrics::ENV_ENABLED
|
|
558
|
+
o.default false
|
|
559
|
+
o.type :bool
|
|
276
560
|
end
|
|
277
561
|
|
|
278
|
-
option :opts, default:
|
|
562
|
+
option :opts, default: {}, type: :hash
|
|
279
563
|
option :statsd
|
|
280
564
|
end
|
|
281
565
|
|
|
@@ -284,9 +568,12 @@ module Datadog
|
|
|
284
568
|
# @default `DD_SERVICE` environment variable, otherwise the program name (e.g. `'ruby'`, `'rails'`, `'pry'`)
|
|
285
569
|
# @return [String]
|
|
286
570
|
option :service do |o|
|
|
571
|
+
# DEV-2.0: Remove this conversion for symbol.
|
|
572
|
+
o.setter { |v| v.to_s if v }
|
|
573
|
+
|
|
287
574
|
# NOTE: service also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
|
|
288
|
-
o.
|
|
289
|
-
o.
|
|
575
|
+
o.env Core::Environment::Ext::ENV_SERVICE
|
|
576
|
+
o.default Core::Environment::Ext::FALLBACK_SERVICE_NAME
|
|
290
577
|
|
|
291
578
|
# There's a few cases where we don't want to use the fallback service name, so this helper allows us to get a
|
|
292
579
|
# nil instead so that one can do
|
|
@@ -308,8 +595,8 @@ module Datadog
|
|
|
308
595
|
# @default `DD_SITE` environment variable, otherwise `nil` which sends data to `app.datadoghq.com`
|
|
309
596
|
# @return [String,nil]
|
|
310
597
|
option :site do |o|
|
|
311
|
-
o.
|
|
312
|
-
o.
|
|
598
|
+
o.type :string, nilable: true
|
|
599
|
+
o.env Core::Environment::Ext::ENV_SITE
|
|
313
600
|
end
|
|
314
601
|
|
|
315
602
|
# Default tags
|
|
@@ -319,44 +606,57 @@ module Datadog
|
|
|
319
606
|
# @default `DD_TAGS` environment variable (in the format `'tag1:value1,tag2:value2'`), otherwise `{}`
|
|
320
607
|
# @return [Hash<String,String>]
|
|
321
608
|
option :tags do |o|
|
|
322
|
-
o.
|
|
323
|
-
|
|
609
|
+
o.type :hash, nilable: true
|
|
610
|
+
o.env Core::Environment::Ext::ENV_TAGS
|
|
611
|
+
o.env_parser do |env_value|
|
|
612
|
+
values = if env_value.include?(',')
|
|
613
|
+
env_value.split(',')
|
|
614
|
+
else
|
|
615
|
+
env_value.split(' ') # rubocop:disable Style/RedundantArgument
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
values.map! do |v|
|
|
619
|
+
v.gsub!(/\A[\s,]*|[\s,]*\Z/, '')
|
|
620
|
+
|
|
621
|
+
v.empty? ? nil : v
|
|
622
|
+
end
|
|
324
623
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
tags[
|
|
624
|
+
values.compact!
|
|
625
|
+
values.each_with_object({}) do |tag, tags|
|
|
626
|
+
key, value = tag.split(':', 2)
|
|
627
|
+
tags[key] = value if value && !value.empty?
|
|
329
628
|
end
|
|
629
|
+
end
|
|
630
|
+
o.setter do |new_value, old_value|
|
|
631
|
+
raw_tags = new_value || {}
|
|
330
632
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
633
|
+
env_value = env
|
|
634
|
+
version_value = version
|
|
635
|
+
service_name = service_without_fallback
|
|
334
636
|
|
|
335
|
-
tags
|
|
336
|
-
|
|
637
|
+
# Override tags if defined
|
|
638
|
+
raw_tags[Core::Environment::Ext::TAG_ENV] = env_value unless env_value.nil?
|
|
639
|
+
raw_tags[Core::Environment::Ext::TAG_VERSION] = version_value unless version_value.nil?
|
|
337
640
|
|
|
338
|
-
o.setter do |new_value, old_value|
|
|
339
641
|
# Coerce keys to strings
|
|
340
|
-
string_tags =
|
|
642
|
+
string_tags = raw_tags.collect { |k, v| [k.to_s, v] }.to_h
|
|
341
643
|
|
|
342
644
|
# Cross-populate tag values with other settings
|
|
343
|
-
if
|
|
645
|
+
if env_value.nil? && string_tags.key?(Core::Environment::Ext::TAG_ENV)
|
|
344
646
|
self.env = string_tags[Core::Environment::Ext::TAG_ENV]
|
|
345
647
|
end
|
|
346
648
|
|
|
347
|
-
if
|
|
649
|
+
if version_value.nil? && string_tags.key?(Core::Environment::Ext::TAG_VERSION)
|
|
348
650
|
self.version = string_tags[Core::Environment::Ext::TAG_VERSION]
|
|
349
651
|
end
|
|
350
652
|
|
|
351
|
-
if
|
|
653
|
+
if service_name.nil? && string_tags.key?(Core::Environment::Ext::TAG_SERVICE)
|
|
352
654
|
self.service = string_tags[Core::Environment::Ext::TAG_SERVICE]
|
|
353
655
|
end
|
|
354
656
|
|
|
355
657
|
# Merge with previous tags
|
|
356
658
|
(old_value || {}).merge(string_tags)
|
|
357
659
|
end
|
|
358
|
-
|
|
359
|
-
o.lazy
|
|
360
660
|
end
|
|
361
661
|
|
|
362
662
|
# The time provider used by Datadog. It must respect the interface of [Time](https://ruby-doc.org/core-3.0.1/Time.html).
|
|
@@ -369,9 +669,10 @@ module Datadog
|
|
|
369
669
|
# @default `->{ Time.now }`
|
|
370
670
|
# @return [Proc<Time>]
|
|
371
671
|
option :time_now_provider do |o|
|
|
372
|
-
o.
|
|
672
|
+
o.default_proc { ::Time.now }
|
|
673
|
+
o.type :proc
|
|
373
674
|
|
|
374
|
-
o.
|
|
675
|
+
o.after_set do |time_provider|
|
|
375
676
|
Core::Utils::Time.now_provider = time_provider
|
|
376
677
|
end
|
|
377
678
|
|
|
@@ -384,269 +685,164 @@ module Datadog
|
|
|
384
685
|
end
|
|
385
686
|
end
|
|
386
687
|
|
|
387
|
-
#
|
|
688
|
+
# The `version` tag in Datadog. Use it to enable [Deployment Tracking](https://docs.datadoghq.com/tracing/deployment_tracking/).
|
|
689
|
+
# @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
|
|
690
|
+
# @default `DD_VERSION` environment variable, otherwise `nils`
|
|
691
|
+
# @return [String,nil]
|
|
692
|
+
option :version do |o|
|
|
693
|
+
# NOTE: version also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
|
|
694
|
+
o.type :string, nilable: true
|
|
695
|
+
o.env Core::Environment::Ext::ENV_VERSION
|
|
696
|
+
end
|
|
697
|
+
|
|
698
|
+
# Client-side telemetry configuration
|
|
388
699
|
# @public_api
|
|
389
|
-
settings :
|
|
390
|
-
#
|
|
700
|
+
settings :telemetry do
|
|
701
|
+
# Whether the bundled Ruby gems as reported through telemetry.
|
|
391
702
|
#
|
|
392
|
-
# @
|
|
393
|
-
# @
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
# @return [Boolean,nil]
|
|
399
|
-
option :enabled do |o|
|
|
400
|
-
o.default { env_to_bool(Tracing::Configuration::Ext::Analytics::ENV_TRACE_ANALYTICS_ENABLED, nil) }
|
|
401
|
-
o.lazy
|
|
402
|
-
end
|
|
703
|
+
# @default `DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED` environment variable, otherwise `true`.
|
|
704
|
+
# @return [Boolean]
|
|
705
|
+
option :dependency_collection do |o|
|
|
706
|
+
o.type :bool
|
|
707
|
+
o.env Core::Telemetry::Ext::ENV_DEPENDENCY_COLLECTION
|
|
708
|
+
o.default true
|
|
403
709
|
end
|
|
404
710
|
|
|
405
|
-
#
|
|
406
|
-
# style configuration.
|
|
407
|
-
#
|
|
408
|
-
# The supported formats are:
|
|
409
|
-
# * `Datadog`: Datadog propagation format, described by [Distributed Tracing](https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#distributed-tracing).
|
|
410
|
-
# * `B3`: B3 Propagation using multiple headers, described by [openzipkin/b3-propagation](https://github.com/openzipkin/b3-propagation#multiple-headers).
|
|
411
|
-
# * `B3 single header`: B3 Propagation using a single header, described by [openzipkin/b3-propagation](https://github.com/openzipkin/b3-propagation#single-header).
|
|
711
|
+
# Enable telemetry collection. This allows telemetry events to be emitted to the telemetry API.
|
|
412
712
|
#
|
|
413
|
-
# @
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_EXTRACT,
|
|
429
|
-
[
|
|
430
|
-
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG,
|
|
431
|
-
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3,
|
|
432
|
-
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER
|
|
433
|
-
],
|
|
434
|
-
comma_separated_only: true
|
|
435
|
-
)
|
|
436
|
-
end
|
|
437
|
-
|
|
438
|
-
o.lazy
|
|
439
|
-
end
|
|
440
|
-
|
|
441
|
-
# The data propagation styles the tracer will use to inject distributed tracing propagation
|
|
442
|
-
# data into outgoing requests and messages.
|
|
443
|
-
#
|
|
444
|
-
# The tracer will inject data from all styles specified in this option.
|
|
445
|
-
#
|
|
446
|
-
# @default `DD_PROPAGATION_STYLE_INJECT` environment variable (comma-separated list), otherwise `['Datadog']`.
|
|
447
|
-
# @return [Array<String>]
|
|
448
|
-
option :propagation_inject_style do |o|
|
|
449
|
-
o.default do
|
|
450
|
-
env_to_list(
|
|
451
|
-
Tracing::Configuration::Ext::Distributed::ENV_PROPAGATION_STYLE_INJECT,
|
|
452
|
-
[Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG],
|
|
453
|
-
comma_separated_only: true # Only inject Datadog headers by default
|
|
454
|
-
)
|
|
713
|
+
# @default `DD_INSTRUMENTATION_TELEMETRY_ENABLED` environment variable, otherwise `true`.
|
|
714
|
+
# Can be disabled as documented [here](https://docs.datadoghq.com/tracing/configure_data_security/#telemetry-collection).
|
|
715
|
+
# By default, telemetry is disabled in development environments.
|
|
716
|
+
# @return [Boolean]
|
|
717
|
+
option :enabled do |o|
|
|
718
|
+
o.env Core::Telemetry::Ext::ENV_ENABLED
|
|
719
|
+
o.default do
|
|
720
|
+
if Datadog::Core::Environment::Execution.development?
|
|
721
|
+
Datadog.logger.debug do
|
|
722
|
+
'Development environment detected, disabling Telemetry. ' \
|
|
723
|
+
'You can enable it with DD_INSTRUMENTATION_TELEMETRY_ENABLED=true.'
|
|
724
|
+
end
|
|
725
|
+
false
|
|
726
|
+
else
|
|
727
|
+
true
|
|
455
728
|
end
|
|
456
|
-
|
|
457
|
-
o.lazy
|
|
458
729
|
end
|
|
730
|
+
o.type :bool
|
|
459
731
|
end
|
|
460
732
|
|
|
461
|
-
#
|
|
733
|
+
# The interval in seconds when telemetry must be sent.
|
|
462
734
|
#
|
|
463
|
-
#
|
|
464
|
-
# remove the library as a whole.
|
|
735
|
+
# This method is used internally, for testing purposes only.
|
|
465
736
|
#
|
|
466
|
-
# @default `
|
|
467
|
-
# @return [
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
o.
|
|
737
|
+
# @default `DD_TELEMETRY_HEARTBEAT_INTERVAL` environment variable, otherwise `60`.
|
|
738
|
+
# @return [Float]
|
|
739
|
+
# @!visibility private
|
|
740
|
+
option :heartbeat_interval_seconds do |o|
|
|
741
|
+
o.type :float
|
|
742
|
+
o.env Core::Telemetry::Ext::ENV_HEARTBEAT_INTERVAL
|
|
743
|
+
o.default 60.0
|
|
471
744
|
end
|
|
472
745
|
|
|
473
|
-
#
|
|
474
|
-
#
|
|
475
|
-
# It must respect the contract of {Datadog::Tracing::Tracer}.
|
|
476
|
-
# It's recommended to delegate methods to {Datadog::Tracing::Tracer} to ease the implementation
|
|
477
|
-
# of a custom tracer.
|
|
746
|
+
# The install id of the application.
|
|
478
747
|
#
|
|
479
|
-
# This
|
|
748
|
+
# This method is used internally, by library injection.
|
|
480
749
|
#
|
|
481
|
-
#
|
|
482
|
-
#
|
|
483
|
-
#
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
# Automatic correlation between tracing and logging.
|
|
488
|
-
# @see https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#trace-correlation
|
|
489
|
-
# @return [Boolean]
|
|
490
|
-
option :log_injection do |o|
|
|
491
|
-
o.default { env_to_bool(Tracing::Configuration::Ext::Correlation::ENV_LOGS_INJECTION_ENABLED, true) }
|
|
492
|
-
o.lazy
|
|
750
|
+
# @default `DD_INSTRUMENTATION_INSTALL_ID` environment variable, otherwise `nil`.
|
|
751
|
+
# @return [String,nil]
|
|
752
|
+
# @!visibility private
|
|
753
|
+
option :install_id do |o|
|
|
754
|
+
o.type :string, nilable: true
|
|
755
|
+
o.env Core::Telemetry::Ext::ENV_INSTALL_ID
|
|
493
756
|
end
|
|
494
757
|
|
|
495
|
-
#
|
|
496
|
-
# traces can be sent to the agent and backend before all spans
|
|
497
|
-
# have finished.
|
|
758
|
+
# The install type of the application.
|
|
498
759
|
#
|
|
499
|
-
# This is
|
|
760
|
+
# This method is used internally, by library injection.
|
|
500
761
|
#
|
|
501
|
-
#
|
|
502
|
-
#
|
|
503
|
-
#
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
# @default `false`
|
|
508
|
-
# @return [Boolean]
|
|
509
|
-
option :enabled, default: false
|
|
510
|
-
|
|
511
|
-
# Minimum number of finished spans required in a single unfinished trace before
|
|
512
|
-
# the tracer will consider that trace for partial flushing.
|
|
513
|
-
#
|
|
514
|
-
# This option helps preserve a minimum amount of batching in the
|
|
515
|
-
# flushing process, reducing network overhead.
|
|
516
|
-
#
|
|
517
|
-
# This threshold only applies to unfinished traces. Traces that have finished
|
|
518
|
-
# are always flushed immediately.
|
|
519
|
-
#
|
|
520
|
-
# @default 500
|
|
521
|
-
# @return [Integer]
|
|
522
|
-
option :min_spans_threshold, default: 500
|
|
762
|
+
# @default `DD_INSTRUMENTATION_INSTALL_TYPE` environment variable, otherwise `nil`.
|
|
763
|
+
# @return [String,nil]
|
|
764
|
+
# @!visibility private
|
|
765
|
+
option :install_type do |o|
|
|
766
|
+
o.type :string, nilable: true
|
|
767
|
+
o.env Core::Telemetry::Ext::ENV_INSTALL_TYPE
|
|
523
768
|
end
|
|
524
769
|
|
|
525
|
-
#
|
|
526
|
-
#
|
|
527
|
-
#
|
|
528
|
-
#
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
o.
|
|
770
|
+
# The install time of the application.
|
|
771
|
+
#
|
|
772
|
+
# This method is used internally, by library injection.
|
|
773
|
+
#
|
|
774
|
+
# @default `DD_INSTRUMENTATION_INSTALL_TIME` environment variable, otherwise `nil`.
|
|
775
|
+
# @return [String,nil]
|
|
776
|
+
# @!visibility private
|
|
777
|
+
option :install_time do |o|
|
|
778
|
+
o.type :string, nilable: true
|
|
779
|
+
o.env Core::Telemetry::Ext::ENV_INSTALL_TIME
|
|
534
780
|
end
|
|
781
|
+
end
|
|
535
782
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
#
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
#
|
|
543
|
-
# @
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
end
|
|
557
|
-
|
|
558
|
-
# Rate limit for number of spans per second.
|
|
559
|
-
#
|
|
560
|
-
# Spans created above the limit will contribute to service metrics, but won't
|
|
561
|
-
# have their payload stored.
|
|
562
|
-
#
|
|
563
|
-
# @default `DD_TRACE_RATE_LIMIT` environment variable, otherwise 100.
|
|
564
|
-
# @return [Numeric,nil]
|
|
565
|
-
option :rate_limit do |o|
|
|
566
|
-
o.default { env_to_float(Tracing::Configuration::Ext::Sampling::ENV_RATE_LIMIT, 100) }
|
|
567
|
-
o.lazy
|
|
783
|
+
# Remote configuration
|
|
784
|
+
# @public_api
|
|
785
|
+
settings :remote do
|
|
786
|
+
# Enable remote configuration. This allows fetching of remote configuration for live updates.
|
|
787
|
+
#
|
|
788
|
+
# @default `DD_REMOTE_CONFIGURATION_ENABLED` environment variable, otherwise `true`.
|
|
789
|
+
# By default, remote configuration is disabled in development environments.
|
|
790
|
+
# @return [Boolean]
|
|
791
|
+
option :enabled do |o|
|
|
792
|
+
o.env Core::Remote::Ext::ENV_ENABLED
|
|
793
|
+
o.default do
|
|
794
|
+
if Datadog::Core::Environment::Execution.development?
|
|
795
|
+
Datadog.logger.debug do
|
|
796
|
+
'Development environment detected, disabling Remote Configuration. ' \
|
|
797
|
+
'You can enable it with DD_REMOTE_CONFIGURATION_ENABLED=true.'
|
|
798
|
+
end
|
|
799
|
+
false
|
|
800
|
+
else
|
|
801
|
+
true
|
|
802
|
+
end
|
|
568
803
|
end
|
|
804
|
+
o.type :bool
|
|
569
805
|
end
|
|
570
806
|
|
|
571
|
-
#
|
|
572
|
-
#
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
o.default { env_to_bool(Tracing::Configuration::Ext::Test::ENV_MODE_ENABLED, false) }
|
|
582
|
-
o.lazy
|
|
583
|
-
end
|
|
584
|
-
|
|
585
|
-
option :trace_flush do |o|
|
|
586
|
-
o.default { nil }
|
|
587
|
-
o.lazy
|
|
588
|
-
end
|
|
589
|
-
|
|
590
|
-
option :writer_options do |o|
|
|
591
|
-
o.default { {} }
|
|
592
|
-
o.lazy
|
|
593
|
-
end
|
|
807
|
+
# Tune remote configuration polling interval.
|
|
808
|
+
# This is a private setting. Do not use outside of Datadog. It might change at any point in time.
|
|
809
|
+
#
|
|
810
|
+
# @default `DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDS` environment variable, otherwise `5.0` seconds.
|
|
811
|
+
# @return [Float]
|
|
812
|
+
# @!visibility private
|
|
813
|
+
option :poll_interval_seconds do |o|
|
|
814
|
+
o.env Core::Remote::Ext::ENV_POLL_INTERVAL_SECONDS
|
|
815
|
+
o.type :float
|
|
816
|
+
o.default 5.0
|
|
594
817
|
end
|
|
595
818
|
|
|
596
|
-
#
|
|
597
|
-
#
|
|
598
|
-
#
|
|
599
|
-
#
|
|
600
|
-
# @yieldparam [Datadog::Transport::HTTP] t transport to be configured.
|
|
601
|
-
# @default `nil`
|
|
602
|
-
# @return [Proc,nil]
|
|
603
|
-
option :transport_options, default: nil
|
|
604
|
-
|
|
605
|
-
# A custom writer instance.
|
|
606
|
-
# The object must respect the {Datadog::Tracing::Writer} interface.
|
|
819
|
+
# Tune remote configuration boot timeout.
|
|
820
|
+
# Early operations such as requests are blocked until RC is ready. In
|
|
821
|
+
# order to not block the application indefinitely a timeout is
|
|
822
|
+
# enforced allowing requests to proceed with the local configuration.
|
|
607
823
|
#
|
|
608
|
-
#
|
|
609
|
-
#
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
824
|
+
# @default `DD_REMOTE_CONFIG_BOOT_TIMEOUT` environment variable, otherwise `1.0` seconds.
|
|
825
|
+
# @return [Float]
|
|
826
|
+
option :boot_timeout_seconds do |o|
|
|
827
|
+
o.env Core::Remote::Ext::ENV_BOOT_TIMEOUT_SECONDS
|
|
828
|
+
o.type :float
|
|
829
|
+
o.default 1.0
|
|
830
|
+
end
|
|
613
831
|
|
|
614
|
-
#
|
|
615
|
-
#
|
|
616
|
-
#
|
|
832
|
+
# Declare service name to bind to remote configuration. Use when
|
|
833
|
+
# DD_SERVICE does not match the correct integration for which remote
|
|
834
|
+
# configuration applies.
|
|
617
835
|
#
|
|
618
|
-
# @default `
|
|
619
|
-
# @return [
|
|
620
|
-
option :
|
|
621
|
-
end
|
|
622
|
-
|
|
623
|
-
# The `version` tag in Datadog. Use it to enable [Deployment Tracking](https://docs.datadoghq.com/tracing/deployment_tracking/).
|
|
624
|
-
# @see https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
|
|
625
|
-
# @default `DD_VERSION` environment variable, otherwise `nils`
|
|
626
|
-
# @return [String,nil]
|
|
627
|
-
option :version do |o|
|
|
628
|
-
# NOTE: version also gets set as a side effect of tags. See the WORKAROUND note in #initialize for details.
|
|
629
|
-
o.default { ENV.fetch(Core::Environment::Ext::ENV_VERSION, nil) }
|
|
630
|
-
o.lazy
|
|
836
|
+
# @default `nil`.
|
|
837
|
+
# @return [String,nil]
|
|
838
|
+
option :service
|
|
631
839
|
end
|
|
632
840
|
|
|
633
|
-
#
|
|
634
|
-
#
|
|
635
|
-
|
|
636
|
-
# Enable telemetry collection. This allows telemetry events to be emitted to the telemetry API.
|
|
637
|
-
#
|
|
638
|
-
# @default `DD_INSTRUMENTATION_TELEMETRY_ENABLED` environment variable, otherwise `false`. In a future release,
|
|
639
|
-
# this value will be changed to `true` by default as documented [here](https://docs.datadoghq.com/tracing/configure_data_security/#telemetry-collection).
|
|
640
|
-
# @return [Boolean]
|
|
641
|
-
option :enabled do |o|
|
|
642
|
-
o.default { env_to_bool(Core::Telemetry::Ext::ENV_ENABLED, false) }
|
|
643
|
-
o.lazy
|
|
644
|
-
end
|
|
645
|
-
end
|
|
841
|
+
# TODO: Tracing should manage its own settings.
|
|
842
|
+
# Keep this extension here for now to keep things working.
|
|
843
|
+
extend Datadog::Tracing::Configuration::Settings
|
|
646
844
|
end
|
|
647
845
|
# rubocop:enable Metrics/BlockLength
|
|
648
|
-
# rubocop:enable Metrics/ClassLength
|
|
649
|
-
# rubocop:enable Layout/LineLength
|
|
650
846
|
end
|
|
651
847
|
end
|
|
652
848
|
end
|