datadog 2.7.1 → 2.18.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 +353 -1
- data/ext/datadog_profiling_native_extension/clock_id.h +2 -2
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +78 -102
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.h +1 -1
- data/ext/datadog_profiling_native_extension/collectors_idle_sampling_helper.c +16 -16
- data/ext/datadog_profiling_native_extension/collectors_stack.c +235 -57
- data/ext/datadog_profiling_native_extension/collectors_stack.h +21 -5
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +376 -156
- data/ext/datadog_profiling_native_extension/collectors_thread_context.h +1 -0
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.c +1 -4
- data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +10 -0
- data/ext/datadog_profiling_native_extension/encoded_profile.c +79 -0
- data/ext/datadog_profiling_native_extension/encoded_profile.h +8 -0
- data/ext/datadog_profiling_native_extension/extconf.rb +14 -8
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.c +2 -0
- data/ext/datadog_profiling_native_extension/gvl_profiling_helper.h +0 -8
- data/ext/datadog_profiling_native_extension/heap_recorder.c +295 -532
- data/ext/datadog_profiling_native_extension/heap_recorder.h +6 -8
- data/ext/datadog_profiling_native_extension/http_transport.c +64 -98
- data/ext/datadog_profiling_native_extension/libdatadog_helpers.c +22 -0
- data/ext/datadog_profiling_native_extension/libdatadog_helpers.h +8 -5
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +69 -1
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +16 -4
- data/ext/datadog_profiling_native_extension/profiling.c +19 -8
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +9 -21
- data/ext/datadog_profiling_native_extension/ruby_helpers.h +2 -10
- data/ext/datadog_profiling_native_extension/stack_recorder.c +231 -181
- data/ext/datadog_profiling_native_extension/stack_recorder.h +2 -2
- data/ext/datadog_profiling_native_extension/time_helpers.h +1 -1
- data/ext/datadog_profiling_native_extension/unsafe_api_calls_check.c +47 -0
- data/ext/datadog_profiling_native_extension/unsafe_api_calls_check.h +31 -0
- data/ext/libdatadog_api/crashtracker.c +17 -15
- data/ext/libdatadog_api/crashtracker.h +5 -0
- data/ext/libdatadog_api/datadog_ruby_common.c +1 -4
- data/ext/libdatadog_api/datadog_ruby_common.h +10 -0
- data/ext/libdatadog_api/extconf.rb +2 -2
- data/ext/libdatadog_api/init.c +15 -0
- data/ext/libdatadog_api/library_config.c +164 -0
- data/ext/libdatadog_api/library_config.h +25 -0
- data/ext/libdatadog_api/macos_development.md +3 -3
- data/ext/libdatadog_api/process_discovery.c +112 -0
- data/ext/libdatadog_api/process_discovery.h +5 -0
- data/ext/libdatadog_extconf_helpers.rb +2 -2
- data/lib/datadog/appsec/actions_handler/serializable_backtrace.rb +89 -0
- data/lib/datadog/appsec/actions_handler.rb +49 -0
- data/lib/datadog/appsec/anonymizer.rb +16 -0
- data/lib/datadog/appsec/api_security/lru_cache.rb +56 -0
- data/lib/datadog/appsec/api_security/route_extractor.rb +65 -0
- data/lib/datadog/appsec/api_security/sampler.rb +59 -0
- data/lib/datadog/appsec/api_security.rb +23 -0
- data/lib/datadog/appsec/assets/waf_rules/README.md +50 -5
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +623 -253
- data/lib/datadog/appsec/assets/waf_rules/strict.json +69 -107
- data/lib/datadog/appsec/autoload.rb +1 -1
- data/lib/datadog/appsec/component.rb +49 -65
- data/lib/datadog/appsec/compressed_json.rb +40 -0
- data/lib/datadog/appsec/configuration/settings.rb +212 -27
- data/lib/datadog/appsec/context.rb +74 -0
- data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +92 -0
- data/lib/datadog/appsec/contrib/active_record/integration.rb +41 -0
- data/lib/datadog/appsec/contrib/active_record/patcher.rb +101 -0
- data/lib/datadog/appsec/contrib/auto_instrument.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/configuration.rb +52 -0
- data/lib/datadog/appsec/contrib/devise/data_extractor.rb +78 -0
- data/lib/datadog/appsec/contrib/devise/ext.rb +22 -0
- data/lib/datadog/appsec/contrib/devise/integration.rb +1 -2
- data/lib/datadog/appsec/contrib/devise/patcher.rb +33 -25
- data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +102 -0
- data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +69 -0
- data/lib/datadog/appsec/contrib/devise/{patcher/rememberable_patch.rb → patches/skip_signin_tracking_patch.rb} +3 -3
- data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +106 -0
- data/lib/datadog/appsec/contrib/excon/integration.rb +41 -0
- data/lib/datadog/appsec/contrib/excon/patcher.rb +28 -0
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +42 -0
- data/lib/datadog/appsec/contrib/faraday/connection_patch.rb +22 -0
- data/lib/datadog/appsec/contrib/faraday/integration.rb +42 -0
- data/lib/datadog/appsec/contrib/faraday/patcher.rb +53 -0
- data/lib/datadog/appsec/contrib/faraday/rack_builder_patch.rb +22 -0
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +41 -0
- data/lib/datadog/appsec/contrib/graphql/appsec_trace.rb +1 -7
- data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +17 -30
- data/lib/datadog/appsec/contrib/graphql/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/graphql/patcher.rb +0 -3
- data/lib/datadog/appsec/contrib/rack/ext.rb +34 -0
- data/lib/datadog/appsec/contrib/rack/gateway/response.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +78 -98
- data/lib/datadog/appsec/contrib/rack/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/patcher.rb +0 -3
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +10 -11
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +73 -78
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +16 -33
- data/lib/datadog/appsec/contrib/rails/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/patcher.rb +25 -38
- data/lib/datadog/appsec/contrib/rest_client/integration.rb +45 -0
- data/lib/datadog/appsec/contrib/rest_client/patcher.rb +28 -0
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +38 -0
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +31 -68
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +5 -31
- data/lib/datadog/appsec/event.rb +96 -135
- data/lib/datadog/appsec/ext.rb +12 -3
- data/lib/datadog/appsec/instrumentation/gateway/argument.rb +7 -2
- data/lib/datadog/appsec/instrumentation/gateway/middleware.rb +24 -0
- data/lib/datadog/appsec/instrumentation/gateway.rb +17 -22
- data/lib/datadog/appsec/metrics/collector.rb +38 -0
- data/lib/datadog/appsec/metrics/exporter.rb +35 -0
- data/lib/datadog/appsec/metrics/telemetry.rb +23 -0
- data/lib/datadog/appsec/metrics.rb +13 -0
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +52 -32
- data/lib/datadog/appsec/processor/rule_loader.rb +30 -36
- data/lib/datadog/appsec/remote.rb +31 -57
- data/lib/datadog/appsec/response.rb +19 -85
- data/lib/datadog/appsec/security_engine/engine.rb +194 -0
- data/lib/datadog/appsec/security_engine/result.rb +67 -0
- data/lib/datadog/appsec/security_engine/runner.rb +87 -0
- data/lib/datadog/appsec/security_engine.rb +9 -0
- data/lib/datadog/appsec/security_event.rb +39 -0
- data/lib/datadog/appsec/utils.rb +0 -2
- data/lib/datadog/appsec.rb +22 -12
- data/lib/datadog/auto_instrument.rb +3 -0
- data/lib/datadog/core/buffer/random.rb +18 -2
- data/lib/datadog/core/configuration/agent_settings.rb +52 -0
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +4 -18
- data/lib/datadog/core/configuration/agentless_settings_resolver.rb +176 -0
- data/lib/datadog/core/configuration/components.rb +74 -32
- data/lib/datadog/core/configuration/components_state.rb +23 -0
- data/lib/datadog/core/configuration/ext.rb +5 -1
- data/lib/datadog/core/configuration/option.rb +81 -45
- data/lib/datadog/core/configuration/option_definition.rb +6 -4
- data/lib/datadog/core/configuration/options.rb +3 -3
- data/lib/datadog/core/configuration/settings.rb +121 -50
- data/lib/datadog/core/configuration/stable_config.rb +22 -0
- data/lib/datadog/core/configuration.rb +43 -11
- data/lib/datadog/{tracing → core}/contrib/rails/utils.rb +1 -3
- data/lib/datadog/core/crashtracking/component.rb +4 -13
- data/lib/datadog/core/crashtracking/tag_builder.rb +4 -22
- data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/core/encoding.rb +17 -1
- data/lib/datadog/core/environment/agent_info.rb +78 -0
- data/lib/datadog/core/environment/cgroup.rb +10 -12
- data/lib/datadog/core/environment/container.rb +38 -40
- data/lib/datadog/core/environment/ext.rb +6 -6
- data/lib/datadog/core/environment/git.rb +1 -0
- data/lib/datadog/core/environment/identity.rb +3 -3
- data/lib/datadog/core/environment/platform.rb +3 -3
- data/lib/datadog/core/environment/variable_helpers.rb +1 -1
- data/lib/datadog/core/error.rb +11 -9
- data/lib/datadog/core/logger.rb +2 -2
- data/lib/datadog/core/metrics/client.rb +27 -27
- data/lib/datadog/core/metrics/logging.rb +5 -5
- data/lib/datadog/core/process_discovery/tracer_memfd.rb +15 -0
- data/lib/datadog/core/process_discovery.rb +36 -0
- data/lib/datadog/core/rate_limiter.rb +4 -2
- data/lib/datadog/core/remote/client/capabilities.rb +6 -0
- data/lib/datadog/core/remote/client.rb +107 -92
- data/lib/datadog/core/remote/component.rb +18 -19
- data/lib/datadog/core/remote/configuration/digest.rb +7 -7
- data/lib/datadog/core/remote/configuration/path.rb +1 -1
- data/lib/datadog/core/remote/configuration/repository.rb +14 -1
- data/lib/datadog/core/remote/negotiation.rb +9 -9
- data/lib/datadog/core/remote/transport/config.rb +4 -3
- data/lib/datadog/core/remote/transport/http/api.rb +13 -18
- data/lib/datadog/core/remote/transport/http/client.rb +5 -4
- data/lib/datadog/core/remote/transport/http/config.rb +27 -55
- data/lib/datadog/core/remote/transport/http/negotiation.rb +8 -51
- data/lib/datadog/core/remote/transport/http.rb +25 -94
- data/lib/datadog/core/remote/transport/negotiation.rb +17 -4
- data/lib/datadog/core/remote/worker.rb +10 -7
- data/lib/datadog/core/runtime/metrics.rb +12 -5
- data/lib/datadog/core/tag_builder.rb +56 -0
- data/lib/datadog/core/telemetry/component.rb +84 -49
- data/lib/datadog/core/telemetry/emitter.rb +23 -11
- data/lib/datadog/core/telemetry/event/app_client_configuration_change.rb +66 -0
- data/lib/datadog/core/telemetry/event/app_closing.rb +18 -0
- data/lib/datadog/core/telemetry/event/app_dependencies_loaded.rb +33 -0
- data/lib/datadog/core/telemetry/event/app_heartbeat.rb +18 -0
- data/lib/datadog/core/telemetry/event/app_integrations_change.rb +58 -0
- data/lib/datadog/core/telemetry/event/app_started.rb +269 -0
- data/lib/datadog/core/telemetry/event/base.rb +40 -0
- data/lib/datadog/core/telemetry/event/distributions.rb +18 -0
- data/lib/datadog/core/telemetry/event/generate_metrics.rb +43 -0
- data/lib/datadog/core/telemetry/event/log.rb +76 -0
- data/lib/datadog/core/telemetry/event/message_batch.rb +42 -0
- data/lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb +43 -0
- data/lib/datadog/core/telemetry/event.rb +17 -383
- data/lib/datadog/core/telemetry/ext.rb +1 -0
- data/lib/datadog/core/telemetry/http/adapters/net.rb +12 -97
- data/lib/datadog/core/telemetry/logger.rb +5 -4
- data/lib/datadog/core/telemetry/logging.rb +12 -6
- data/lib/datadog/core/telemetry/metric.rb +28 -6
- data/lib/datadog/core/telemetry/request.rb +4 -4
- data/lib/datadog/core/telemetry/transport/http/api.rb +43 -0
- data/lib/datadog/core/telemetry/transport/http/client.rb +49 -0
- data/lib/datadog/core/telemetry/transport/http/telemetry.rb +92 -0
- data/lib/datadog/core/telemetry/transport/http.rb +63 -0
- data/lib/datadog/core/telemetry/transport/telemetry.rb +51 -0
- data/lib/datadog/core/telemetry/worker.rb +128 -25
- data/lib/datadog/core/transport/http/adapters/net.rb +17 -2
- data/lib/datadog/core/transport/http/adapters/test.rb +2 -1
- data/lib/datadog/core/transport/http/adapters/unix_socket.rb +1 -1
- data/lib/datadog/{tracing → core}/transport/http/api/instance.rb +18 -1
- data/lib/datadog/core/transport/http/api/spec.rb +36 -0
- data/lib/datadog/{tracing → core}/transport/http/builder.rb +53 -31
- data/lib/datadog/core/transport/http/env.rb +8 -0
- data/lib/datadog/core/transport/http.rb +75 -0
- data/lib/datadog/core/transport/response.rb +4 -0
- data/lib/datadog/core/utils/at_fork_monkey_patch.rb +6 -6
- data/lib/datadog/core/utils/duration.rb +32 -32
- data/lib/datadog/core/utils/forking.rb +2 -2
- data/lib/datadog/core/utils/network.rb +6 -6
- data/lib/datadog/core/utils/only_once_successful.rb +16 -5
- data/lib/datadog/core/utils/time.rb +20 -0
- data/lib/datadog/core/utils/truncation.rb +21 -0
- data/lib/datadog/core/utils.rb +7 -0
- data/lib/datadog/core/vendor/multipart-post/multipart/post/composite_read_io.rb +1 -1
- data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +8 -8
- data/lib/datadog/core/vendor/multipart-post/multipart/post/parts.rb +7 -7
- data/lib/datadog/core/worker.rb +1 -1
- data/lib/datadog/core/workers/async.rb +29 -12
- data/lib/datadog/core/workers/interval_loop.rb +12 -1
- data/lib/datadog/core/workers/runtime_metrics.rb +2 -2
- data/lib/datadog/core.rb +8 -0
- data/lib/datadog/di/base.rb +115 -0
- data/lib/datadog/di/boot.rb +34 -0
- data/lib/datadog/di/code_tracker.rb +26 -15
- data/lib/datadog/di/component.rb +23 -14
- data/lib/datadog/di/configuration/settings.rb +25 -1
- data/lib/datadog/di/contrib/active_record.rb +1 -0
- data/lib/datadog/di/contrib/railtie.rb +15 -0
- data/lib/datadog/di/contrib.rb +28 -0
- data/lib/datadog/di/error.rb +5 -0
- data/lib/datadog/di/instrumenter.rb +162 -21
- data/lib/datadog/di/logger.rb +30 -0
- data/lib/datadog/di/preload.rb +18 -0
- data/lib/datadog/di/probe.rb +14 -7
- data/lib/datadog/di/probe_builder.rb +1 -0
- data/lib/datadog/di/probe_manager.rb +11 -5
- data/lib/datadog/di/probe_notification_builder.rb +54 -38
- data/lib/datadog/di/probe_notifier_worker.rb +60 -26
- data/lib/datadog/di/redactor.rb +0 -1
- data/lib/datadog/di/remote.rb +147 -0
- data/lib/datadog/di/serializer.rb +19 -8
- data/lib/datadog/di/transport/diagnostics.rb +62 -0
- data/lib/datadog/di/transport/http/api.rb +42 -0
- data/lib/datadog/di/transport/http/client.rb +47 -0
- data/lib/datadog/di/transport/http/diagnostics.rb +65 -0
- data/lib/datadog/di/transport/http/input.rb +77 -0
- data/lib/datadog/di/transport/http.rb +57 -0
- data/lib/datadog/di/transport/input.rb +70 -0
- data/lib/datadog/di/utils.rb +103 -0
- data/lib/datadog/di.rb +14 -76
- data/lib/datadog/error_tracking/collector.rb +87 -0
- data/lib/datadog/error_tracking/component.rb +167 -0
- data/lib/datadog/error_tracking/configuration/settings.rb +63 -0
- data/lib/datadog/error_tracking/configuration.rb +11 -0
- data/lib/datadog/error_tracking/ext.rb +18 -0
- data/lib/datadog/error_tracking/extensions.rb +16 -0
- data/lib/datadog/error_tracking/filters.rb +77 -0
- data/lib/datadog/error_tracking.rb +18 -0
- data/lib/datadog/kit/appsec/events.rb +15 -3
- data/lib/datadog/kit/identity.rb +9 -5
- data/lib/datadog/opentelemetry/api/baggage.rb +90 -0
- data/lib/datadog/opentelemetry/api/baggage.rbs +26 -0
- data/lib/datadog/opentelemetry/api/context.rb +16 -2
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +1 -1
- data/lib/datadog/opentelemetry.rb +2 -1
- data/lib/datadog/profiling/collectors/code_provenance.rb +18 -9
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +4 -0
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -0
- data/lib/datadog/profiling/collectors/info.rb +3 -0
- data/lib/datadog/profiling/collectors/thread_context.rb +17 -2
- data/lib/datadog/profiling/component.rb +64 -82
- data/lib/datadog/profiling/encoded_profile.rb +11 -0
- data/lib/datadog/profiling/exporter.rb +3 -4
- data/lib/datadog/profiling/ext.rb +0 -14
- data/lib/datadog/profiling/flush.rb +5 -8
- data/lib/datadog/profiling/http_transport.rb +8 -87
- data/lib/datadog/profiling/load_native_extension.rb +1 -33
- data/lib/datadog/profiling/profiler.rb +2 -0
- data/lib/datadog/profiling/scheduler.rb +10 -2
- data/lib/datadog/profiling/stack_recorder.rb +9 -9
- data/lib/datadog/profiling/tag_builder.rb +5 -41
- data/lib/datadog/profiling/tasks/setup.rb +2 -0
- data/lib/datadog/profiling.rb +6 -2
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/component.rb +16 -12
- data/lib/datadog/tracing/configuration/ext.rb +8 -1
- data/lib/datadog/tracing/configuration/settings.rb +22 -10
- data/lib/datadog/tracing/context_provider.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +5 -2
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +6 -2
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +15 -0
- data/lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb +19 -12
- data/lib/datadog/tracing/contrib/action_pack/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/action_pack/integration.rb +5 -2
- data/lib/datadog/tracing/contrib/action_view/integration.rb +5 -2
- data/lib/datadog/tracing/contrib/active_job/integration.rb +5 -2
- data/lib/datadog/tracing/contrib/active_record/integration.rb +7 -3
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +7 -2
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +36 -1
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +4 -0
- data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +14 -4
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +10 -0
- data/lib/datadog/tracing/contrib/active_support/integration.rb +5 -2
- data/lib/datadog/tracing/contrib/auto_instrument.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +10 -0
- data/lib/datadog/tracing/contrib/aws/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/aws/parsed_context.rb +5 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +4 -0
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +6 -1
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +4 -5
- data/lib/datadog/tracing/contrib/excon/middleware.rb +5 -3
- data/lib/datadog/tracing/contrib/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/extensions.rb +29 -3
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +5 -3
- data/lib/datadog/tracing/contrib/graphql/configuration/error_extension_env_parser.rb +21 -0
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +11 -0
- data/lib/datadog/tracing/contrib/graphql/ext.rb +5 -0
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +102 -11
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +7 -1
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +3 -0
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +0 -15
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +4 -1
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +6 -10
- data/lib/datadog/tracing/contrib/http/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +6 -16
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +7 -15
- data/lib/datadog/tracing/contrib/httprb/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/kafka/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/karafka/configuration/settings.rb +27 -0
- data/lib/datadog/tracing/contrib/karafka/distributed/propagation.rb +48 -0
- data/lib/datadog/tracing/contrib/karafka/ext.rb +27 -0
- data/lib/datadog/tracing/contrib/karafka/integration.rb +45 -0
- data/lib/datadog/tracing/contrib/karafka/monitor.rb +66 -0
- data/lib/datadog/tracing/contrib/karafka/patcher.rb +71 -0
- data/lib/datadog/tracing/contrib/karafka.rb +37 -0
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +4 -2
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +8 -0
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +18 -1
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +17 -0
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +9 -0
- data/lib/datadog/tracing/contrib/opensearch/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +5 -1
- data/lib/datadog/tracing/contrib/patcher.rb +5 -2
- data/lib/datadog/tracing/contrib/presto/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +11 -1
- data/lib/datadog/tracing/contrib/rack/integration.rb +2 -2
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/request_queue.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/framework.rb +2 -2
- data/lib/datadog/tracing/contrib/rails/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +3 -0
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +5 -3
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +6 -1
- data/lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb +3 -0
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +5 -2
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +6 -1
- data/lib/datadog/tracing/contrib/support.rb +28 -0
- data/lib/datadog/tracing/contrib.rb +1 -0
- data/lib/datadog/tracing/correlation.rb +9 -2
- data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
- data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
- data/lib/datadog/tracing/distributed/baggage.rb +131 -0
- data/lib/datadog/tracing/distributed/datadog.rb +4 -2
- data/lib/datadog/tracing/distributed/propagation.rb +25 -4
- data/lib/datadog/tracing/distributed/propagation_policy.rb +42 -0
- data/lib/datadog/tracing/metadata/errors.rb +4 -4
- data/lib/datadog/tracing/metadata/ext.rb +5 -0
- data/lib/datadog/tracing/metadata/metastruct.rb +36 -0
- data/lib/datadog/tracing/metadata/metastruct_tagging.rb +42 -0
- data/lib/datadog/tracing/metadata.rb +2 -0
- data/lib/datadog/tracing/sampling/rate_sampler.rb +2 -1
- data/lib/datadog/tracing/sampling/span/rule.rb +0 -1
- data/lib/datadog/tracing/span.rb +22 -5
- data/lib/datadog/tracing/span_event.rb +124 -4
- data/lib/datadog/tracing/span_operation.rb +52 -16
- data/lib/datadog/tracing/sync_writer.rb +10 -6
- data/lib/datadog/tracing/trace_digest.rb +9 -2
- data/lib/datadog/tracing/trace_operation.rb +55 -27
- data/lib/datadog/tracing/trace_segment.rb +6 -4
- data/lib/datadog/tracing/tracer.rb +66 -14
- data/lib/datadog/tracing/transport/http/api.rb +5 -4
- data/lib/datadog/tracing/transport/http/client.rb +5 -4
- data/lib/datadog/tracing/transport/http/traces.rb +13 -44
- data/lib/datadog/tracing/transport/http.rb +13 -70
- data/lib/datadog/tracing/transport/serializable_trace.rb +31 -7
- data/lib/datadog/tracing/transport/trace_formatter.rb +7 -0
- data/lib/datadog/tracing/transport/traces.rb +47 -13
- data/lib/datadog/tracing/utils.rb +1 -1
- data/lib/datadog/tracing/workers/trace_writer.rb +8 -5
- data/lib/datadog/tracing/workers.rb +5 -4
- data/lib/datadog/tracing/writer.rb +10 -6
- data/lib/datadog/tracing.rb +16 -3
- data/lib/datadog/version.rb +2 -2
- data/lib/datadog.rb +2 -0
- metadata +149 -54
- data/ext/datadog_profiling_loader/datadog_profiling_loader.c +0 -142
- data/ext/datadog_profiling_loader/extconf.rb +0 -60
- data/lib/datadog/appsec/assets/waf_rules/processors.json +0 -92
- data/lib/datadog/appsec/assets/waf_rules/scanners.json +0 -114
- data/lib/datadog/appsec/contrib/devise/event.rb +0 -57
- data/lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb +0 -77
- data/lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb +0 -54
- data/lib/datadog/appsec/contrib/devise/resource.rb +0 -35
- data/lib/datadog/appsec/contrib/devise/tracking.rb +0 -57
- data/lib/datadog/appsec/contrib/graphql/reactive/multiplex.rb +0 -46
- data/lib/datadog/appsec/contrib/patcher.rb +0 -12
- data/lib/datadog/appsec/contrib/rack/reactive/request.rb +0 -69
- data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +0 -47
- data/lib/datadog/appsec/contrib/rack/reactive/response.rb +0 -53
- data/lib/datadog/appsec/contrib/rails/reactive/action.rb +0 -53
- data/lib/datadog/appsec/contrib/sinatra/ext.rb +0 -14
- data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +0 -48
- data/lib/datadog/appsec/monitor/reactive/set_user.rb +0 -45
- data/lib/datadog/appsec/processor/actions.rb +0 -49
- data/lib/datadog/appsec/processor/context.rb +0 -107
- data/lib/datadog/appsec/processor/rule_merger.rb +0 -170
- data/lib/datadog/appsec/processor.rb +0 -106
- data/lib/datadog/appsec/reactive/address_hash.rb +0 -22
- data/lib/datadog/appsec/reactive/engine.rb +0 -47
- data/lib/datadog/appsec/reactive/operation.rb +0 -68
- data/lib/datadog/appsec/reactive/subscriber.rb +0 -19
- data/lib/datadog/appsec/scope.rb +0 -58
- data/lib/datadog/appsec/utils/trace_operation.rb +0 -15
- data/lib/datadog/core/crashtracking/agent_base_url.rb +0 -21
- data/lib/datadog/core/remote/transport/http/api/instance.rb +0 -39
- data/lib/datadog/core/remote/transport/http/api/spec.rb +0 -21
- data/lib/datadog/core/remote/transport/http/builder.rb +0 -219
- data/lib/datadog/core/telemetry/http/env.rb +0 -20
- data/lib/datadog/core/telemetry/http/ext.rb +0 -28
- data/lib/datadog/core/telemetry/http/response.rb +0 -70
- data/lib/datadog/core/telemetry/http/transport.rb +0 -90
- data/lib/datadog/di/transport.rb +0 -81
- data/lib/datadog/tracing/transport/http/api/spec.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a05fd61c1cac65f510b1e6d180ce2bc0552d63218f4fb837284ab9e509b071cb
|
4
|
+
data.tar.gz: 29b4e928bb96d57d3fa4820e91ec030ea21973868cfdb906ebce5304c0955f22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9590ee74f91ecf5cf304627790069b6347f63ae050acfc6d79ad29d9155b5e8dde3243a47049eed5c023ad2b1dd6dc78ff4a0813d16d942d83df2db981b5511c
|
7
|
+
data.tar.gz: 22892adf3a7520629a4907738aa31125f00a97cdf263fb2edc85568f86096031de8038e78b6933e3a859d0f52aff3b67955e00109bbdc18a2e7e2d3f66602497
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,239 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [2.18.0] - 2025-07-03
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
* AppSec: Add API Security with new sampling algorithm to the Rack, Rails, Sinatra and Grape frameworks ([#4699][])
|
10
|
+
* Core: Add support for tracer configuration through Fleet Automation ([#4651][])
|
11
|
+
* Tracing: Add Rails view render times and database query times to the spans, when available ([#4697][])
|
12
|
+
* Core: Add Service Discovery capability, enabling the tracer to reliably determine which process are instrumented
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
|
16
|
+
* AppSec: Enable API Security feature by default ([#4756][])
|
17
|
+
* AppSec: Improve overall threat detection ([#4757][])
|
18
|
+
* AppSec: Deprecate `config.appsec.ip_passlist`, `config.appsec.ip_denylist`, and `config.appsec.user_id_denylist` ([#4757][])
|
19
|
+
* Profiling: Graduate Heap Profiling from alpha to preview ([#4401][], [#4460][])
|
20
|
+
* Dynamic Instrumentation: Add instance variable capture to method and line probes ([#4668][])
|
21
|
+
* Profiling: Add capturing of native filenames in backtraces ([#4745][])
|
22
|
+
* Profiling: Clean up profiler logging ([#4728][])
|
23
|
+
Tracing: Add support for `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED` to tag runtime metrics with the current runtime ID, allowing correlation across processes ([#4718][])
|
24
|
+
* Tracing: Improve performance of `http.route` tag computation for Rails ([#4688][])
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
|
28
|
+
* AppSec: Fix authenticated users tracking in anonymization mode for Devise ([#4731][])
|
29
|
+
* Dynamic Instrumentation: Fix source code display in dynamic instrumentation/live debugger ([#4743][])
|
30
|
+
* Profiling: Fix profiler stopping due to bug in heap profiling serialization ([#4721][])
|
31
|
+
|
32
|
+
## [2.17.0] - 2025-06-02
|
33
|
+
|
34
|
+
### Added
|
35
|
+
|
36
|
+
* Tracing: Add support for Rails 8.0. ([#4455][])
|
37
|
+
|
38
|
+
### Changed
|
39
|
+
|
40
|
+
* Core: Improve tracer error reporting when agent responds with error responses to remote configuration requests ([#4669][])
|
41
|
+
* Core: Profiling: Upgrade libdatadog dependency to version 18.1 ([#4577][])
|
42
|
+
* Dynamic Instrumentation: Improve UI reporting of application and host status ([#4678][])
|
43
|
+
* Tracing: Mark AWS integration spans as errored when AWS requests fail ([#4672][])
|
44
|
+
|
45
|
+
### Fixed
|
46
|
+
|
47
|
+
* Error Tracking: remove error tracking support on Ruby 2.6 ([#4665][])
|
48
|
+
* Profiling: Fix profiling scheduler reporting corner case during shutdown ([#4679][])
|
49
|
+
* Tracing: Fix: The `on_error` warning for HTTP instrumentations ([#4673][])
|
50
|
+
|
51
|
+
## [2.16.0] - 2025-05-19
|
52
|
+
|
53
|
+
### Added
|
54
|
+
|
55
|
+
* Core: Add new configuration precedence value `environment` ([#4610][])
|
56
|
+
* Core: Add Source Code Integration (SCI) tags in Telemetry app-started event and in each Remote Config request ([#4653][])
|
57
|
+
* Core: Tracing: ErrorTracking: Add automatic reporting of handled errors ([#4604][])
|
58
|
+
* AppSec: Integrations: Add session tracking and attacker fingerprinting to `devise` and `rails` ([#4644][], [#4625][])
|
59
|
+
* Profiling: Add support for Ruby 3.5.0-preview1 ([#4600][])
|
60
|
+
* Tracing: Add warning when `on_error` handler is not a `Proc` ([#4611][])
|
61
|
+
* Tracing: Integrations: Add option to serialize MongoDB command as JSON ([#4403][])
|
62
|
+
* Tracing: Integrations: Add baggage to `karafka` list of propagation styles ([#4614][])
|
63
|
+
|
64
|
+
### Changed
|
65
|
+
|
66
|
+
* Tracing: Adjust trace sampling formula ([#4616][])
|
67
|
+
* Profiling: Replace `JSON.fast_generate` with `JSON.generate` ([#4602][])
|
68
|
+
|
69
|
+
### Fixed
|
70
|
+
|
71
|
+
* Core: Fix Ruby warnings when providing a custom time provider ([#4613][])
|
72
|
+
* Core: Fix Telemetry configuration in agentless mode to respect the timeout specified for the Agent ([#4590][])
|
73
|
+
* Profiling: Fix profiler compatibility with ruby-head (3.5) ([#4656][])
|
74
|
+
|
75
|
+
### Removed
|
76
|
+
|
77
|
+
* Core: Remove duplicated classes from Telemetry transport ([#4575][])
|
78
|
+
|
79
|
+
## [2.15.0] - 2025-04-17
|
80
|
+
|
81
|
+
### Added
|
82
|
+
|
83
|
+
* AppSec: Add auto-patching for `activerecord` with sql injection detection ([#4581][])
|
84
|
+
* Tracing: Add option for `opensearch` to set resource with relative path ([#4509][])
|
85
|
+
|
86
|
+
### Changed
|
87
|
+
|
88
|
+
* AppSec: Update In-App WAF rules, processors, and scanners ([#4568][])
|
89
|
+
|
90
|
+
### Fixed
|
91
|
+
|
92
|
+
* AppSec: Fix blocked requests not marked correctly when using custom redirect blocking action ([#4580][])
|
93
|
+
* AppSec: Fix UTF-8 unsafe payloads in InApp-WAF causing runtime exceptions ([#4573][])
|
94
|
+
|
95
|
+
## [2.14.0] - 2025-04-04
|
96
|
+
|
97
|
+
### Added
|
98
|
+
|
99
|
+
* Tracing: Add `karafka` instrumentation with 2.3.0 as the minimum supported version. ([#4147][])
|
100
|
+
|
101
|
+
### Fixed
|
102
|
+
|
103
|
+
* Core: Tracing: default logger arguments for compatibility with previous dd-trace-rb versions ([#4558][])
|
104
|
+
* AppSec: Fix `Datadog::Kit::AppSec::Events` SDK methods to correctly handle given string key `usr.login`. ([#4552][])
|
105
|
+
|
106
|
+
## [2.13.0] - 2025-04-02
|
107
|
+
|
108
|
+
### Added
|
109
|
+
|
110
|
+
* Core: Add `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` experimental option to enable runtime ID collection for runtime metrics. ([#4473][])
|
111
|
+
* Tracing: Add support for W3C Baggage API along with automatic extraction and injection, and OpenTelemetry support. ([#4493][], [#4505][])
|
112
|
+
* Tracing: Add `DD_APM_TRACING_ENABLED` option to disable APM tracing while keeping other products traces. ([#4498][])
|
113
|
+
* Tracing: Add `DD_TRACE_NATIVE_SPAN_EVENTS` option to override span events serialization for agent-less environments. ([#4507][])
|
114
|
+
* AppSec: Add stack trace reporting for security events. ([#4526][])
|
115
|
+
* AppSec: Improve `devise` instrumentation to support latest Account Takeover (ATO) detection. ([#4433][])
|
116
|
+
|
117
|
+
### Changed
|
118
|
+
|
119
|
+
* Core: Improve `DD_TAGS` configuration handling to be more consistent across Datadog libraries and Agent. ([#4530][])
|
120
|
+
* Tracing: Enable by default 128-bit trace ID logging so that trace IDs are consistent across logs and the Datadog UI. ([#4528][])
|
121
|
+
|
122
|
+
### Fixed
|
123
|
+
|
124
|
+
* Core: Fix initialization when the library is partially loaded. ([#4498][])
|
125
|
+
* Tracing: Fix trace ID propagation by ensuring extraction of 16-character hex values from the `_dd.p.tid` tag in `x-datadog-tags` header. ([#4534][])
|
126
|
+
* Tracing: Profiling: Fix warnings printed by `ruby -w`. ([#4547][], [#4549][])
|
127
|
+
|
128
|
+
## [2.12.2] - 2025-03-17
|
129
|
+
|
130
|
+
### Fixed
|
131
|
+
|
132
|
+
* AppSec: Fix custom In-App WAF blocking response that was configured in the UI is now applied correctly ([#4497][])
|
133
|
+
|
134
|
+
## [2.12.1] - 2025-03-05
|
135
|
+
|
136
|
+
### Fixed
|
137
|
+
|
138
|
+
* AppSec: Fix `ArgumentError` from ActiveRecord for Ruby < 2.7 ([#4437][])
|
139
|
+
|
140
|
+
## [2.12.0] - 2025-02-27
|
141
|
+
|
142
|
+
### Added
|
143
|
+
|
144
|
+
* AppSec: Add detection of Server-Side Request Forgery attacks for `rest-client` ([#4424][])
|
145
|
+
* Dynamic Instrumentation: Add support for unix domain sockets ([#4426][])
|
146
|
+
|
147
|
+
## [2.11.0] - 2025-02-24
|
148
|
+
|
149
|
+
### Added
|
150
|
+
|
151
|
+
* Tracing: Support `graphql` multiple query errors report via Span Events ([#4177][])
|
152
|
+
* Profiling: Enable GVL profiling by default on Ruby 3.2+ ([#4406][])
|
153
|
+
* Profiling: Support correlating profiling with OTel API 1.5+ ([#4425][])
|
154
|
+
* AppSec: Add detection of Server-Side Request Forgery attacks for `excon` ([#4399][])
|
155
|
+
* AppSec: Add detection of Server-Side Request Forgery attacks for `faraday` ([#4391][])
|
156
|
+
* AppSec: Deprecate `appsec.track_user_events` configuration setting in favor of `appsec.auto_user_instrumentation` ([#4352][])
|
157
|
+
* Dynamic Instrumentation: Add optional trace logging ([#4283][])
|
158
|
+
|
159
|
+
### Changed
|
160
|
+
|
161
|
+
* Increase default timeout for unix domain socket to 30 seconds ([#4411][])
|
162
|
+
* Upgrade `libdatadog` to `16.0.1` ([#4353][])
|
163
|
+
* Dynamic Instrumentation: Improve path matching with prefixes of probe paths ([#4346][])
|
164
|
+
* Dynamic Instrumentation: Improve event reporting with combing status and snapshot events ([#4360][])
|
165
|
+
|
166
|
+
### Fixed
|
167
|
+
|
168
|
+
* Tracing: Fix `rack` to continue trace if only distributed trace is present ([#4398][])
|
169
|
+
* AppSec: Fix a memory leak issue for RASP ([#4422][])
|
170
|
+
* Dynamic Instrumentation: Fix event submission on forked servers ([#4363][])
|
171
|
+
|
172
|
+
### Removed
|
173
|
+
|
174
|
+
* Tracing: Remove peer services by default ([#3846][])
|
175
|
+
|
176
|
+
## [2.10.0] - 2025-02-04
|
177
|
+
|
178
|
+
### Added
|
179
|
+
|
180
|
+
* AppSec: Add configuration option(`Datadog.configuration.appsec.rasp_enabled`) to enable/disable Runtime Application Self-Protection checks ([#4311][])
|
181
|
+
* AppSec: Add stack trace when SQL Injection attack is detected ([#4321][])
|
182
|
+
|
183
|
+
### Changed
|
184
|
+
|
185
|
+
* Add `logger` gem as dependency ([#4257][])
|
186
|
+
* Bump minimum version of `datadog-ruby_core_source` to 3.4 ([#4323][])
|
187
|
+
|
188
|
+
### Fixed
|
189
|
+
|
190
|
+
* Dynamic instrumentation: Fix report probe status when dynamic instrumentation probes fail to instrument ([#4301][])
|
191
|
+
* Dynamic instrumentation: Include variables named `env` in probe snapshots ([#4292][])
|
192
|
+
* Fix a concurrency issue during application boot ([#4303][])
|
193
|
+
|
194
|
+
## [2.9.0] - 2025-01-15
|
195
|
+
|
196
|
+
### Added
|
197
|
+
|
198
|
+
* Core: add support for Ruby 3.4 ([#4249][])
|
199
|
+
* Integrations: add a new option for `ActiveSupport` to disable adding the `cache_key` as a Span Tag with the `cache_key_enabled` option ([#4022][])
|
200
|
+
|
201
|
+
### Changed
|
202
|
+
|
203
|
+
* Dynamic instrumentation: move DI preloading to `datadog/di/preload` ([#4288][])
|
204
|
+
* Dynamic instrumentation: dd-trace-rb now reports whether dynamic instrumentation is enabled in startup summary report ([#4285][])
|
205
|
+
* Dynamic instrumentation: improve loading of DI components ([#4272][], [#4239][])
|
206
|
+
* Dynamic instrumentation: logging of internal conditions is now done on debug level ([#4266][])
|
207
|
+
* Dynamic instrumentation: report instrumentation error for line probes when the target file is loaded but not in code tracker registry ([#4208][])
|
208
|
+
* Profiling: require datadog-ruby_core_source >= 3.3.7 to ensure Ruby 3.4 support ([#4228][])
|
209
|
+
|
210
|
+
### Fixed
|
211
|
+
|
212
|
+
* Core: fix a crash in crashtracker when agent hostname is an IPv6 address ([#4237][])
|
213
|
+
* Profiling: fix allocation profiling + otel tracing causing Ruby crash ([#4240][])
|
214
|
+
* Profiling: fix profiling warnings being really hard to silence ([#4232][])
|
215
|
+
|
216
|
+
## [2.8.0] - 2024-12-10
|
217
|
+
|
218
|
+
### Added
|
219
|
+
|
220
|
+
* DI: Dynamic instrumentation is now available in Ruby as a Preview
|
221
|
+
* AppSec: Add SQL injection detection for ActiveRecord for following adapters: `mysql2`, `postgresql`, and `sqlite3` ([#4167][])
|
222
|
+
* Telemetry: Add environment variable to disable logs ([#4153][])
|
223
|
+
* Integrations: Add configuration option `on_error` to Elasticsearch tracing ([#4066][])
|
224
|
+
|
225
|
+
### Changed
|
226
|
+
|
227
|
+
* Upgrade libdatadog dependency to 14.3.1 ([#4196][])
|
228
|
+
* Profiling: Require Ruby 3.1+ for heap profiling ([#4178][])
|
229
|
+
* AppSec: Update libddwaf to 1.18.0.0.0 ([#4164][])
|
230
|
+
* Single-step: Lower SSI GLIBC requirements down to 2.17 ([#4137][])
|
231
|
+
|
232
|
+
### Fixed
|
233
|
+
|
234
|
+
* Integrations: Avoid loading `ActiveSupport::Cache::RedisCacheStore`, which tries to load `redis >= 4.0.1` regardless of the version of Redis the host application has installed ([#4197][])
|
235
|
+
* Profiling: Fix unsafe initialization when using profiler with otel tracing ([#4195][])
|
236
|
+
* Single-step: Add safe NOOP injection script for very old rubies ([#4140][])
|
237
|
+
|
5
238
|
## [2.7.1] - 2024-11-28
|
6
239
|
|
7
240
|
### Fixed
|
@@ -3035,7 +3268,20 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
3035
3268
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
3036
3269
|
|
3037
3270
|
|
3038
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.
|
3271
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.18.0...master
|
3272
|
+
[2.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.17.0...v2.18.0
|
3273
|
+
[2.17.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.16.0...v2.17.0
|
3274
|
+
[2.16.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.15.0...v2.16.0
|
3275
|
+
[2.15.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.14.0...v2.15.0
|
3276
|
+
[2.14.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.13.0...v2.14.0
|
3277
|
+
[2.13.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.2...v2.13.0
|
3278
|
+
[2.12.2]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.1...v2.12.2
|
3279
|
+
[2.12.1]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.0...v2.12.1
|
3280
|
+
[2.12.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.11.0...v2.12.0
|
3281
|
+
[2.11.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.10.0...v2.11.0
|
3282
|
+
[2.10.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.9.0...v2.10.0
|
3283
|
+
[2.9.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.8.0...v2.9.0
|
3284
|
+
[2.8.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.7.1...v2.8.0
|
3039
3285
|
[2.7.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.6.0...v2.7.0
|
3040
3286
|
[2.6.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.5.0...v2.6.0
|
3041
3287
|
[2.5.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.4.0...v2.5.0
|
@@ -4460,6 +4706,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
4460
4706
|
[#3837]: https://github.com/DataDog/dd-trace-rb/issues/3837
|
4461
4707
|
[#3839]: https://github.com/DataDog/dd-trace-rb/issues/3839
|
4462
4708
|
[#3841]: https://github.com/DataDog/dd-trace-rb/issues/3841
|
4709
|
+
[#3846]: https://github.com/DataDog/dd-trace-rb/issues/3846
|
4463
4710
|
[#3849]: https://github.com/DataDog/dd-trace-rb/issues/3849
|
4464
4711
|
[#3852]: https://github.com/DataDog/dd-trace-rb/issues/3852
|
4465
4712
|
[#3857]: https://github.com/DataDog/dd-trace-rb/issues/3857
|
@@ -4476,16 +4723,121 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
4476
4723
|
[#3997]: https://github.com/DataDog/dd-trace-rb/issues/3997
|
4477
4724
|
[#4014]: https://github.com/DataDog/dd-trace-rb/issues/4014
|
4478
4725
|
[#4020]: https://github.com/DataDog/dd-trace-rb/issues/4020
|
4726
|
+
[#4022]: https://github.com/DataDog/dd-trace-rb/issues/4022
|
4479
4727
|
[#4024]: https://github.com/DataDog/dd-trace-rb/issues/4024
|
4480
4728
|
[#4027]: https://github.com/DataDog/dd-trace-rb/issues/4027
|
4481
4729
|
[#4033]: https://github.com/DataDog/dd-trace-rb/issues/4033
|
4482
4730
|
[#4065]: https://github.com/DataDog/dd-trace-rb/issues/4065
|
4731
|
+
[#4066]: https://github.com/DataDog/dd-trace-rb/issues/4066
|
4483
4732
|
[#4075]: https://github.com/DataDog/dd-trace-rb/issues/4075
|
4484
4733
|
[#4078]: https://github.com/DataDog/dd-trace-rb/issues/4078
|
4485
4734
|
[#4082]: https://github.com/DataDog/dd-trace-rb/issues/4082
|
4486
4735
|
[#4083]: https://github.com/DataDog/dd-trace-rb/issues/4083
|
4487
4736
|
[#4085]: https://github.com/DataDog/dd-trace-rb/issues/4085
|
4737
|
+
[#4137]: https://github.com/DataDog/dd-trace-rb/issues/4137
|
4738
|
+
[#4140]: https://github.com/DataDog/dd-trace-rb/issues/4140
|
4739
|
+
[#4147]: https://github.com/DataDog/dd-trace-rb/issues/4147
|
4740
|
+
[#4153]: https://github.com/DataDog/dd-trace-rb/issues/4153
|
4488
4741
|
[#4161]: https://github.com/DataDog/dd-trace-rb/issues/4161
|
4742
|
+
[#4164]: https://github.com/DataDog/dd-trace-rb/issues/4164
|
4743
|
+
[#4167]: https://github.com/DataDog/dd-trace-rb/issues/4167
|
4744
|
+
[#4177]: https://github.com/DataDog/dd-trace-rb/issues/4177
|
4745
|
+
[#4178]: https://github.com/DataDog/dd-trace-rb/issues/4178
|
4746
|
+
[#4195]: https://github.com/DataDog/dd-trace-rb/issues/4195
|
4747
|
+
[#4196]: https://github.com/DataDog/dd-trace-rb/issues/4196
|
4748
|
+
[#4197]: https://github.com/DataDog/dd-trace-rb/issues/4197
|
4749
|
+
[#4208]: https://github.com/DataDog/dd-trace-rb/issues/4208
|
4750
|
+
[#4228]: https://github.com/DataDog/dd-trace-rb/issues/4228
|
4751
|
+
[#4232]: https://github.com/DataDog/dd-trace-rb/issues/4232
|
4752
|
+
[#4237]: https://github.com/DataDog/dd-trace-rb/issues/4237
|
4753
|
+
[#4239]: https://github.com/DataDog/dd-trace-rb/issues/4239
|
4754
|
+
[#4240]: https://github.com/DataDog/dd-trace-rb/issues/4240
|
4755
|
+
[#4249]: https://github.com/DataDog/dd-trace-rb/issues/4249
|
4756
|
+
[#4257]: https://github.com/DataDog/dd-trace-rb/issues/4257
|
4757
|
+
[#4266]: https://github.com/DataDog/dd-trace-rb/issues/4266
|
4758
|
+
[#4272]: https://github.com/DataDog/dd-trace-rb/issues/4272
|
4759
|
+
[#4283]: https://github.com/DataDog/dd-trace-rb/issues/4283
|
4760
|
+
[#4285]: https://github.com/DataDog/dd-trace-rb/issues/4285
|
4761
|
+
[#4288]: https://github.com/DataDog/dd-trace-rb/issues/4288
|
4762
|
+
[#4292]: https://github.com/DataDog/dd-trace-rb/issues/4292
|
4763
|
+
[#4301]: https://github.com/DataDog/dd-trace-rb/issues/4301
|
4764
|
+
[#4303]: https://github.com/DataDog/dd-trace-rb/issues/4303
|
4765
|
+
[#4311]: https://github.com/DataDog/dd-trace-rb/issues/4311
|
4766
|
+
[#4321]: https://github.com/DataDog/dd-trace-rb/issues/4321
|
4767
|
+
[#4323]: https://github.com/DataDog/dd-trace-rb/issues/4323
|
4768
|
+
[#4346]: https://github.com/DataDog/dd-trace-rb/issues/4346
|
4769
|
+
[#4352]: https://github.com/DataDog/dd-trace-rb/issues/4352
|
4770
|
+
[#4353]: https://github.com/DataDog/dd-trace-rb/issues/4353
|
4771
|
+
[#4360]: https://github.com/DataDog/dd-trace-rb/issues/4360
|
4772
|
+
[#4363]: https://github.com/DataDog/dd-trace-rb/issues/4363
|
4773
|
+
[#4391]: https://github.com/DataDog/dd-trace-rb/issues/4391
|
4774
|
+
[#4398]: https://github.com/DataDog/dd-trace-rb/issues/4398
|
4775
|
+
[#4399]: https://github.com/DataDog/dd-trace-rb/issues/4399
|
4776
|
+
[#4401]: https://github.com/DataDog/dd-trace-rb/issues/4401
|
4777
|
+
[#4403]: https://github.com/DataDog/dd-trace-rb/issues/4403
|
4778
|
+
[#4406]: https://github.com/DataDog/dd-trace-rb/issues/4406
|
4779
|
+
[#4411]: https://github.com/DataDog/dd-trace-rb/issues/4411
|
4780
|
+
[#4422]: https://github.com/DataDog/dd-trace-rb/issues/4422
|
4781
|
+
[#4424]: https://github.com/DataDog/dd-trace-rb/issues/4424
|
4782
|
+
[#4425]: https://github.com/DataDog/dd-trace-rb/issues/4425
|
4783
|
+
[#4426]: https://github.com/DataDog/dd-trace-rb/issues/4426
|
4784
|
+
[#4433]: https://github.com/DataDog/dd-trace-rb/issues/4433
|
4785
|
+
[#4437]: https://github.com/DataDog/dd-trace-rb/issues/4437
|
4786
|
+
[#4455]: https://github.com/DataDog/dd-trace-rb/issues/4455
|
4787
|
+
[#4460]: https://github.com/DataDog/dd-trace-rb/issues/4460
|
4788
|
+
[#4473]: https://github.com/DataDog/dd-trace-rb/issues/4473
|
4789
|
+
[#4493]: https://github.com/DataDog/dd-trace-rb/issues/4493
|
4790
|
+
[#4497]: https://github.com/DataDog/dd-trace-rb/issues/4497
|
4791
|
+
[#4498]: https://github.com/DataDog/dd-trace-rb/issues/4498
|
4792
|
+
[#4505]: https://github.com/DataDog/dd-trace-rb/issues/4505
|
4793
|
+
[#4507]: https://github.com/DataDog/dd-trace-rb/issues/4507
|
4794
|
+
[#4509]: https://github.com/DataDog/dd-trace-rb/issues/4509
|
4795
|
+
[#4526]: https://github.com/DataDog/dd-trace-rb/issues/4526
|
4796
|
+
[#4528]: https://github.com/DataDog/dd-trace-rb/issues/4528
|
4797
|
+
[#4530]: https://github.com/DataDog/dd-trace-rb/issues/4530
|
4798
|
+
[#4534]: https://github.com/DataDog/dd-trace-rb/issues/4534
|
4799
|
+
[#4547]: https://github.com/DataDog/dd-trace-rb/issues/4547
|
4800
|
+
[#4549]: https://github.com/DataDog/dd-trace-rb/issues/4549
|
4801
|
+
[#4552]: https://github.com/DataDog/dd-trace-rb/issues/4552
|
4802
|
+
[#4558]: https://github.com/DataDog/dd-trace-rb/issues/4558
|
4803
|
+
[#4568]: https://github.com/DataDog/dd-trace-rb/issues/4568
|
4804
|
+
[#4573]: https://github.com/DataDog/dd-trace-rb/issues/4573
|
4805
|
+
[#4575]: https://github.com/DataDog/dd-trace-rb/issues/4575
|
4806
|
+
[#4577]: https://github.com/DataDog/dd-trace-rb/issues/4577
|
4807
|
+
[#4580]: https://github.com/DataDog/dd-trace-rb/issues/4580
|
4808
|
+
[#4581]: https://github.com/DataDog/dd-trace-rb/issues/4581
|
4809
|
+
[#4590]: https://github.com/DataDog/dd-trace-rb/issues/4590
|
4810
|
+
[#4600]: https://github.com/DataDog/dd-trace-rb/issues/4600
|
4811
|
+
[#4602]: https://github.com/DataDog/dd-trace-rb/issues/4602
|
4812
|
+
[#4604]: https://github.com/DataDog/dd-trace-rb/issues/4604
|
4813
|
+
[#4610]: https://github.com/DataDog/dd-trace-rb/issues/4610
|
4814
|
+
[#4611]: https://github.com/DataDog/dd-trace-rb/issues/4611
|
4815
|
+
[#4613]: https://github.com/DataDog/dd-trace-rb/issues/4613
|
4816
|
+
[#4614]: https://github.com/DataDog/dd-trace-rb/issues/4614
|
4817
|
+
[#4616]: https://github.com/DataDog/dd-trace-rb/issues/4616
|
4818
|
+
[#4625]: https://github.com/DataDog/dd-trace-rb/issues/4625
|
4819
|
+
[#4644]: https://github.com/DataDog/dd-trace-rb/issues/4644
|
4820
|
+
[#4651]: https://github.com/DataDog/dd-trace-rb/issues/4651
|
4821
|
+
[#4653]: https://github.com/DataDog/dd-trace-rb/issues/4653
|
4822
|
+
[#4656]: https://github.com/DataDog/dd-trace-rb/issues/4656
|
4823
|
+
[#4665]: https://github.com/DataDog/dd-trace-rb/issues/4665
|
4824
|
+
[#4668]: https://github.com/DataDog/dd-trace-rb/issues/4668
|
4825
|
+
[#4669]: https://github.com/DataDog/dd-trace-rb/issues/4669
|
4826
|
+
[#4672]: https://github.com/DataDog/dd-trace-rb/issues/4672
|
4827
|
+
[#4673]: https://github.com/DataDog/dd-trace-rb/issues/4673
|
4828
|
+
[#4678]: https://github.com/DataDog/dd-trace-rb/issues/4678
|
4829
|
+
[#4679]: https://github.com/DataDog/dd-trace-rb/issues/4679
|
4830
|
+
[#4688]: https://github.com/DataDog/dd-trace-rb/issues/4688
|
4831
|
+
[#4697]: https://github.com/DataDog/dd-trace-rb/issues/4697
|
4832
|
+
[#4699]: https://github.com/DataDog/dd-trace-rb/issues/4699
|
4833
|
+
[#4718]: https://github.com/DataDog/dd-trace-rb/issues/4718
|
4834
|
+
[#4721]: https://github.com/DataDog/dd-trace-rb/issues/4721
|
4835
|
+
[#4728]: https://github.com/DataDog/dd-trace-rb/issues/4728
|
4836
|
+
[#4731]: https://github.com/DataDog/dd-trace-rb/issues/4731
|
4837
|
+
[#4743]: https://github.com/DataDog/dd-trace-rb/issues/4743
|
4838
|
+
[#4745]: https://github.com/DataDog/dd-trace-rb/issues/4745
|
4839
|
+
[#4756]: https://github.com/DataDog/dd-trace-rb/issues/4756
|
4840
|
+
[#4757]: https://github.com/DataDog/dd-trace-rb/issues/4757
|
4489
4841
|
[@AdrianLC]: https://github.com/AdrianLC
|
4490
4842
|
[@Azure7111]: https://github.com/Azure7111
|
4491
4843
|
[@BabyGroot]: https://github.com/BabyGroot
|
@@ -5,13 +5,13 @@
|
|
5
5
|
#include <ruby.h>
|
6
6
|
|
7
7
|
// Contains the operating-system specific identifier needed to fetch CPU-time, and a flag to indicate if we failed to fetch it
|
8
|
-
typedef struct
|
8
|
+
typedef struct {
|
9
9
|
bool valid;
|
10
10
|
clockid_t clock_id;
|
11
11
|
} thread_cpu_time_id;
|
12
12
|
|
13
13
|
// Contains the current cpu time, and a flag to indicate if we failed to fetch it
|
14
|
-
typedef struct
|
14
|
+
typedef struct {
|
15
15
|
bool valid;
|
16
16
|
long result_ns;
|
17
17
|
} thread_cpu_time;
|