datadog 2.30.0 → 2.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +382 -1
- data/README.md +3 -0
- data/bin/ddprofrb +4 -4
- data/ext/datadog_profiling_native_extension/NativeExtensionDesign.md +12 -24
- data/ext/datadog_profiling_native_extension/clock_id.h +9 -1
- data/ext/datadog_profiling_native_extension/clock_id_from_mach.c +66 -0
- data/ext/datadog_profiling_native_extension/clock_id_from_pthread.c +1 -1
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +312 -99
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
- data/ext/datadog_profiling_native_extension/collectors_idle_sampling_helper.c +18 -4
- data/ext/datadog_profiling_native_extension/collectors_stack.c +256 -163
- data/ext/datadog_profiling_native_extension/collectors_stack.h +23 -4
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +833 -513
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +24 -9
- data/ext/datadog_profiling_native_extension/crashtracking_runtime_stacks.c +5 -4
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.c +44 -19
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +7 -12
- data/ext/datadog_profiling_native_extension/extconf.rb +83 -105
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.c +4 -43
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.h +15 -47
- data/ext/datadog_profiling_native_extension/heap_recorder.c +391 -277
- data/ext/datadog_profiling_native_extension/heap_recorder.h +50 -31
- data/ext/datadog_profiling_native_extension/http_transport.c +10 -5
- data/ext/datadog_profiling_native_extension/macos_sampler_thread.h +55 -0
- data/ext/datadog_profiling_native_extension/native_extension_helpers.rb +3 -27
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +750 -482
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +32 -12
- data/ext/datadog_profiling_native_extension/profiling.c +43 -4
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +34 -106
- data/ext/datadog_profiling_native_extension/ruby_helpers.h +0 -7
- data/ext/datadog_profiling_native_extension/setup_signal_handler.c +2 -0
- data/ext/datadog_profiling_native_extension/stack_recorder.c +139 -84
- data/ext/datadog_profiling_native_extension/stack_recorder.h +13 -4
- data/ext/datadog_profiling_native_extension/time_helpers.h +15 -8
- data/ext/datadog_profiling_native_extension/unsafe_api_calls_check.h +4 -2
- data/ext/libdatadog_api/crashtracker.c +7 -8
- data/ext/libdatadog_api/datadog_ruby_common.c +44 -19
- data/ext/libdatadog_api/datadog_ruby_common.h +7 -12
- data/ext/libdatadog_api/di.c +213 -0
- data/ext/libdatadog_api/extconf.rb +40 -26
- data/ext/libdatadog_api/feature_flags.c +26 -0
- data/ext/libdatadog_api/init.c +11 -2
- data/ext/libdatadog_api/otel_thread_context.c +247 -0
- data/ext/libdatadog_api/otel_thread_context.h +5 -0
- data/ext/libdatadog_api/trace_exporter.c +1932 -0
- data/ext/libdatadog_api/trace_exporter.h +5 -0
- data/ext/libdatadog_extconf_helpers.rb +50 -5
- data/lib/datadog/ai_guard/api_client.rb +9 -7
- data/lib/datadog/ai_guard/autoload.rb +10 -0
- data/lib/datadog/ai_guard/component.rb +11 -9
- data/lib/datadog/ai_guard/configuration.rb +106 -2
- data/lib/datadog/ai_guard/contrib/auto_instrument.rb +24 -0
- data/lib/datadog/ai_guard/contrib/rack/integration.rb +42 -0
- data/lib/datadog/ai_guard/contrib/rack/patcher.rb +26 -0
- data/lib/datadog/ai_guard/contrib/rack/request_middleware.rb +97 -0
- data/lib/datadog/ai_guard/contrib/rails/integration.rb +41 -0
- data/lib/datadog/ai_guard/contrib/rails/patcher.rb +97 -0
- data/lib/datadog/ai_guard/contrib/ruby_llm/chat_instrumentation.rb +41 -3
- data/lib/datadog/ai_guard/evaluation/content_builder.rb +31 -0
- data/lib/datadog/ai_guard/evaluation/content_part.rb +36 -0
- data/lib/datadog/ai_guard/evaluation/no_op_result.rb +3 -1
- data/lib/datadog/ai_guard/evaluation/request.rb +22 -17
- data/lib/datadog/ai_guard/evaluation/result.rb +3 -1
- data/lib/datadog/ai_guard/evaluation.rb +51 -7
- data/lib/datadog/ai_guard/ext.rb +15 -0
- data/lib/datadog/ai_guard.rb +34 -8
- data/lib/datadog/appsec/actions_handler/serializable_backtrace.rb +22 -43
- data/lib/datadog/appsec/actions_handler.rb +6 -6
- data/lib/datadog/appsec/anonymizer.rb +1 -1
- data/lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb +2 -2
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +6 -6
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb +1 -1
- data/lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb +2 -2
- data/lib/datadog/appsec/api_security/route_extractor.rb +26 -14
- data/lib/datadog/appsec/api_security/sampler.rb +5 -5
- data/lib/datadog/appsec/api_security.rb +1 -1
- data/lib/datadog/appsec/assets/blocked.html +1 -108
- data/lib/datadog/appsec/assets.rb +7 -7
- data/lib/datadog/appsec/autoload.rb +4 -4
- data/lib/datadog/appsec/component.rb +29 -22
- data/lib/datadog/appsec/compressed_json.rb +7 -7
- data/lib/datadog/appsec/configuration.rb +436 -1
- data/lib/datadog/appsec/context.rb +10 -8
- data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +6 -6
- data/lib/datadog/appsec/contrib/active_record/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/active_record/patcher.rb +4 -4
- data/lib/datadog/appsec/contrib/aws_lambda/gateway/watcher.rb +75 -0
- data/lib/datadog/appsec/contrib/aws_lambda/integration.rb +39 -0
- data/lib/datadog/appsec/contrib/aws_lambda/patcher.rb +30 -0
- data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +146 -0
- data/lib/datadog/appsec/contrib/devise/configuration.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/data_extractor.rb +3 -3
- data/lib/datadog/appsec/contrib/devise/ext.rb +20 -20
- data/lib/datadog/appsec/contrib/devise/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/devise/patcher.rb +8 -8
- data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +14 -13
- data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +8 -8
- data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +24 -9
- data/lib/datadog/appsec/contrib/excon/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/excon/patcher.rb +1 -1
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +76 -21
- data/lib/datadog/appsec/contrib/faraday/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/faraday/patcher.rb +4 -4
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +72 -18
- data/lib/datadog/appsec/contrib/graphql/appsec_trace.rb +4 -4
- data/lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb +66 -21
- data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +7 -7
- data/lib/datadog/appsec/contrib/graphql/integration.rb +9 -8
- data/lib/datadog/appsec/contrib/graphql/patcher.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/buffered_input.rb +83 -0
- data/lib/datadog/appsec/contrib/rack/ext.rb +29 -29
- data/lib/datadog/appsec/contrib/rack/gateway/request.rb +56 -17
- data/lib/datadog/appsec/contrib/rack/gateway/response.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +46 -30
- data/lib/datadog/appsec/contrib/rack/input_peeker.rb +79 -0
- data/lib/datadog/appsec/contrib/rack/integration.rb +6 -6
- data/lib/datadog/appsec/contrib/rack/patcher.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +11 -8
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +51 -61
- data/lib/datadog/appsec/contrib/rack/response_body.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/gateway/request.rb +43 -4
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +25 -9
- data/lib/datadog/appsec/contrib/rails/integration.rb +5 -5
- data/lib/datadog/appsec/contrib/rails/patcher.rb +17 -17
- data/lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb +2 -2
- data/lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb +3 -3
- data/lib/datadog/appsec/contrib/rails/request.rb +3 -3
- data/lib/datadog/appsec/contrib/rails/request_middleware.rb +2 -1
- data/lib/datadog/appsec/contrib/rest_client/integration.rb +5 -5
- data/lib/datadog/appsec/contrib/rest_client/patcher.rb +1 -1
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +74 -21
- data/lib/datadog/appsec/contrib/sinatra/gateway/request.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/route_params.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +34 -13
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +5 -5
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +11 -11
- data/lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb +3 -3
- data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +2 -1
- data/lib/datadog/appsec/counter_sampler.rb +1 -1
- data/lib/datadog/appsec/default_header_tags.rb +52 -0
- data/lib/datadog/appsec/event.rb +14 -14
- data/lib/datadog/appsec/ext.rb +11 -10
- data/lib/datadog/appsec/extensions.rb +2 -2
- data/lib/datadog/appsec/instrumentation/gateway.rb +1 -14
- data/lib/datadog/appsec/metrics/collector.rb +18 -1
- data/lib/datadog/appsec/metrics/exporter.rb +17 -11
- data/lib/datadog/appsec/metrics/telemetry.rb +15 -3
- data/lib/datadog/appsec/metrics/telemetry_exporter.rb +4 -4
- data/lib/datadog/appsec/metrics.rb +4 -4
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +18 -12
- data/lib/datadog/appsec/monitor.rb +1 -1
- data/lib/datadog/appsec/processor/rule_loader.rb +32 -32
- data/lib/datadog/appsec/rate_limiter.rb +1 -1
- data/lib/datadog/appsec/remote.rb +15 -9
- data/lib/datadog/appsec/response.rb +22 -22
- data/lib/datadog/appsec/route_normalizer/rails_route_pattern.rb +176 -0
- data/lib/datadog/appsec/route_normalizer/route_pattern.rb +378 -0
- data/lib/datadog/appsec/route_normalizer/route_text.rb +57 -0
- data/lib/datadog/appsec/route_normalizer.rb +80 -0
- data/lib/datadog/appsec/security_engine/engine.rb +40 -40
- data/lib/datadog/appsec/security_engine/runner.rb +3 -3
- data/lib/datadog/appsec/security_event.rb +2 -2
- data/lib/datadog/appsec/trace_keeper.rb +18 -6
- data/lib/datadog/appsec/utils/http/body.rb +11 -8
- data/lib/datadog/appsec/utils/http/body_reader.rb +61 -0
- data/lib/datadog/appsec/utils/http/media_range.rb +15 -15
- data/lib/datadog/appsec/utils/http/media_type.rb +5 -6
- data/lib/datadog/appsec/utils/http/url_encoded.rb +79 -24
- data/lib/datadog/appsec.rb +21 -24
- data/lib/datadog/auto_instrument.rb +2 -2
- data/lib/datadog/core/buffer/cruby.rb +1 -1
- data/lib/datadog/core/buffer/thread_safe.rb +1 -1
- data/lib/datadog/core/configuration/agent_settings.rb +1 -1
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +15 -15
- data/lib/datadog/core/configuration/agentless_settings_resolver.rb +2 -2
- data/lib/datadog/core/configuration/base.rb +19 -7
- data/lib/datadog/core/configuration/components.rb +142 -36
- data/lib/datadog/core/configuration/components_state.rb +6 -1
- data/lib/datadog/core/configuration/config_helper.rb +12 -3
- data/lib/datadog/core/configuration/deprecations.rb +6 -6
- data/lib/datadog/core/configuration/ext.rb +11 -11
- data/lib/datadog/core/configuration/option.rb +46 -21
- data/lib/datadog/core/configuration/option_definition.rb +43 -17
- data/lib/datadog/core/configuration/options.rb +42 -8
- data/lib/datadog/core/configuration/settings.rb +129 -104
- data/lib/datadog/core/configuration/stable_config.rb +1 -1
- data/lib/datadog/core/configuration/supported_configurations.rb +25 -1
- data/lib/datadog/core/configuration.rb +9 -9
- data/lib/datadog/core/contrib/rails/railtie.rb +32 -0
- data/lib/datadog/core/contrib/rails/utils.rb +7 -3
- data/lib/datadog/core/crashtracking/component.rb +17 -13
- data/lib/datadog/core/crashtracking/tag_builder.rb +5 -5
- data/lib/datadog/core/deprecations.rb +1 -1
- data/lib/datadog/core/diagnostics/environment_logger.rb +45 -8
- data/lib/datadog/core/diagnostics/health.rb +2 -2
- data/lib/datadog/core/encoding.rb +4 -4
- data/lib/datadog/core/environment/agent_info.rb +2 -2
- data/lib/datadog/core/environment/cgroup.rb +4 -4
- data/lib/datadog/core/environment/container.rb +11 -11
- data/lib/datadog/core/environment/execution.rb +3 -3
- data/lib/datadog/core/environment/ext.rb +21 -15
- data/lib/datadog/core/environment/gc.rb +1 -1
- data/lib/datadog/core/environment/git.rb +2 -2
- data/lib/datadog/core/environment/identity.rb +47 -11
- data/lib/datadog/core/environment/platform.rb +8 -8
- data/lib/datadog/core/environment/process.rb +54 -19
- data/lib/datadog/core/environment/socket.rb +15 -2
- data/lib/datadog/core/environment/variable_helpers.rb +1 -1
- data/lib/datadog/core/environment/vm_cache.rb +1 -1
- data/lib/datadog/core/environment/yjit.rb +2 -2
- data/lib/datadog/core/error.rb +5 -5
- data/lib/datadog/core/evp.rb +11 -0
- data/lib/datadog/core/extensions.rb +1 -1
- data/lib/datadog/core/feature_flags.rb +3 -3
- data/lib/datadog/core/git/ext.rb +4 -4
- data/lib/datadog/core/knuth_sampler.rb +3 -1
- data/lib/datadog/core/logger.rb +3 -3
- data/lib/datadog/core/logging/ext.rb +1 -1
- data/lib/datadog/core/metrics/client.rb +26 -26
- data/lib/datadog/core/metrics/ext.rb +5 -5
- data/lib/datadog/core/metrics/helpers.rb +1 -1
- data/lib/datadog/core/metrics/logging.rb +2 -2
- data/lib/datadog/core/metrics/options.rb +5 -5
- data/lib/datadog/core/pin.rb +1 -1
- data/lib/datadog/core/process_discovery.rb +8 -8
- data/lib/datadog/core/rate_limiter.rb +1 -1
- data/lib/datadog/core/remote/client/capabilities.rb +67 -15
- data/lib/datadog/core/remote/client.rb +18 -18
- data/lib/datadog/core/remote/component.rb +57 -32
- data/lib/datadog/core/remote/configuration/content.rb +3 -3
- data/lib/datadog/core/remote/configuration/digest.rb +1 -1
- data/lib/datadog/core/remote/configuration/path.rb +9 -9
- data/lib/datadog/core/remote/configuration/repository.rb +4 -4
- data/lib/datadog/core/remote/configuration/target.rb +9 -9
- data/lib/datadog/core/remote/configuration.rb +4 -4
- data/lib/datadog/core/remote/ext.rb +3 -3
- data/lib/datadog/core/remote/negotiation.rb +1 -1
- data/lib/datadog/core/remote/tie/tracing.rb +7 -7
- data/lib/datadog/core/remote/transport/config.rb +4 -4
- data/lib/datadog/core/remote/transport/http/config.rb +10 -10
- data/lib/datadog/core/remote/transport/http/negotiation.rb +4 -4
- data/lib/datadog/core/remote/transport/http.rb +10 -10
- data/lib/datadog/core/remote/transport/negotiation.rb +3 -3
- data/lib/datadog/core/remote/worker.rb +5 -5
- data/lib/datadog/core/runtime/ext.rb +22 -22
- data/lib/datadog/core/runtime/metrics.rb +10 -10
- data/lib/datadog/core/tag_builder.rb +18 -18
- data/lib/datadog/core/tag_normalizer.rb +7 -7
- data/lib/datadog/core/telemetry/component.rb +16 -13
- data/lib/datadog/core/telemetry/configuration_value.rb +38 -0
- data/lib/datadog/core/telemetry/emitter.rb +5 -5
- data/lib/datadog/core/telemetry/event/app_client_configuration_change.rb +10 -9
- data/lib/datadog/core/telemetry/event/app_closing.rb +2 -2
- data/lib/datadog/core/telemetry/event/app_dependencies_loaded.rb +2 -2
- data/lib/datadog/core/telemetry/event/app_endpoints_loaded.rb +3 -3
- data/lib/datadog/core/telemetry/event/app_extended_heartbeat.rb +32 -0
- data/lib/datadog/core/telemetry/event/app_heartbeat.rb +2 -2
- data/lib/datadog/core/telemetry/event/app_integrations_change.rb +2 -2
- data/lib/datadog/core/telemetry/event/app_started.rb +142 -193
- data/lib/datadog/core/telemetry/event/base.rb +1 -1
- data/lib/datadog/core/telemetry/event/distributions.rb +2 -2
- data/lib/datadog/core/telemetry/event/generate_metrics.rb +3 -3
- data/lib/datadog/core/telemetry/event/log.rb +6 -6
- data/lib/datadog/core/telemetry/event/message_batch.rb +1 -1
- data/lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb +3 -3
- data/lib/datadog/core/telemetry/event.rb +16 -22
- data/lib/datadog/core/telemetry/ext.rb +11 -10
- data/lib/datadog/core/telemetry/logger.rb +1 -1
- data/lib/datadog/core/telemetry/logging.rb +5 -5
- data/lib/datadog/core/telemetry/metric.rb +9 -9
- data/lib/datadog/core/telemetry/metrics_collection.rb +2 -2
- data/lib/datadog/core/telemetry/metrics_manager.rb +1 -1
- data/lib/datadog/core/telemetry/request.rb +6 -8
- data/lib/datadog/core/telemetry/transport/http/telemetry.rb +16 -11
- data/lib/datadog/core/telemetry/transport/http.rb +7 -7
- data/lib/datadog/core/telemetry/transport/telemetry.rb +3 -3
- data/lib/datadog/core/telemetry/worker.rb +26 -6
- data/lib/datadog/core/transport/ext.rb +14 -14
- data/lib/datadog/core/transport/http/adapters/net.rb +4 -4
- data/lib/datadog/core/transport/http/adapters/test.rb +1 -1
- data/lib/datadog/core/transport/http/adapters/unix_socket.rb +4 -4
- data/lib/datadog/core/transport/http/api/endpoint.rb +1 -1
- data/lib/datadog/core/transport/http/api/map.rb +1 -1
- data/lib/datadog/core/transport/http/builder.rb +6 -6
- data/lib/datadog/core/transport/http/client.rb +2 -2
- data/lib/datadog/core/transport/http/response.rb +1 -1
- data/lib/datadog/core/transport/http.rb +9 -7
- data/lib/datadog/core/transport/response.rb +1 -1
- data/lib/datadog/core/transport/transport.rb +2 -2
- data/lib/datadog/core/utils/at_fork_monkey_patch.rb +172 -20
- data/lib/datadog/core/utils/base64_codec.rb +23 -0
- data/lib/datadog/core/utils/duration.rb +1 -1
- data/lib/datadog/core/utils/{array.rb → enumerable_compat.rb} +2 -2
- data/lib/datadog/core/utils/forking.rb +3 -1
- data/lib/datadog/core/utils/hash.rb +0 -23
- data/lib/datadog/core/utils/lru_cache.rb +3 -3
- data/lib/datadog/core/utils/network.rb +11 -11
- data/lib/datadog/core/utils/only_once.rb +1 -1
- data/lib/datadog/core/utils/only_once_successful.rb +1 -1
- data/lib/datadog/core/utils/safe_dup.rb +2 -1
- data/lib/datadog/core/utils/sequence.rb +3 -6
- data/lib/datadog/core/utils/spawn_monkey_patch.rb +68 -0
- data/lib/datadog/core/utils/time.rb +18 -52
- data/lib/datadog/core/utils/url.rb +1 -1
- data/lib/datadog/core/utils.rb +5 -5
- data/lib/datadog/core/workers/async.rb +2 -2
- data/lib/datadog/core/workers/polling.rb +2 -2
- data/lib/datadog/core/workers/runtime_metrics.rb +4 -4
- data/lib/datadog/core.rb +7 -5
- data/lib/datadog/data_streams/configuration.rb +40 -1
- data/lib/datadog/data_streams/ext.rb +1 -1
- data/lib/datadog/data_streams/extensions.rb +2 -2
- data/lib/datadog/data_streams/pathway_context.rb +28 -30
- data/lib/datadog/data_streams/processor.rb +93 -62
- data/lib/datadog/data_streams/transport/http/stats.rb +5 -5
- data/lib/datadog/data_streams/transport/http.rb +5 -5
- data/lib/datadog/data_streams/transport/stats.rb +7 -7
- data/lib/datadog/data_streams.rb +5 -5
- data/lib/datadog/di/base.rb +16 -8
- data/lib/datadog/di/boot.rb +25 -24
- data/lib/datadog/di/capture_expression.rb +21 -0
- data/lib/datadog/di/capture_expression_evaluator.rb +71 -0
- data/lib/datadog/di/capture_limits.rb +41 -0
- data/lib/datadog/di/code_tracker.rb +218 -16
- data/lib/datadog/di/component.rb +123 -37
- data/lib/datadog/di/configuration.rb +241 -2
- data/lib/datadog/di/context.rb +9 -3
- data/lib/datadog/di/contrib/active_record.rb +6 -2
- data/lib/datadog/di/contrib/railtie.rb +1 -1
- data/lib/datadog/di/contrib.rb +5 -5
- data/lib/datadog/di/el/compiler.rb +114 -38
- data/lib/datadog/di/el/evaluator.rb +82 -2
- data/lib/datadog/di/el/expression.rb +13 -2
- data/lib/datadog/di/el.rb +3 -3
- data/lib/datadog/di/error.rb +10 -0
- data/lib/datadog/di/fatal_exceptions.rb +26 -0
- data/lib/datadog/di/instrumenter.rb +528 -184
- data/lib/datadog/di/logger.rb +3 -3
- data/lib/datadog/di/preload.rb +1 -1
- data/lib/datadog/di/probe.rb +69 -2
- data/lib/datadog/di/probe_builder.rb +98 -15
- data/lib/datadog/di/probe_file_loader/railtie.rb +1 -1
- data/lib/datadog/di/probe_file_loader.rb +14 -9
- data/lib/datadog/di/probe_manager.rb +73 -15
- data/lib/datadog/di/probe_notification_builder.rb +178 -25
- data/lib/datadog/di/probe_notifier_worker.rb +57 -37
- data/lib/datadog/di/probe_repository.rb +1 -1
- data/lib/datadog/di/redactor.rb +16 -1
- data/lib/datadog/di/remote.rb +187 -26
- data/lib/datadog/di/serializer.rb +79 -35
- data/lib/datadog/di/transport/diagnostics.rb +5 -5
- data/lib/datadog/di/transport/http/diagnostics.rb +3 -3
- data/lib/datadog/di/transport/http/input.rb +2 -2
- data/lib/datadog/di/transport/http.rb +10 -10
- data/lib/datadog/di/transport/input.rb +18 -14
- data/lib/datadog/di/utils.rb +43 -15
- data/lib/datadog/di.rb +147 -3
- data/lib/datadog/error_tracking/collector.rb +3 -2
- data/lib/datadog/error_tracking/component.rb +12 -12
- data/lib/datadog/error_tracking/configuration.rb +55 -2
- data/lib/datadog/error_tracking/ext.rb +7 -7
- data/lib/datadog/error_tracking/extensions.rb +2 -2
- data/lib/datadog/error_tracking/filters.rb +4 -4
- data/lib/datadog/error_tracking.rb +6 -6
- data/lib/datadog/kit/appsec/events/v2.rb +91 -33
- data/lib/datadog/kit/appsec/events.rb +25 -25
- data/lib/datadog/kit/enable_core_dumps.rb +3 -3
- data/lib/datadog/kit/identity.rb +18 -18
- data/lib/datadog/kit/tracing/method_tracer.rb +9 -6
- data/lib/datadog/kit.rb +1 -1
- data/lib/datadog/open_feature/component.rb +62 -13
- data/lib/datadog/open_feature/configuration.rb +22 -1
- data/lib/datadog/open_feature/evaluation_engine.rb +38 -12
- data/lib/datadog/open_feature/exposures/batch_builder.rb +1 -1
- data/lib/datadog/open_feature/exposures/buffer.rb +1 -1
- data/lib/datadog/open_feature/exposures/deduplicator.rb +1 -1
- data/lib/datadog/open_feature/exposures/event.rb +17 -10
- data/lib/datadog/open_feature/exposures/reporter.rb +3 -3
- data/lib/datadog/open_feature/exposures/worker.rb +6 -6
- data/lib/datadog/open_feature/ext.rb +32 -6
- data/lib/datadog/open_feature/flag_evaluation/aggregator.rb +442 -0
- data/lib/datadog/open_feature/flag_evaluation/writer.rb +544 -0
- data/lib/datadog/open_feature/hooks/flag_eval_evp_hook.rb +105 -0
- data/lib/datadog/open_feature/hooks/flag_eval_metrics_hook.rb +51 -0
- data/lib/datadog/open_feature/hooks/span_enrichment_hook/codec.rb +58 -0
- data/lib/datadog/open_feature/hooks/span_enrichment_hook/span_enrichment_state.rb +96 -0
- data/lib/datadog/open_feature/hooks/span_enrichment_hook/span_enrichment_state_store.rb +49 -0
- data/lib/datadog/open_feature/hooks/span_enrichment_hook.rb +184 -0
- data/lib/datadog/open_feature/metrics/flag_eval_metrics.rb +149 -0
- data/lib/datadog/open_feature/native_evaluator.rb +56 -7
- data/lib/datadog/open_feature/noop_evaluator.rb +8 -3
- data/lib/datadog/open_feature/provider.rb +115 -21
- data/lib/datadog/open_feature/remote.rb +3 -3
- data/lib/datadog/open_feature/resolution_details.rb +4 -2
- data/lib/datadog/open_feature/transport.rb +71 -12
- data/lib/datadog/open_feature.rb +2 -2
- data/lib/datadog/opentelemetry/api/baggage.rb +3 -3
- data/lib/datadog/opentelemetry/api/context.rb +4 -4
- data/lib/datadog/opentelemetry/configuration/settings.rb +95 -28
- data/lib/datadog/opentelemetry/ext.rb +9 -0
- data/lib/datadog/opentelemetry/logs.rb +98 -0
- data/lib/datadog/opentelemetry/metrics.rb +17 -44
- data/lib/datadog/opentelemetry/sdk/configurator.rb +46 -6
- data/lib/datadog/opentelemetry/sdk/id_generator.rb +16 -10
- data/lib/datadog/opentelemetry/sdk/logs_exporter.rb +30 -0
- data/lib/datadog/opentelemetry/sdk/metrics_exporter.rb +9 -16
- data/lib/datadog/opentelemetry/sdk/propagator.rb +17 -11
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +18 -15
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +32 -32
- data/lib/datadog/opentelemetry/sdk.rb +19 -0
- data/lib/datadog/opentelemetry/signal_configuration.rb +53 -0
- data/lib/datadog/opentelemetry/trace.rb +4 -1
- data/lib/datadog/opentelemetry.rb +8 -7
- data/lib/datadog/profiling/collectors/code_provenance.rb +36 -11
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +40 -3
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +12 -4
- data/lib/datadog/profiling/collectors/info.rb +19 -10
- data/lib/datadog/profiling/collectors/thread_context.rb +16 -22
- data/lib/datadog/profiling/component.rb +41 -34
- data/lib/datadog/profiling/exporter.rb +38 -13
- data/lib/datadog/profiling/ext/dir_monkey_patches.rb +6 -5
- data/lib/datadog/profiling/ext.rb +0 -2
- data/lib/datadog/profiling/flush.rb +21 -12
- data/lib/datadog/profiling/http_transport.rb +13 -2
- data/lib/datadog/profiling/load_native_extension.rb +2 -2
- data/lib/datadog/profiling/profiler.rb +13 -5
- data/lib/datadog/profiling/scheduler.rb +2 -2
- data/lib/datadog/profiling/sequence_tracker.rb +1 -1
- data/lib/datadog/profiling/stack_recorder.rb +0 -8
- data/lib/datadog/profiling/tag_builder.rb +19 -19
- data/lib/datadog/profiling/tasks/exec.rb +9 -4
- data/lib/datadog/profiling/tasks/help.rb +1 -0
- data/lib/datadog/profiling/tasks/setup.rb +2 -2
- data/lib/datadog/profiling.rb +32 -29
- data/lib/datadog/ruby_version.rb +25 -0
- data/lib/datadog/single_step_instrument.rb +2 -2
- data/lib/datadog/symbol_database/component.rb +734 -0
- data/lib/datadog/symbol_database/configuration.rb +73 -0
- data/lib/datadog/symbol_database/extensions.rb +19 -0
- data/lib/datadog/symbol_database/extractor.rb +1110 -0
- data/lib/datadog/symbol_database/file_hash.rb +48 -0
- data/lib/datadog/symbol_database/logger.rb +43 -0
- data/lib/datadog/symbol_database/remote.rb +195 -0
- data/lib/datadog/symbol_database/scope.rb +102 -0
- data/lib/datadog/symbol_database/scope_batcher.rb +292 -0
- data/lib/datadog/symbol_database/service_version.rb +66 -0
- data/lib/datadog/symbol_database/symbol.rb +69 -0
- data/lib/datadog/symbol_database/transport/http/endpoint.rb +28 -0
- data/lib/datadog/symbol_database/transport/http.rb +45 -0
- data/lib/datadog/symbol_database/transport.rb +54 -0
- data/lib/datadog/symbol_database/uploader.rb +230 -0
- data/lib/datadog/symbol_database.rb +71 -0
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +8 -8
- data/lib/datadog/tracing/client_ip.rb +4 -4
- data/lib/datadog/tracing/component.rb +39 -7
- data/lib/datadog/tracing/configuration/dynamic/option.rb +4 -0
- data/lib/datadog/tracing/configuration/dynamic.rb +13 -11
- data/lib/datadog/tracing/configuration/ext.rb +52 -38
- data/lib/datadog/tracing/configuration/http.rb +2 -2
- data/lib/datadog/tracing/configuration/settings.rb +51 -17
- data/lib/datadog/tracing/context.rb +1 -1
- data/lib/datadog/tracing/context_provider.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/event.rb +4 -4
- data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +9 -6
- data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +8 -5
- data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +9 -6
- data/lib/datadog/tracing/contrib/action_cable/events.rb +5 -5
- data/lib/datadog/tracing/contrib/action_cable/ext.rb +18 -18
- data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +8 -5
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/action_cable/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_mailer/event.rb +7 -4
- data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +8 -8
- data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +4 -4
- data/lib/datadog/tracing/contrib/action_mailer/events.rb +3 -3
- data/lib/datadog/tracing/contrib/action_mailer/ext.rb +18 -18
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +15 -12
- data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb +31 -3
- data/lib/datadog/tracing/contrib/action_pack/action_dispatch/patcher.rb +5 -3
- data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/action_pack/ext.rb +10 -10
- data/lib/datadog/tracing/contrib/action_pack/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/action_pack/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/action_pack/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/action_view/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +10 -7
- data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +11 -8
- data/lib/datadog/tracing/contrib/action_view/events.rb +3 -3
- data/lib/datadog/tracing/contrib/action_view/ext.rb +10 -10
- data/lib/datadog/tracing/contrib/action_view/integration.rb +11 -11
- data/lib/datadog/tracing/contrib/action_view/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/action_view/utils.rb +2 -2
- data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/active_job/data_streams.rb +62 -0
- data/lib/datadog/tracing/contrib/active_job/event.rb +3 -3
- data/lib/datadog/tracing/contrib/active_job/events/discard.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events/perform.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +10 -7
- data/lib/datadog/tracing/contrib/active_job/events.rb +6 -6
- data/lib/datadog/tracing/contrib/active_job/ext.rb +23 -23
- data/lib/datadog/tracing/contrib/active_job/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/active_job/patcher.rb +17 -5
- data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +4 -4
- data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +7 -7
- data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +8 -9
- data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +3 -3
- data/lib/datadog/tracing/contrib/active_model_serializers/ext.rb +10 -10
- data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +9 -9
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/active_record/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +9 -9
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +12 -14
- data/lib/datadog/tracing/contrib/active_record/events.rb +3 -3
- data/lib/datadog/tracing/contrib/active_record/ext.rb +15 -15
- data/lib/datadog/tracing/contrib/active_record/integration.rb +11 -11
- data/lib/datadog/tracing/contrib/active_record/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/utils.rb +4 -4
- data/lib/datadog/tracing/contrib/active_support/cache/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +14 -17
- data/lib/datadog/tracing/contrib/active_support/cache/events.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +5 -8
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +4 -4
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/active_support/ext.rb +16 -16
- data/lib/datadog/tracing/contrib/active_support/integration.rb +8 -8
- data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +2 -2
- data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +3 -3
- data/lib/datadog/tracing/contrib/active_support/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/analytics.rb +1 -1
- data/lib/datadog/tracing/contrib/auto_instrument.rb +4 -4
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/aws/ext.rb +26 -26
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +7 -11
- data/lib/datadog/tracing/contrib/aws/integration.rb +9 -9
- data/lib/datadog/tracing/contrib/aws/parsed_context.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/aws/service/dynamodb.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/service/eventbridge.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/service/kinesis.rb +4 -4
- data/lib/datadog/tracing/contrib/aws/service/s3.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/service/sns.rb +3 -3
- data/lib/datadog/tracing/contrib/aws/service/sqs.rb +3 -3
- data/lib/datadog/tracing/contrib/aws/service/states.rb +5 -5
- data/lib/datadog/tracing/contrib/aws/services.rb +14 -14
- data/lib/datadog/tracing/contrib/component.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/ext.rb +2 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/configurable.rb +20 -5
- data/lib/datadog/tracing/contrib/configuration/resolver.rb +14 -4
- data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/dalli/ext.rb +13 -13
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +6 -10
- data/lib/datadog/tracing/contrib/dalli/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/dalli/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/dalli/quantize.rb +3 -3
- data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/delayed_job/ext.rb +14 -14
- data/lib/datadog/tracing/contrib/delayed_job/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +7 -5
- data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +1 -0
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +15 -15
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +12 -16
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +4 -4
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +9 -13
- data/lib/datadog/tracing/contrib/ethon/ext.rb +13 -13
- data/lib/datadog/tracing/contrib/ethon/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +4 -11
- data/lib/datadog/tracing/contrib/ethon/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +5 -5
- data/lib/datadog/tracing/contrib/excon/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/excon/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/excon/middleware.rb +10 -14
- data/lib/datadog/tracing/contrib/excon/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/ext.rb +20 -18
- data/lib/datadog/tracing/contrib/extensions.rb +11 -2
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/faraday/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/faraday/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +10 -14
- data/lib/datadog/tracing/contrib/faraday/patcher.rb +6 -6
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +28 -25
- data/lib/datadog/tracing/contrib/grape/ext.rb +15 -15
- data/lib/datadog/tracing/contrib/grape/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/grape/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/grape/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/graphql/configuration/error_extension_env_parser.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/graphql/ext.rb +9 -9
- data/lib/datadog/tracing/contrib/graphql/integration.rb +9 -9
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +7 -7
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +38 -37
- data/lib/datadog/tracing/contrib/graphql/unified_trace_patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +11 -15
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +11 -15
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +6 -6
- data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +11 -9
- data/lib/datadog/tracing/contrib/grpc/ext.rb +14 -14
- data/lib/datadog/tracing/contrib/grpc/formatting.rb +7 -7
- data/lib/datadog/tracing/contrib/grpc/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc.rb +7 -6
- data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +4 -3
- data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/hanami/ext.rb +8 -8
- data/lib/datadog/tracing/contrib/hanami/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/hanami/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +4 -3
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +6 -4
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +1 -1
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +3 -3
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +10 -8
- data/lib/datadog/tracing/contrib/http/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +10 -14
- data/lib/datadog/tracing/contrib/http/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/http/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/http.rb +7 -6
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +12 -12
- data/lib/datadog/tracing/contrib/httpclient/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/httpclient/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +4 -4
- data/lib/datadog/tracing/contrib/httprb/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +10 -14
- data/lib/datadog/tracing/contrib/httprb/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/httprb/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/kafka/event.rb +4 -3
- data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +7 -3
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +5 -5
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +5 -5
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +5 -5
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +5 -5
- data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +10 -5
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +10 -5
- data/lib/datadog/tracing/contrib/kafka/events.rb +10 -10
- data/lib/datadog/tracing/contrib/kafka/ext.rb +40 -40
- data/lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb +6 -6
- data/lib/datadog/tracing/contrib/kafka/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/kafka/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/karafka/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/karafka/distributed/propagation.rb +11 -9
- data/lib/datadog/tracing/contrib/karafka/ext.rb +13 -13
- data/lib/datadog/tracing/contrib/karafka/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/karafka/monitor.rb +14 -14
- data/lib/datadog/tracing/contrib/karafka/patcher.rb +9 -9
- data/lib/datadog/tracing/contrib/karafka.rb +7 -6
- data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/lograge/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +9 -9
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +18 -18
- data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +9 -9
- data/lib/datadog/tracing/contrib/mongodb/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +18 -21
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +7 -11
- data/lib/datadog/tracing/contrib/mysql2/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/mysql2/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +23 -23
- data/lib/datadog/tracing/contrib/opensearch/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +15 -19
- data/lib/datadog/tracing/contrib/opensearch/quantize.rb +5 -5
- data/lib/datadog/tracing/contrib/patchable.rb +1 -1
- data/lib/datadog/tracing/contrib/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/pg/ext.rb +19 -19
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +19 -23
- data/lib/datadog/tracing/contrib/pg/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/pg/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/presto/ext.rb +21 -21
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +8 -10
- data/lib/datadog/tracing/contrib/presto/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/presto/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +2 -2
- data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +19 -16
- data/lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb +3 -3
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +5 -5
- data/lib/datadog/tracing/contrib/que/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/que/ext.rb +19 -19
- data/lib/datadog/tracing/contrib/que/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/que/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/que/tracer.rb +3 -2
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/event.rb +5 -9
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/events.rb +4 -4
- data/lib/datadog/tracing/contrib/racecar/ext.rb +18 -18
- data/lib/datadog/tracing/contrib/racecar/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/racecar/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +9 -3
- data/lib/datadog/tracing/contrib/rack/ext.rb +43 -16
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +3 -3
- data/lib/datadog/tracing/contrib/rack/header_tagging.rb +24 -1
- data/lib/datadog/tracing/contrib/rack/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +28 -25
- data/lib/datadog/tracing/contrib/rack/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/rack/request_queue.rb +4 -4
- data/lib/datadog/tracing/contrib/rack/route_inference.rb +12 -10
- data/lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb +124 -6
- data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/rails/ext.rb +15 -15
- data/lib/datadog/tracing/contrib/rails/framework.rb +11 -11
- data/lib/datadog/tracing/contrib/rails/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/patcher.rb +8 -9
- data/lib/datadog/tracing/contrib/rails/railtie.rb +4 -4
- data/lib/datadog/tracing/contrib/rails/runner.rb +4 -2
- data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/rake/ext.rb +12 -12
- data/lib/datadog/tracing/contrib/rake/instrumentation.rb +9 -7
- data/lib/datadog/tracing/contrib/rake/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/rake/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +3 -3
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/ext.rb +16 -16
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +6 -6
- data/lib/datadog/tracing/contrib/redis/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/redis/patcher.rb +10 -10
- data/lib/datadog/tracing/contrib/redis/quantize.rb +40 -6
- data/lib/datadog/tracing/contrib/redis/tags.rb +6 -11
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +16 -8
- data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/resque/ext.rb +7 -7
- data/lib/datadog/tracing/contrib/resque/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/resque/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/resque/resque_job.rb +6 -5
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +10 -10
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/rest_client/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +6 -10
- data/lib/datadog/tracing/contrib/roda/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/roda/ext.rb +6 -5
- data/lib/datadog/tracing/contrib/roda/instrumentation.rb +8 -5
- data/lib/datadog/tracing/contrib/roda/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/roda/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/semantic_logger/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sequel/database.rb +7 -10
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +6 -5
- data/lib/datadog/tracing/contrib/sequel/ext.rb +12 -8
- data/lib/datadog/tracing/contrib/sequel/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/sequel/jdbc_connection_string.rb +140 -0
- data/lib/datadog/tracing/contrib/sequel/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/sequel/utils.rb +103 -16
- data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/shoryuken/ext.rb +12 -12
- data/lib/datadog/tracing/contrib/shoryuken/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +3 -2
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +9 -8
- data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb +12 -10
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +30 -30
- data/lib/datadog/tracing/contrib/sidekiq/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +8 -8
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +2 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +2 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/stop.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +15 -14
- data/lib/datadog/tracing/contrib/sidekiq/utils.rb +10 -10
- data/lib/datadog/tracing/contrib/sidekiq.rb +7 -6
- data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/sinatra/env.rb +6 -6
- data/lib/datadog/tracing/contrib/sinatra/ext.rb +17 -17
- data/lib/datadog/tracing/contrib/sinatra/framework.rb +2 -2
- data/lib/datadog/tracing/contrib/sinatra/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/sinatra/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/sinatra/tracer.rb +11 -10
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +9 -8
- data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/sneakers/ext.rb +12 -12
- data/lib/datadog/tracing/contrib/sneakers/integration.rb +7 -7
- data/lib/datadog/tracing/contrib/sneakers/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/sneakers/tracer.rb +5 -4
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +2 -2
- data/lib/datadog/tracing/contrib/status_range_env_parser.rb +2 -2
- data/lib/datadog/tracing/contrib/status_range_matcher.rb +4 -0
- data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/stripe/ext.rb +12 -12
- data/lib/datadog/tracing/contrib/stripe/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/stripe/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/stripe/request.rb +4 -4
- data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb +1 -1
- data/lib/datadog/tracing/contrib/sucker_punch/ext.rb +13 -13
- data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +5 -4
- data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/trilogy/ext.rb +11 -11
- data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +7 -11
- data/lib/datadog/tracing/contrib/trilogy/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/trilogy/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/utils/database.rb +5 -5
- data/lib/datadog/tracing/contrib/utils/quantization/{hash.rb → hash_formatter.rb} +3 -3
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +10 -10
- data/lib/datadog/tracing/contrib/waterdrop/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/waterdrop/distributed/propagation.rb +11 -9
- data/lib/datadog/tracing/contrib/waterdrop/ext.rb +4 -4
- data/lib/datadog/tracing/contrib/waterdrop/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/waterdrop/middleware.rb +2 -2
- data/lib/datadog/tracing/contrib/waterdrop/patcher.rb +7 -7
- data/lib/datadog/tracing/contrib/waterdrop/producer.rb +3 -3
- data/lib/datadog/tracing/contrib/waterdrop.rb +7 -6
- data/lib/datadog/tracing/contrib.rb +62 -54
- data/lib/datadog/tracing/correlation.rb +12 -12
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +14 -12
- data/lib/datadog/tracing/diagnostics/ext.rb +19 -19
- data/lib/datadog/tracing/diagnostics/health.rb +1 -1
- data/lib/datadog/tracing/distributed/b3_multi.rb +8 -8
- data/lib/datadog/tracing/distributed/b3_single.rb +4 -4
- data/lib/datadog/tracing/distributed/baggage.rb +81 -28
- data/lib/datadog/tracing/distributed/datadog.rb +34 -32
- data/lib/datadog/tracing/distributed/fetcher.rb +1 -1
- data/lib/datadog/tracing/distributed/helpers.rb +3 -3
- data/lib/datadog/tracing/distributed/propagation.rb +46 -11
- data/lib/datadog/tracing/distributed/propagation_policy.rb +5 -0
- data/lib/datadog/tracing/distributed/trace_context.rb +29 -263
- data/lib/datadog/tracing/distributed/trace_state/datadog.rb +233 -0
- data/lib/datadog/tracing/distributed/trace_state/ext.rb +44 -0
- data/lib/datadog/tracing/distributed/trace_state/open_telemetry.rb +156 -0
- data/lib/datadog/tracing/distributed/trace_state.rb +121 -0
- data/lib/datadog/tracing/event.rb +2 -2
- data/lib/datadog/tracing/ext.rb +9 -0
- data/lib/datadog/tracing/metadata/analytics.rb +2 -2
- data/lib/datadog/tracing/metadata/errors.rb +4 -4
- data/lib/datadog/tracing/metadata/ext.rb +76 -66
- data/lib/datadog/tracing/metadata/metastruct.rb +1 -1
- data/lib/datadog/tracing/metadata/metastruct_tagging.rb +1 -1
- data/lib/datadog/tracing/metadata/tagging.rb +5 -5
- data/lib/datadog/tracing/metadata.rb +4 -4
- data/lib/datadog/tracing/otel_thread_context.rb +34 -0
- data/lib/datadog/tracing/pipeline/span_filter.rb +2 -2
- data/lib/datadog/tracing/pipeline.rb +3 -3
- data/lib/datadog/tracing/remote.rb +227 -21
- data/lib/datadog/tracing/sampling/all_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/ext.rb +9 -7
- data/lib/datadog/tracing/sampling/matcher.rb +4 -4
- data/lib/datadog/tracing/sampling/priority_sampler.rb +17 -4
- data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +3 -3
- data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +2 -2
- data/lib/datadog/tracing/sampling/rate_sampler.rb +2 -2
- data/lib/datadog/tracing/sampling/rule.rb +5 -5
- data/lib/datadog/tracing/sampling/rule_sampler.rb +68 -37
- data/lib/datadog/tracing/sampling/sampler.rb +2 -2
- data/lib/datadog/tracing/sampling/span/ext.rb +3 -3
- data/lib/datadog/tracing/sampling/span/matcher.rb +2 -2
- data/lib/datadog/tracing/sampling/span/rule.rb +1 -1
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +10 -10
- data/lib/datadog/tracing/span.rb +9 -9
- data/lib/datadog/tracing/span_event.rb +5 -5
- data/lib/datadog/tracing/span_operation.rb +39 -26
- data/lib/datadog/tracing/sync_writer.rb +12 -7
- data/lib/datadog/tracing/trace_digest.rb +29 -4
- data/lib/datadog/tracing/trace_operation.rb +112 -31
- data/lib/datadog/tracing/trace_segment.rb +10 -10
- data/lib/datadog/tracing/tracer.rb +68 -27
- data/lib/datadog/tracing/transport/http/client.rb +4 -4
- data/lib/datadog/tracing/transport/http/statistics.rb +2 -2
- data/lib/datadog/tracing/transport/http/traces.rb +8 -8
- data/lib/datadog/tracing/transport/http.rb +10 -10
- data/lib/datadog/tracing/transport/io/client.rb +3 -3
- data/lib/datadog/tracing/transport/io/response.rb +1 -1
- data/lib/datadog/tracing/transport/io/traces.rb +5 -5
- data/lib/datadog/tracing/transport/io.rb +3 -3
- data/lib/datadog/tracing/transport/native/response.rb +71 -0
- data/lib/datadog/tracing/transport/native.rb +379 -0
- data/lib/datadog/tracing/transport/serializable_trace.rb +19 -19
- data/lib/datadog/tracing/transport/span_events_negotiation.rb +41 -0
- data/lib/datadog/tracing/transport/statistics.rb +2 -2
- data/lib/datadog/tracing/transport/trace_formatter.rb +10 -10
- data/lib/datadog/tracing/transport/traces.rb +11 -31
- data/lib/datadog/tracing/utils.rb +2 -2
- data/lib/datadog/tracing/workers.rb +4 -3
- data/lib/datadog/tracing/writer.rb +22 -9
- data/lib/datadog/tracing.rb +3 -3
- data/lib/datadog/version.rb +4 -4
- data/lib/datadog.rb +15 -11
- metadata +92 -22
- data/ext/datadog_profiling_native_extension/clock_id_noop.c +0 -21
- data/lib/datadog/ai_guard/configuration/settings.rb +0 -113
- data/lib/datadog/appsec/configuration/settings.rb +0 -423
- data/lib/datadog/core/utils/base64.rb +0 -22
- data/lib/datadog/data_streams/configuration/settings.rb +0 -49
- data/lib/datadog/di/configuration/settings.rb +0 -243
- data/lib/datadog/error_tracking/configuration/settings.rb +0 -63
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +0 -82
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "logger"
|
|
4
4
|
|
|
5
|
-
require_relative
|
|
6
|
-
require_relative
|
|
7
|
-
require_relative
|
|
8
|
-
require_relative
|
|
9
|
-
require_relative
|
|
10
|
-
require_relative
|
|
11
|
-
require_relative
|
|
12
|
-
require_relative
|
|
5
|
+
require_relative "base"
|
|
6
|
+
require_relative "ext"
|
|
7
|
+
require_relative "../environment/execution"
|
|
8
|
+
require_relative "../environment/ext"
|
|
9
|
+
require_relative "../environment/process"
|
|
10
|
+
require_relative "../runtime/ext"
|
|
11
|
+
require_relative "../telemetry/ext"
|
|
12
|
+
require_relative "../remote/ext"
|
|
13
|
+
require_relative "../../profiling/ext"
|
|
13
14
|
|
|
14
|
-
require_relative
|
|
15
|
-
require_relative
|
|
15
|
+
require_relative "../../tracing/configuration/settings"
|
|
16
|
+
require_relative "../../opentelemetry/configuration/settings"
|
|
16
17
|
|
|
17
18
|
module Datadog
|
|
18
19
|
module Core
|
|
@@ -105,6 +106,7 @@ module Datadog
|
|
|
105
106
|
option :api_key do |o|
|
|
106
107
|
o.type :string, nilable: true
|
|
107
108
|
o.env Core::Environment::Ext::ENV_API_KEY
|
|
109
|
+
o.skip_telemetry true
|
|
108
110
|
end
|
|
109
111
|
|
|
110
112
|
# Datadog diagnostic settings.
|
|
@@ -132,13 +134,13 @@ module Datadog
|
|
|
132
134
|
value = value.strip.downcase
|
|
133
135
|
# Debug is enabled when DD_TRACE_DEBUG is true or 1 OR
|
|
134
136
|
# when OTEL_LOG_LEVEL is set to debug
|
|
135
|
-
[
|
|
137
|
+
["true", "1", "debug"].include?(value)
|
|
136
138
|
end
|
|
137
139
|
end
|
|
138
140
|
o.after_set do |enabled|
|
|
139
141
|
# Enable rich debug print statements.
|
|
140
142
|
# We do not need to unnecessarily load 'pp' unless in debugging mode.
|
|
141
|
-
require
|
|
143
|
+
require "pp" if enabled # standard:disable Lint/RedundantRequireStatement
|
|
142
144
|
end
|
|
143
145
|
end
|
|
144
146
|
|
|
@@ -170,6 +172,16 @@ module Datadog
|
|
|
170
172
|
o.env Core::Environment::Ext::ENV_ENVIRONMENT
|
|
171
173
|
end
|
|
172
174
|
|
|
175
|
+
# Override the hostname reported by this process.
|
|
176
|
+
# When `report_hostname` is enabled, sets the hostname on traces and
|
|
177
|
+
# the `host.name` resource attribute in OpenTelemetry.
|
|
178
|
+
# @default `DD_HOSTNAME` environment variable, otherwise `nil`
|
|
179
|
+
# @return [String,nil]
|
|
180
|
+
option :hostname do |o|
|
|
181
|
+
o.type :string, nilable: true
|
|
182
|
+
o.env Core::Environment::Ext::ENV_HOSTNAME
|
|
183
|
+
end
|
|
184
|
+
|
|
173
185
|
# Configuration for container environments. For internal use only.
|
|
174
186
|
# @!visibility private
|
|
175
187
|
settings :container do
|
|
@@ -221,6 +233,8 @@ module Datadog
|
|
|
221
233
|
#
|
|
222
234
|
# @return Logger::Severity
|
|
223
235
|
option :instance do |o|
|
|
236
|
+
# Telemetry for this option is manually modified and added in the AppStarted event.
|
|
237
|
+
o.skip_telemetry true
|
|
224
238
|
o.after_set { |value| set_option(:level, value.level) unless value.nil? }
|
|
225
239
|
end
|
|
226
240
|
|
|
@@ -262,7 +276,7 @@ module Datadog
|
|
|
262
276
|
# @default `DD_PROFILING_ALLOCATION_ENABLED` environment variable as a boolean, otherwise `false`
|
|
263
277
|
option :allocation_enabled do |o|
|
|
264
278
|
o.type :bool
|
|
265
|
-
o.env
|
|
279
|
+
o.env "DD_PROFILING_ALLOCATION_ENABLED"
|
|
266
280
|
o.default false
|
|
267
281
|
end
|
|
268
282
|
|
|
@@ -310,7 +324,7 @@ module Datadog
|
|
|
310
324
|
# @default `DD_PROFILING_GC_ENABLED` environment variable, otherwise `true`
|
|
311
325
|
option :gc_enabled do |o|
|
|
312
326
|
o.type :bool
|
|
313
|
-
o.env
|
|
327
|
+
o.env "DD_PROFILING_GC_ENABLED"
|
|
314
328
|
o.default true
|
|
315
329
|
end
|
|
316
330
|
|
|
@@ -333,7 +347,7 @@ module Datadog
|
|
|
333
347
|
# @default `DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED` environment variable as a boolean, otherwise `false`
|
|
334
348
|
option :experimental_heap_enabled do |o|
|
|
335
349
|
o.type :bool
|
|
336
|
-
o.env
|
|
350
|
+
o.env "DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED"
|
|
337
351
|
o.default false
|
|
338
352
|
end
|
|
339
353
|
|
|
@@ -347,7 +361,7 @@ module Datadog
|
|
|
347
361
|
# follows the value of `experimental_heap_enabled`.
|
|
348
362
|
option :experimental_heap_size_enabled do |o|
|
|
349
363
|
o.type :bool
|
|
350
|
-
o.env
|
|
364
|
+
o.env "DD_PROFILING_EXPERIMENTAL_HEAP_SIZE_ENABLED"
|
|
351
365
|
o.default true # This gets ANDed with experimental_heap_enabled in the profiler component.
|
|
352
366
|
end
|
|
353
367
|
|
|
@@ -365,7 +379,7 @@ module Datadog
|
|
|
365
379
|
# @default `DD_PROFILING_EXPERIMENTAL_HEAP_SAMPLE_RATE` environment variable, otherwise `1`.
|
|
366
380
|
option :experimental_heap_sample_rate do |o|
|
|
367
381
|
o.type :int
|
|
368
|
-
o.env
|
|
382
|
+
o.env "DD_PROFILING_EXPERIMENTAL_HEAP_SAMPLE_RATE"
|
|
369
383
|
o.default 1
|
|
370
384
|
end
|
|
371
385
|
|
|
@@ -376,20 +390,23 @@ module Datadog
|
|
|
376
390
|
# @default `DD_PROFILING_SKIP_MYSQL2_CHECK` environment variable, otherwise `false`
|
|
377
391
|
option :skip_mysql2_check do |o|
|
|
378
392
|
o.type :bool
|
|
379
|
-
o.env
|
|
393
|
+
o.env "DD_PROFILING_SKIP_MYSQL2_CHECK"
|
|
380
394
|
o.default false
|
|
381
395
|
end
|
|
382
396
|
|
|
383
|
-
#
|
|
384
|
-
#
|
|
385
|
-
# If you needed to disable this, please tell us why on <https://github.com/DataDog/dd-trace-rb/issues/new>,
|
|
386
|
-
# so we can fix it!
|
|
387
|
-
#
|
|
388
|
-
# @default `DD_PROFILING_TIMELINE_ENABLED` environment variable as a boolean, otherwise `true`
|
|
397
|
+
# DEV-3.0: Remove `timeline_enabled` option
|
|
389
398
|
option :timeline_enabled do |o|
|
|
390
399
|
o.type :bool
|
|
391
|
-
o.env
|
|
400
|
+
o.env "DD_PROFILING_TIMELINE_ENABLED"
|
|
392
401
|
o.default true
|
|
402
|
+
o.after_set do |_, _, precedence|
|
|
403
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
404
|
+
Core.log_deprecation(key: :timeline_enabled) do
|
|
405
|
+
"The profiling.advanced.timeline_enabled setting has been deprecated for removal and no longer does anything. " \
|
|
406
|
+
"Please remove it from your Datadog.configure block and do not set DD_PROFILING_TIMELINE_ENABLED."
|
|
407
|
+
end
|
|
408
|
+
end
|
|
409
|
+
end
|
|
393
410
|
end
|
|
394
411
|
|
|
395
412
|
# The profiler gathers data by sending `SIGPROF` unix signals to Ruby application threads.
|
|
@@ -412,12 +429,12 @@ module Datadog
|
|
|
412
429
|
#
|
|
413
430
|
# @default `DD_PROFILING_NO_SIGNALS_WORKAROUND_ENABLED` environment variable as a boolean, otherwise `:auto`
|
|
414
431
|
option :no_signals_workaround_enabled do |o|
|
|
415
|
-
o.env
|
|
432
|
+
o.env "DD_PROFILING_NO_SIGNALS_WORKAROUND_ENABLED"
|
|
416
433
|
o.default :auto
|
|
417
434
|
o.env_parser do |value|
|
|
418
435
|
if value
|
|
419
436
|
value = value.strip.downcase
|
|
420
|
-
[
|
|
437
|
+
["true", "1"].include?(value)
|
|
421
438
|
end
|
|
422
439
|
end
|
|
423
440
|
end
|
|
@@ -431,7 +448,7 @@ module Datadog
|
|
|
431
448
|
# @default `DD_PROFILING_DIR_INTERRUPTION_WORKAROUND_ENABLED` environment variable as a boolean,
|
|
432
449
|
# otherwise `true`
|
|
433
450
|
option :dir_interruption_workaround_enabled do |o|
|
|
434
|
-
o.env
|
|
451
|
+
o.env "DD_PROFILING_DIR_INTERRUPTION_WORKAROUND_ENABLED"
|
|
435
452
|
o.type :bool
|
|
436
453
|
o.default true
|
|
437
454
|
end
|
|
@@ -448,7 +465,7 @@ module Datadog
|
|
|
448
465
|
# @default `DD_PROFILING_SHUTDOWN_ON_EXEC_ENABLED` environment variable as a boolean,
|
|
449
466
|
# otherwise `true`
|
|
450
467
|
option :shutdown_on_exec_enabled do |o|
|
|
451
|
-
o.env
|
|
468
|
+
o.env "DD_PROFILING_SHUTDOWN_ON_EXEC_ENABLED"
|
|
452
469
|
o.type :bool
|
|
453
470
|
o.default true
|
|
454
471
|
end
|
|
@@ -466,7 +483,7 @@ module Datadog
|
|
|
466
483
|
# @default `DD_PROFILING_OVERHEAD_TARGET_PERCENTAGE` as a float, otherwise 2.0
|
|
467
484
|
option :overhead_target_percentage do |o|
|
|
468
485
|
o.type :float
|
|
469
|
-
o.env
|
|
486
|
+
o.env "DD_PROFILING_OVERHEAD_TARGET_PERCENTAGE"
|
|
470
487
|
o.default 2.0
|
|
471
488
|
end
|
|
472
489
|
|
|
@@ -477,7 +494,7 @@ module Datadog
|
|
|
477
494
|
# @default `DD_PROFILING_UPLOAD_PERIOD` environment variable, otherwise 60
|
|
478
495
|
option :upload_period_seconds do |o|
|
|
479
496
|
o.type :int
|
|
480
|
-
o.env
|
|
497
|
+
o.env "DD_PROFILING_UPLOAD_PERIOD"
|
|
481
498
|
o.default 60
|
|
482
499
|
end
|
|
483
500
|
|
|
@@ -486,8 +503,8 @@ module Datadog
|
|
|
486
503
|
o.after_set do |_, _, precedence|
|
|
487
504
|
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
488
505
|
Core.log_deprecation(key: :experimental_crash_tracking_enabled) do
|
|
489
|
-
|
|
490
|
-
|
|
506
|
+
"The profiling.advanced.experimental_crash_tracking_enabled setting has been deprecated for removal " \
|
|
507
|
+
"and no longer does anything. Please remove it from your Datadog.configure block."
|
|
491
508
|
end
|
|
492
509
|
end
|
|
493
510
|
end
|
|
@@ -500,9 +517,9 @@ module Datadog
|
|
|
500
517
|
o.after_set do |_, _, precedence|
|
|
501
518
|
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
502
519
|
Datadog.logger.warn(
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
520
|
+
"The profiling.advanced.preview_gvl_enabled setting has been deprecated for removal and " \
|
|
521
|
+
"no longer does anything. Please remove it from your Datadog.configure block. " \
|
|
522
|
+
"GVL profiling is now controlled by the profiling.advanced.gvl_enabled setting instead."
|
|
506
523
|
)
|
|
507
524
|
end
|
|
508
525
|
end
|
|
@@ -516,7 +533,7 @@ module Datadog
|
|
|
516
533
|
option :gvl_enabled do |o|
|
|
517
534
|
o.type :bool
|
|
518
535
|
# Note: Deprecated alias (DD_PROFILING_PREVIEW_GVL_ENABLED) defined in supported-configurations.json
|
|
519
|
-
o.env
|
|
536
|
+
o.env "DD_PROFILING_GVL_ENABLED"
|
|
520
537
|
o.default true
|
|
521
538
|
end
|
|
522
539
|
|
|
@@ -538,24 +555,24 @@ module Datadog
|
|
|
538
555
|
#
|
|
539
556
|
# @default false
|
|
540
557
|
option :preview_otel_context_enabled do |o|
|
|
541
|
-
o.env
|
|
558
|
+
o.env "DD_PROFILING_PREVIEW_OTEL_CONTEXT_ENABLED"
|
|
542
559
|
o.default false
|
|
543
560
|
o.env_parser do |value|
|
|
544
561
|
if value
|
|
545
562
|
value = value.strip.downcase
|
|
546
|
-
if [
|
|
563
|
+
if ["only", "both"].include?(value)
|
|
547
564
|
value
|
|
548
|
-
elsif [
|
|
549
|
-
|
|
565
|
+
elsif ["true", "1"].include?(value)
|
|
566
|
+
"both"
|
|
550
567
|
else
|
|
551
|
-
|
|
568
|
+
"false"
|
|
552
569
|
end
|
|
553
570
|
end
|
|
554
571
|
end
|
|
555
572
|
o.setter do |value|
|
|
556
573
|
if value == true
|
|
557
574
|
:both
|
|
558
|
-
elsif [
|
|
575
|
+
elsif ["only", "both", :only, :both].include?(value)
|
|
559
576
|
value.to_sym
|
|
560
577
|
else
|
|
561
578
|
false
|
|
@@ -571,7 +588,7 @@ module Datadog
|
|
|
571
588
|
# @default true
|
|
572
589
|
option :heap_clean_after_gc_enabled do |o|
|
|
573
590
|
o.type :bool
|
|
574
|
-
o.env
|
|
591
|
+
o.env "DD_PROFILING_HEAP_CLEAN_AFTER_GC_ENABLED"
|
|
575
592
|
o.default true
|
|
576
593
|
end
|
|
577
594
|
|
|
@@ -581,7 +598,7 @@ module Datadog
|
|
|
581
598
|
# @default true
|
|
582
599
|
option :native_filenames_enabled do |o|
|
|
583
600
|
o.type :bool
|
|
584
|
-
o.env
|
|
601
|
+
o.env "DD_PROFILING_NATIVE_FILENAMES_ENABLED"
|
|
585
602
|
o.default true
|
|
586
603
|
end
|
|
587
604
|
|
|
@@ -598,10 +615,9 @@ module Datadog
|
|
|
598
615
|
# @default true on Ruby 3.2.5+ / Ruby 3.3.4+, false on older Rubies
|
|
599
616
|
option :sighandler_sampling_enabled do |o|
|
|
600
617
|
o.type :bool
|
|
601
|
-
o.env
|
|
618
|
+
o.env "DD_PROFILING_SIGHANDLER_SAMPLING_ENABLED"
|
|
602
619
|
o.default do
|
|
603
|
-
|
|
604
|
-
!(RUBY_VERSION.start_with?('3.3.') && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.3.4'))
|
|
620
|
+
RubyVersion.is?(">= 3.2.5") && !RubyVersion.is?(">= 3.3", "< 3.3.4")
|
|
605
621
|
end
|
|
606
622
|
end
|
|
607
623
|
|
|
@@ -625,9 +641,16 @@ module Datadog
|
|
|
625
641
|
# @default `DD_PROFILING_EXPERIMENTAL_USE_SYSTEM_DNS` environment variable as a boolean, otherwise `true`
|
|
626
642
|
option :experimental_use_system_dns do |o|
|
|
627
643
|
o.type :bool
|
|
628
|
-
o.env
|
|
644
|
+
o.env "DD_PROFILING_EXPERIMENTAL_USE_SYSTEM_DNS"
|
|
629
645
|
o.default true
|
|
630
646
|
end
|
|
647
|
+
|
|
648
|
+
# Whether the profiler samples include the class/module name in stack frames, like `Foo::Bar#baz`, or not (`baz`)
|
|
649
|
+
option :experimental_show_classes_enabled do |o|
|
|
650
|
+
o.type :bool
|
|
651
|
+
o.env "DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED"
|
|
652
|
+
o.default false
|
|
653
|
+
end
|
|
631
654
|
end
|
|
632
655
|
|
|
633
656
|
# @public_api
|
|
@@ -659,7 +682,7 @@ module Datadog
|
|
|
659
682
|
option :experimental_runtime_id_enabled do |o|
|
|
660
683
|
o.type :bool
|
|
661
684
|
# Note: Alias (DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED) defined in supported-configurations.json
|
|
662
|
-
o.env
|
|
685
|
+
o.env "DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED"
|
|
663
686
|
o.default false
|
|
664
687
|
end
|
|
665
688
|
|
|
@@ -679,12 +702,16 @@ module Datadog
|
|
|
679
702
|
o.env Core::Environment::Ext::ENV_SERVICE
|
|
680
703
|
o.default Core::Environment::Ext::FALLBACK_SERVICE_NAME
|
|
681
704
|
|
|
705
|
+
o.after_set do |service_name|
|
|
706
|
+
Core::Environment::Process.set_service(service_name, user_configured: !using_default?(:service))
|
|
707
|
+
end
|
|
708
|
+
|
|
682
709
|
# There's a few cases where we don't want to use the fallback service name, so this helper allows us to get a
|
|
683
710
|
# nil instead so that one can do
|
|
684
711
|
# nice_service_name = Datadog.configuration.service_without_fallback || nice_service_name_default
|
|
685
712
|
o.helper(:service_without_fallback) do
|
|
686
713
|
service_name = service
|
|
687
|
-
service_name unless
|
|
714
|
+
service_name unless using_default?(:service)
|
|
688
715
|
end
|
|
689
716
|
end
|
|
690
717
|
|
|
@@ -719,7 +746,7 @@ module Datadog
|
|
|
719
746
|
result = {}
|
|
720
747
|
unless env_value.nil? || env_value.empty?
|
|
721
748
|
# falling back to comma as separator
|
|
722
|
-
sep = env_value.include?(
|
|
749
|
+
sep = env_value.include?(",") ? "," : " "
|
|
723
750
|
# split by separator
|
|
724
751
|
env_value.split(sep).each do |tag|
|
|
725
752
|
tag.strip!
|
|
@@ -727,12 +754,12 @@ module Datadog
|
|
|
727
754
|
|
|
728
755
|
# tag by : or = (for OpenTelemetry)
|
|
729
756
|
key, val = tag.split(/[:=]/, 2).map(&:strip)
|
|
730
|
-
val ||=
|
|
757
|
+
val ||= ""
|
|
731
758
|
# maps OpenTelemetry semantic attributes to Datadog tags
|
|
732
759
|
key = case key.downcase
|
|
733
|
-
when
|
|
734
|
-
when
|
|
735
|
-
when
|
|
760
|
+
when "deployment.environment" then "env"
|
|
761
|
+
when "service.version" then "version"
|
|
762
|
+
when "service.name" then "service"
|
|
736
763
|
else key
|
|
737
764
|
end
|
|
738
765
|
result[key] = val unless key.empty?
|
|
@@ -772,55 +799,40 @@ module Datadog
|
|
|
772
799
|
end
|
|
773
800
|
end
|
|
774
801
|
|
|
775
|
-
#
|
|
776
|
-
#
|
|
777
|
-
#
|
|
778
|
-
#
|
|
779
|
-
# For [Timecop](https://rubygems.org/gems/timecop), for example, `->{ Time.now_without_mock_time }`
|
|
780
|
-
# allows Datadog features to use the real wall time when time is frozen.
|
|
781
|
-
#
|
|
782
|
-
# @default `->{ Time.now }`
|
|
783
|
-
# @return [Proc<Time>]
|
|
802
|
+
# Deprecated and no longer does anything.
|
|
803
|
+
# This gem already takes care to not be affected by timecop.
|
|
804
|
+
# DEV-3.0: Remove `time_now_provider` option
|
|
784
805
|
option :time_now_provider do |o|
|
|
785
|
-
o.default_proc { ::Time.now }
|
|
806
|
+
o.default_proc { Datadog::Core::Utils::Time.now }
|
|
786
807
|
o.type :proc
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
Core::Utils::Time.now_provider = default
|
|
808
|
+
o.after_set do |_, _, precedence|
|
|
809
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
810
|
+
unless defined?(Datadog::CI) # the datadog-ci gem needs to work with any datadog gem version and not warn
|
|
811
|
+
Core.log_deprecation(key: :time_now_provider) do
|
|
812
|
+
"The time_now_provider setting has been deprecated for removal " \
|
|
813
|
+
"and no longer does anything. Please remove it from your Datadog.configure block. " \
|
|
814
|
+
"The datadog gem always uses the real non-mocked time, even when the timecop gem monkey-patches Time."
|
|
815
|
+
end
|
|
816
|
+
end
|
|
797
817
|
end
|
|
798
818
|
end
|
|
799
819
|
end
|
|
800
820
|
|
|
801
|
-
#
|
|
802
|
-
# gem
|
|
803
|
-
#
|
|
804
|
-
# It must respect the interface of [Datadog::Core::Utils::Time#get_time] method.
|
|
805
|
-
#
|
|
806
|
-
# For [Timecop](https://rubygems.org/gems/timecop), for example,
|
|
807
|
-
# `->(unit = :float_second) { ::Process.clock_gettime_without_mock(::Process::CLOCK_MONOTONIC, unit) }`
|
|
808
|
-
# allows Datadog features to use the real monotonic time when time is frozen with
|
|
809
|
-
# `Timecop.mock_process_clock = true`.
|
|
810
|
-
#
|
|
811
|
-
# @default `->(unit = :float_second) { ::Process.clock_gettime(::Process::CLOCK_MONOTONIC, unit)}`
|
|
812
|
-
# @return [Proc<Numeric>]
|
|
821
|
+
# Deprecated and no longer does anything.
|
|
822
|
+
# This gem already takes care to not be affected by timecop.
|
|
823
|
+
# DEV-3.0: Remove `get_time_provider` option
|
|
813
824
|
option :get_time_provider do |o|
|
|
814
|
-
o.default_proc { |unit = :float_second| ::
|
|
825
|
+
o.default_proc { |unit = :float_second| Datadog::Core::Utils::Time.get_time(unit) }
|
|
815
826
|
o.type :proc
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
827
|
+
o.after_set do |_, _, precedence|
|
|
828
|
+
unless precedence == Datadog::Core::Configuration::Option::Precedence::DEFAULT
|
|
829
|
+
unless defined?(Datadog::CI) # the datadog-ci gem needs to work with any datadog gem version and not warn
|
|
830
|
+
Core.log_deprecation(key: :get_time_provider) do
|
|
831
|
+
"The get_time_provider setting has been deprecated for removal " \
|
|
832
|
+
"and no longer does anything. Please remove it from your Datadog.configure block. " \
|
|
833
|
+
"The datadog gem always uses the real non-mocked time, even when the timecop gem monkey-patches Process.clock_gettime."
|
|
834
|
+
end
|
|
835
|
+
end
|
|
824
836
|
end
|
|
825
837
|
end
|
|
826
838
|
end
|
|
@@ -859,8 +871,8 @@ module Datadog
|
|
|
859
871
|
o.default do
|
|
860
872
|
if Datadog::Core::Environment::Execution.development?
|
|
861
873
|
Datadog.logger.debug do
|
|
862
|
-
|
|
863
|
-
|
|
874
|
+
"Development environment detected, disabling Telemetry. " \
|
|
875
|
+
"You can enable it with DD_INSTRUMENTATION_TELEMETRY_ENABLED=true."
|
|
864
876
|
end
|
|
865
877
|
false
|
|
866
878
|
else
|
|
@@ -912,6 +924,19 @@ module Datadog
|
|
|
912
924
|
o.default 60.0
|
|
913
925
|
end
|
|
914
926
|
|
|
927
|
+
# The interval in seconds when extended heartbeat must be sent.
|
|
928
|
+
#
|
|
929
|
+
# This method is used internally, for testing purposes only.
|
|
930
|
+
#
|
|
931
|
+
# @default `DD_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL` environment variable, otherwise `86400`.
|
|
932
|
+
# @return [Integer]
|
|
933
|
+
# @!visibility private
|
|
934
|
+
option :extended_heartbeat_interval_seconds do |o|
|
|
935
|
+
o.type :int
|
|
936
|
+
o.env Core::Telemetry::Ext::ENV_EXTENDED_HEARTBEAT_INTERVAL
|
|
937
|
+
o.default 86400
|
|
938
|
+
end
|
|
939
|
+
|
|
915
940
|
# The interval in seconds when telemetry metrics are aggregated.
|
|
916
941
|
# Should be a denominator of `heartbeat_interval_seconds`.
|
|
917
942
|
#
|
|
@@ -1003,8 +1028,8 @@ module Datadog
|
|
|
1003
1028
|
o.default do
|
|
1004
1029
|
if Datadog::Core::Environment::Execution.development?
|
|
1005
1030
|
Datadog.logger.debug do
|
|
1006
|
-
|
|
1007
|
-
|
|
1031
|
+
"Development environment detected, disabling Remote Configuration. " \
|
|
1032
|
+
"You can enable it with DD_REMOTE_CONFIGURATION_ENABLED=true."
|
|
1008
1033
|
end
|
|
1009
1034
|
false
|
|
1010
1035
|
else
|
|
@@ -1053,7 +1078,7 @@ module Datadog
|
|
|
1053
1078
|
option :enabled do |o|
|
|
1054
1079
|
o.type :bool
|
|
1055
1080
|
o.default true
|
|
1056
|
-
o.env
|
|
1081
|
+
o.env "DD_CRASHTRACKING_ENABLED"
|
|
1057
1082
|
end
|
|
1058
1083
|
end
|
|
1059
1084
|
|
|
@@ -1062,7 +1087,7 @@ module Datadog
|
|
|
1062
1087
|
# @default `DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED` environment variable, otherwise `true`
|
|
1063
1088
|
# @return [Boolean]
|
|
1064
1089
|
option :experimental_propagate_process_tags_enabled do |o|
|
|
1065
|
-
o.env
|
|
1090
|
+
o.env "DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED"
|
|
1066
1091
|
o.default true
|
|
1067
1092
|
o.type :bool
|
|
1068
1093
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "set"
|
|
4
4
|
|
|
5
5
|
# This file is auto-generated from `supported-configurations.json` by `rake local_config_map:generate`.
|
|
6
6
|
# Do not change manually! Please refer to `docs/AccessEnvironmentVariables.md` for more information.
|
|
@@ -19,12 +19,15 @@ module Datadog
|
|
|
19
19
|
"DD_API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE",
|
|
20
20
|
"DD_API_SECURITY_ENABLED",
|
|
21
21
|
"DD_API_SECURITY_ENDPOINT_COLLECTION_ENABLED",
|
|
22
|
+
"DD_API_SECURITY_MAX_DOWNSTREAM_BODY_BYTES",
|
|
22
23
|
"DD_API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS",
|
|
23
24
|
"DD_API_SECURITY_REQUEST_SAMPLE_RATE",
|
|
24
25
|
"DD_API_SECURITY_SAMPLE_DELAY",
|
|
25
26
|
"DD_APM_TRACING_ENABLED",
|
|
27
|
+
"DD_APPSEC_AGENTIC_ONBOARDING",
|
|
26
28
|
"DD_APPSEC_AUTOMATED_USER_EVENTS_TRACKING",
|
|
27
29
|
"DD_APPSEC_AUTO_USER_INSTRUMENTATION_MODE",
|
|
30
|
+
"DD_APPSEC_BODY_PARSING_SIZE_LIMIT",
|
|
28
31
|
"DD_APPSEC_ENABLED",
|
|
29
32
|
"DD_APPSEC_HTTP_BLOCKED_TEMPLATE_HTML",
|
|
30
33
|
"DD_APPSEC_HTTP_BLOCKED_TEMPLATE_JSON",
|
|
@@ -48,6 +51,7 @@ module Datadog
|
|
|
48
51
|
"DD_DBM_PROPAGATION_MODE",
|
|
49
52
|
"DD_DISABLE_DATADOG_RAILS",
|
|
50
53
|
"DD_DYNAMIC_INSTRUMENTATION_ENABLED",
|
|
54
|
+
"DD_DYNAMIC_INSTRUMENTATION_MAX_TIME_TO_SERIALIZE",
|
|
51
55
|
"DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE",
|
|
52
56
|
"DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS",
|
|
53
57
|
"DD_DYNAMIC_INSTRUMENTATION_REDACTED_TYPES",
|
|
@@ -56,18 +60,24 @@ module Datadog
|
|
|
56
60
|
"DD_ERROR_TRACKING_HANDLED_ERRORS",
|
|
57
61
|
"DD_ERROR_TRACKING_HANDLED_ERRORS_INCLUDE",
|
|
58
62
|
"DD_EXPERIMENTAL_FLAGGING_PROVIDER_ENABLED",
|
|
63
|
+
"DD_EXPERIMENTAL_FLAGGING_PROVIDER_SPAN_ENRICHMENT_ENABLED",
|
|
64
|
+
"DD_EXPERIMENTAL_NATIVE_TRANSPORT_ENABLED",
|
|
59
65
|
"DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED",
|
|
60
66
|
"DD_EXTERNAL_ENV",
|
|
67
|
+
"DD_FLAGGING_EVALUATION_COUNTS_ENABLED",
|
|
61
68
|
"DD_GIT_COMMIT_SHA",
|
|
62
69
|
"DD_GIT_REPOSITORY_URL",
|
|
63
70
|
"DD_HEALTH_METRICS_ENABLED",
|
|
71
|
+
"DD_HOSTNAME",
|
|
64
72
|
"DD_INJECTION_ENABLED",
|
|
65
73
|
"DD_INJECT_FORCE",
|
|
66
74
|
"DD_INSTRUMENTATION_INSTALL_ID",
|
|
67
75
|
"DD_INSTRUMENTATION_INSTALL_TIME",
|
|
68
76
|
"DD_INSTRUMENTATION_INSTALL_TYPE",
|
|
69
77
|
"DD_INSTRUMENTATION_TELEMETRY_ENABLED",
|
|
78
|
+
"DD_INTERNAL_FORCE_SYMBOL_DATABASE_UPLOAD",
|
|
70
79
|
"DD_LOGS_INJECTION",
|
|
80
|
+
"DD_LOGS_OTEL_ENABLED",
|
|
71
81
|
"DD_METRICS_OTEL_ENABLED",
|
|
72
82
|
"DD_METRIC_AGENT_PORT",
|
|
73
83
|
"DD_PROFILING_ALLOCATION_ENABLED",
|
|
@@ -77,6 +87,7 @@ module Datadog
|
|
|
77
87
|
"DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED",
|
|
78
88
|
"DD_PROFILING_EXPERIMENTAL_HEAP_SAMPLE_RATE",
|
|
79
89
|
"DD_PROFILING_EXPERIMENTAL_HEAP_SIZE_ENABLED",
|
|
90
|
+
"DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED",
|
|
80
91
|
"DD_PROFILING_EXPERIMENTAL_USE_SYSTEM_DNS",
|
|
81
92
|
"DD_PROFILING_GC_ENABLED",
|
|
82
93
|
"DD_PROFILING_GVL_ENABLED",
|
|
@@ -104,9 +115,11 @@ module Datadog
|
|
|
104
115
|
"DD_SITE",
|
|
105
116
|
"DD_SPAN_SAMPLING_RULES",
|
|
106
117
|
"DD_SPAN_SAMPLING_RULES_FILE",
|
|
118
|
+
"DD_SYMBOL_DATABASE_UPLOAD_ENABLED",
|
|
107
119
|
"DD_TAGS",
|
|
108
120
|
"DD_TELEMETRY_AGENTLESS_URL",
|
|
109
121
|
"DD_TELEMETRY_DEPENDENCY_COLLECTION_ENABLED",
|
|
122
|
+
"DD_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL",
|
|
110
123
|
"DD_TELEMETRY_HEARTBEAT_INTERVAL",
|
|
111
124
|
"DD_TELEMETRY_LOG_COLLECTION_ENABLED",
|
|
112
125
|
"DD_TELEMETRY_METRICS_AGGREGATION_INTERVAL",
|
|
@@ -225,6 +238,7 @@ module Datadog
|
|
|
225
238
|
"DD_TRACE_HTTP_ENABLED",
|
|
226
239
|
"DD_TRACE_HTTP_ERROR_STATUS_CODES",
|
|
227
240
|
"DD_TRACE_HTTP_SERVER_ERROR_STATUSES",
|
|
241
|
+
"DD_TRACE_INFERRED_PROXY_SERVICES_ENABLED",
|
|
228
242
|
"DD_TRACE_KAFKA_ANALYTICS_ENABLED",
|
|
229
243
|
"DD_TRACE_KAFKA_ANALYTICS_SAMPLE_RATE",
|
|
230
244
|
"DD_TRACE_KAFKA_ENABLED",
|
|
@@ -264,6 +278,7 @@ module Datadog
|
|
|
264
278
|
"DD_TRACE_PRESTO_ENABLED",
|
|
265
279
|
"DD_TRACE_PRESTO_PEER_SERVICE",
|
|
266
280
|
"DD_TRACE_PRESTO_SERVICE_NAME",
|
|
281
|
+
"DD_TRACE_PROPAGATION_BEHAVIOR_EXTRACT",
|
|
267
282
|
"DD_TRACE_PROPAGATION_EXTRACT_FIRST",
|
|
268
283
|
"DD_TRACE_PROPAGATION_STYLE",
|
|
269
284
|
"DD_TRACE_PROPAGATION_STYLE_EXTRACT",
|
|
@@ -345,8 +360,16 @@ module Datadog
|
|
|
345
360
|
"DD_TRACE_WATERDROP_ENABLED",
|
|
346
361
|
"DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH",
|
|
347
362
|
"DD_VERSION",
|
|
363
|
+
"OTEL_BLRP_EXPORT_TIMEOUT",
|
|
364
|
+
"OTEL_BLRP_MAX_EXPORT_BATCH_SIZE",
|
|
365
|
+
"OTEL_BLRP_MAX_QUEUE_SIZE",
|
|
366
|
+
"OTEL_BLRP_SCHEDULE_DELAY",
|
|
348
367
|
"OTEL_EXPORTER_OTLP_ENDPOINT",
|
|
349
368
|
"OTEL_EXPORTER_OTLP_HEADERS",
|
|
369
|
+
"OTEL_EXPORTER_OTLP_LOGS_ENDPOINT",
|
|
370
|
+
"OTEL_EXPORTER_OTLP_LOGS_HEADERS",
|
|
371
|
+
"OTEL_EXPORTER_OTLP_LOGS_PROTOCOL",
|
|
372
|
+
"OTEL_EXPORTER_OTLP_LOGS_TIMEOUT",
|
|
350
373
|
"OTEL_EXPORTER_OTLP_METRICS_ENDPOINT",
|
|
351
374
|
"OTEL_EXPORTER_OTLP_METRICS_HEADERS",
|
|
352
375
|
"OTEL_EXPORTER_OTLP_METRICS_PROTOCOL",
|
|
@@ -354,6 +377,7 @@ module Datadog
|
|
|
354
377
|
"OTEL_EXPORTER_OTLP_METRICS_TIMEOUT",
|
|
355
378
|
"OTEL_EXPORTER_OTLP_PROTOCOL",
|
|
356
379
|
"OTEL_EXPORTER_OTLP_TIMEOUT",
|
|
380
|
+
"OTEL_LOGS_EXPORTER",
|
|
357
381
|
"OTEL_LOG_LEVEL",
|
|
358
382
|
"OTEL_METRICS_EXPORTER",
|
|
359
383
|
"OTEL_METRIC_EXPORT_INTERVAL",
|