datadog 2.12.0 → 2.22.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 +348 -1
- data/README.md +0 -1
- data/ext/LIBDATADOG_DEVELOPMENT.md +60 -0
- data/ext/datadog_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +63 -56
- data/ext/datadog_profiling_native_extension/collectors_discrete_dynamic_sampler.c +1 -1
- data/ext/datadog_profiling_native_extension/collectors_stack.c +263 -76
- data/ext/datadog_profiling_native_extension/collectors_stack.h +20 -3
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +78 -26
- 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 +10 -0
- data/ext/datadog_profiling_native_extension/heap_recorder.c +247 -364
- data/ext/datadog_profiling_native_extension/heap_recorder.h +4 -6
- data/ext/datadog_profiling_native_extension/http_transport.c +60 -94
- 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 +41 -21
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +6 -4
- data/ext/datadog_profiling_native_extension/profiling.c +2 -0
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +1 -13
- data/ext/datadog_profiling_native_extension/ruby_helpers.h +3 -11
- data/ext/datadog_profiling_native_extension/stack_recorder.c +173 -76
- data/ext/libdatadog_api/crashtracker.c +11 -12
- 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/ddsketch.c +106 -0
- data/ext/libdatadog_api/extconf.rb +5 -3
- data/ext/libdatadog_api/init.c +18 -0
- data/ext/libdatadog_api/library_config.c +172 -0
- data/ext/libdatadog_api/library_config.h +25 -0
- data/ext/libdatadog_api/process_discovery.c +118 -0
- data/ext/libdatadog_api/process_discovery.h +5 -0
- data/ext/libdatadog_extconf_helpers.rb +15 -5
- data/lib/datadog/appsec/actions_handler/serializable_backtrace.rb +89 -0
- data/lib/datadog/appsec/actions_handler.rb +24 -2
- data/lib/datadog/appsec/anonymizer.rb +16 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb +26 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +59 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb +29 -0
- data/lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb +26 -0
- data/lib/datadog/appsec/api_security/endpoint_collection.rb +10 -0
- data/lib/datadog/appsec/api_security/lru_cache.rb +56 -0
- data/lib/datadog/appsec/api_security/route_extractor.rb +75 -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 +44 -5
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +601 -74
- data/lib/datadog/appsec/assets/waf_rules/strict.json +48 -75
- data/lib/datadog/appsec/autoload.rb +2 -2
- data/lib/datadog/appsec/component.rb +46 -71
- data/lib/datadog/appsec/compressed_json.rb +40 -0
- data/lib/datadog/appsec/configuration/settings.rb +162 -30
- data/lib/datadog/appsec/context.rb +30 -7
- data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +35 -18
- data/lib/datadog/appsec/contrib/active_record/integration.rb +2 -2
- data/lib/datadog/appsec/contrib/active_record/patcher.rb +62 -11
- data/lib/datadog/appsec/contrib/auto_instrument.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/configuration.rb +7 -31
- 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 +34 -23
- data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +103 -0
- data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +70 -0
- data/lib/datadog/appsec/contrib/devise/{patcher/rememberable_patch.rb → patches/skip_signin_tracking_patch.rb} +2 -2
- data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +106 -0
- data/lib/datadog/appsec/contrib/excon/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +11 -12
- data/lib/datadog/appsec/contrib/faraday/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +10 -10
- data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +10 -9
- data/lib/datadog/appsec/contrib/graphql/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/ext.rb +34 -0
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +53 -31
- data/lib/datadog/appsec/contrib/rack/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +52 -44
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +35 -11
- data/lib/datadog/appsec/contrib/rails/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/patcher.rb +65 -47
- data/lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb +27 -0
- data/lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb +33 -0
- data/lib/datadog/appsec/contrib/rest_client/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +12 -12
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +45 -22
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +8 -18
- data/lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb +31 -0
- data/lib/datadog/appsec/event.rb +91 -147
- data/lib/datadog/appsec/ext.rb +4 -2
- data/lib/datadog/appsec/instrumentation/gateway/argument.rb +23 -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 +23 -3
- data/lib/datadog/appsec/metrics/telemetry.rb +2 -2
- data/lib/datadog/appsec/metrics/telemetry_exporter.rb +29 -0
- data/lib/datadog/appsec/metrics.rb +1 -0
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +49 -14
- data/lib/datadog/appsec/processor/rule_loader.rb +30 -33
- data/lib/datadog/appsec/remote.rb +43 -59
- data/lib/datadog/appsec/response.rb +6 -6
- data/lib/datadog/appsec/security_engine/engine.rb +176 -0
- data/lib/datadog/appsec/security_engine/result.rb +44 -9
- data/lib/datadog/appsec/security_engine/runner.rb +44 -21
- data/lib/datadog/appsec/security_event.rb +37 -0
- data/lib/datadog/appsec/thread_safe_ref.rb +61 -0
- data/lib/datadog/appsec/trace_keeper.rb +24 -0
- data/lib/datadog/appsec/utils/hash_coercion.rb +23 -0
- data/lib/datadog/appsec/utils.rb +0 -2
- data/lib/datadog/appsec.rb +5 -15
- data/lib/datadog/auto_instrument_base.rb +2 -1
- 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 +8 -50
- data/lib/datadog/core/configuration/agentless_settings_resolver.rb +176 -0
- data/lib/datadog/core/configuration/components.rb +69 -37
- data/lib/datadog/core/configuration/components_state.rb +23 -0
- data/lib/datadog/core/configuration/config_helper.rb +100 -0
- data/lib/datadog/core/configuration/deprecations.rb +36 -0
- data/lib/datadog/core/configuration/ext.rb +4 -1
- data/lib/datadog/core/configuration/option.rb +117 -77
- data/lib/datadog/core/configuration/option_definition.rb +5 -14
- data/lib/datadog/core/configuration/options.rb +15 -13
- data/lib/datadog/core/configuration/settings.rb +117 -48
- data/lib/datadog/core/configuration/stable_config.rb +32 -0
- data/lib/datadog/core/configuration/supported_configurations.rb +337 -0
- data/lib/datadog/core/configuration.rb +40 -16
- data/lib/datadog/core/crashtracking/component.rb +3 -10
- data/lib/datadog/core/crashtracking/tag_builder.rb +4 -22
- data/lib/datadog/core/ddsketch.rb +21 -0
- data/lib/datadog/core/deprecations.rb +2 -2
- data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/core/encoding.rb +1 -1
- data/lib/datadog/core/environment/agent_info.rb +4 -3
- 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 -8
- data/lib/datadog/core/environment/git.rb +3 -2
- 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 +4 -4
- data/lib/datadog/core/environment/yjit.rb +2 -1
- data/lib/datadog/core/error.rb +11 -9
- data/lib/datadog/core/logger.rb +2 -2
- data/lib/datadog/core/metrics/client.rb +29 -29
- data/lib/datadog/core/metrics/logging.rb +5 -5
- data/lib/datadog/core/pin.rb +4 -8
- data/lib/datadog/core/process_discovery/tracer_memfd.rb +13 -0
- data/lib/datadog/core/process_discovery.rb +61 -0
- data/lib/datadog/core/rate_limiter.rb +4 -2
- data/lib/datadog/core/remote/client.rb +44 -35
- data/lib/datadog/core/remote/component.rb +12 -17
- 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/client.rb +5 -4
- data/lib/datadog/core/remote/transport/http/config.rb +27 -37
- data/lib/datadog/core/remote/transport/http/negotiation.rb +7 -33
- data/lib/datadog/core/remote/transport/http.rb +25 -89
- data/lib/datadog/core/remote/transport/negotiation.rb +4 -3
- data/lib/datadog/core/runtime/ext.rb +0 -1
- 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 +92 -52
- 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_endpoints_loaded.rb +30 -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 +287 -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 +18 -472
- 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 +11 -5
- data/lib/datadog/core/telemetry/metric.rb +8 -8
- 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 +90 -24
- 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/api/instance.rb +17 -0
- data/lib/datadog/core/transport/http/api/spec.rb +17 -0
- data/lib/datadog/core/transport/http/builder.rb +19 -17
- 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 -1
- 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 +25 -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 +10 -0
- data/lib/datadog/di/boot.rb +43 -0
- data/lib/datadog/di/component.rb +21 -2
- data/lib/datadog/di/context.rb +70 -0
- data/lib/datadog/di/el/compiler.rb +164 -0
- data/lib/datadog/di/el/evaluator.rb +159 -0
- data/lib/datadog/di/el/expression.rb +42 -0
- data/lib/datadog/di/el.rb +5 -0
- data/lib/datadog/di/error.rb +25 -0
- data/lib/datadog/di/instrumenter.rb +132 -20
- data/lib/datadog/di/probe.rb +35 -15
- data/lib/datadog/di/probe_builder.rb +39 -1
- data/lib/datadog/di/probe_file_loader/railtie.rb +15 -0
- data/lib/datadog/di/probe_file_loader.rb +82 -0
- data/lib/datadog/di/probe_manager.rb +3 -2
- data/lib/datadog/di/probe_notification_builder.rb +61 -67
- data/lib/datadog/di/probe_notifier_worker.rb +25 -17
- data/lib/datadog/di/remote.rb +5 -5
- data/lib/datadog/di/serializer.rb +160 -8
- data/lib/datadog/di/transport/diagnostics.rb +4 -3
- data/lib/datadog/di/transport/http/api.rb +2 -12
- data/lib/datadog/di/transport/http/client.rb +4 -3
- data/lib/datadog/di/transport/http/diagnostics.rb +7 -34
- data/lib/datadog/di/transport/http/input.rb +18 -35
- data/lib/datadog/di/transport/http.rb +15 -77
- data/lib/datadog/di/transport/input.rb +14 -5
- data/lib/datadog/di/utils.rb +5 -0
- data/lib/datadog/di.rb +0 -34
- 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/v2.rb +196 -0
- data/lib/datadog/kit/appsec/events.rb +17 -4
- data/lib/datadog/kit/identity.rb +22 -12
- 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 +21 -6
- data/lib/datadog/opentelemetry/sdk/configurator.rb +1 -1
- data/lib/datadog/opentelemetry/sdk/propagator.rb +4 -4
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +8 -8
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +15 -11
- data/lib/datadog/opentelemetry/trace.rb +4 -4
- 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 +6 -0
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -0
- data/lib/datadog/profiling/collectors/info.rb +44 -0
- data/lib/datadog/profiling/collectors/thread_context.rb +17 -2
- data/lib/datadog/profiling/component.rb +8 -9
- data/lib/datadog/profiling/encoded_profile.rb +11 -0
- data/lib/datadog/profiling/exporter.rb +12 -7
- data/lib/datadog/profiling/ext.rb +2 -15
- data/lib/datadog/profiling/flush.rb +5 -8
- data/lib/datadog/profiling/http_transport.rb +8 -62
- data/lib/datadog/profiling/profiler.rb +2 -0
- data/lib/datadog/profiling/scheduler.rb +10 -2
- data/lib/datadog/profiling/sequence_tracker.rb +44 -0
- data/lib/datadog/profiling/stack_recorder.rb +9 -9
- data/lib/datadog/profiling/tag_builder.rb +7 -41
- data/lib/datadog/profiling/tasks/exec.rb +2 -2
- data/lib/datadog/profiling/tasks/setup.rb +2 -0
- data/lib/datadog/profiling.rb +13 -10
- data/lib/datadog/single_step_instrument.rb +9 -0
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +7 -7
- data/lib/datadog/tracing/component.rb +21 -29
- data/lib/datadog/tracing/configuration/dynamic.rb +6 -8
- data/lib/datadog/tracing/configuration/ext.rb +8 -4
- data/lib/datadog/tracing/configuration/settings.rb +50 -12
- data/lib/datadog/tracing/context.rb +2 -2
- data/lib/datadog/tracing/context_provider.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +19 -4
- 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 +1 -1
- data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/event.rb +8 -8
- data/lib/datadog/tracing/contrib/active_job/events/discard.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/perform.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +3 -3
- data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +1 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +5 -5
- data/lib/datadog/tracing/contrib/active_record/integration.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/utils.rb +15 -15
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +17 -8
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +33 -0
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +4 -0
- data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +2 -4
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +13 -0
- data/lib/datadog/tracing/contrib/active_support/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +2 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +7 -9
- data/lib/datadog/tracing/contrib/aws/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +12 -2
- data/lib/datadog/tracing/contrib/aws/parsed_context.rb +8 -2
- data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -1
- data/lib/datadog/tracing/contrib/aws/service/base.rb +2 -1
- data/lib/datadog/tracing/contrib/aws/service/dynamodb.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/eventbridge.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/kinesis.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/s3.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/sns.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/sqs.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/states.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/services.rb +7 -7
- data/lib/datadog/tracing/contrib/component.rb +2 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/configurable.rb +6 -6
- data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +4 -4
- data/lib/datadog/tracing/contrib/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/dalli/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/delayed_job/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +51 -53
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +5 -5
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +6 -7
- data/lib/datadog/tracing/contrib/ethon/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/ethon/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/excon/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/middleware.rb +7 -5
- data/lib/datadog/tracing/contrib/ext.rb +4 -3
- data/lib/datadog/tracing/contrib/extensions.rb +9 -9
- data/lib/datadog/tracing/contrib/faraday/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/faraday/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +9 -5
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +8 -8
- data/lib/datadog/tracing/contrib/grape/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +7 -0
- data/lib/datadog/tracing/contrib/graphql/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/graphql/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +84 -48
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +15 -9
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +3 -0
- data/lib/datadog/tracing/contrib/grpc/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/ext.rb +2 -2
- data/lib/datadog/tracing/contrib/hanami/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +9 -11
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +0 -15
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +4 -4
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +4 -1
- data/lib/datadog/tracing/contrib/http/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +11 -15
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +9 -19
- data/lib/datadog/tracing/contrib/httpclient/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/httprb/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +11 -19
- data/lib/datadog/tracing/contrib/httprb/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/event.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/integration.rb +1 -1
- 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/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +4 -2
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +9 -1
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +2 -1
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +23 -6
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +16 -6
- data/lib/datadog/tracing/contrib/mysql2/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +17 -0
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +12 -2
- data/lib/datadog/tracing/contrib/opensearch/integration.rb +1 -2
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +68 -66
- data/lib/datadog/tracing/contrib/opensearch/quantize.rb +5 -5
- data/lib/datadog/tracing/contrib/patcher.rb +12 -11
- data/lib/datadog/tracing/contrib/pg/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/presto/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +1 -1
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
- data/lib/datadog/tracing/contrib/que/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/event.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/header_tagging.rb +32 -32
- data/lib/datadog/tracing/contrib/rack/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +21 -17
- data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/request_queue.rb +4 -3
- data/lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb +7 -1
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/ext.rb +2 -1
- data/lib/datadog/tracing/contrib/rails/integration.rb +2 -2
- 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 +4 -1
- data/lib/datadog/tracing/contrib/rails/runner.rb +62 -40
- data/lib/datadog/tracing/contrib/rake/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/rake/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/redis/integration.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/redis/quantize.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/tags.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +4 -4
- data/lib/datadog/tracing/contrib/registry.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/resque_job.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +8 -6
- data/lib/datadog/tracing/contrib/roda/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/roda/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/database.rb +5 -5
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/integration.rb +1 -1
- 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/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +5 -2
- data/lib/datadog/tracing/contrib/sidekiq/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +38 -40
- data/lib/datadog/tracing/contrib/sneakers/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +1 -1
- data/lib/datadog/tracing/contrib/stripe/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/stripe/request.rb +1 -1
- data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/support.rb +28 -0
- data/lib/datadog/tracing/contrib/trilogy/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/trilogy/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +11 -11
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +6 -6
- data/lib/datadog/tracing/contrib.rb +1 -0
- data/lib/datadog/tracing/correlation.rb +9 -2
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +8 -2
- data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
- data/lib/datadog/tracing/distributed/b3_single.rb +2 -2
- data/lib/datadog/tracing/distributed/baggage.rb +196 -0
- data/lib/datadog/tracing/distributed/datadog.rb +8 -7
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +11 -13
- data/lib/datadog/tracing/distributed/helpers.rb +1 -1
- data/lib/datadog/tracing/distributed/none.rb +4 -2
- data/lib/datadog/tracing/distributed/propagation.rb +28 -4
- data/lib/datadog/tracing/distributed/propagation_policy.rb +42 -0
- data/lib/datadog/tracing/distributed/trace_context.rb +22 -16
- data/lib/datadog/tracing/event.rb +5 -7
- data/lib/datadog/tracing/flush.rb +1 -1
- data/lib/datadog/tracing/metadata/analytics.rb +1 -1
- data/lib/datadog/tracing/metadata/errors.rb +4 -4
- data/lib/datadog/tracing/metadata/ext.rb +13 -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/tagging.rb +4 -4
- data/lib/datadog/tracing/metadata.rb +2 -0
- data/lib/datadog/tracing/pipeline/span_filter.rb +3 -1
- data/lib/datadog/tracing/pipeline/span_processor.rb +3 -1
- data/lib/datadog/tracing/pipeline.rb +1 -1
- data/lib/datadog/tracing/sampling/ext.rb +0 -2
- data/lib/datadog/tracing/sampling/rate_sampler.rb +2 -1
- data/lib/datadog/tracing/sampling/rule_sampler.rb +30 -30
- data/lib/datadog/tracing/sampling/span/rule.rb +0 -1
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +1 -1
- data/lib/datadog/tracing/sampling/span/sampler.rb +0 -7
- data/lib/datadog/tracing/span.rb +11 -2
- data/lib/datadog/tracing/span_event.rb +11 -11
- data/lib/datadog/tracing/span_link.rb +12 -12
- data/lib/datadog/tracing/span_operation.rb +76 -26
- data/lib/datadog/tracing/sync_writer.rb +5 -4
- data/lib/datadog/tracing/trace_digest.rb +29 -24
- data/lib/datadog/tracing/trace_operation.rb +121 -97
- data/lib/datadog/tracing/trace_segment.rb +8 -6
- data/lib/datadog/tracing/tracer.rb +90 -43
- data/lib/datadog/tracing/transport/http/api.rb +2 -10
- data/lib/datadog/tracing/transport/http/client.rb +6 -5
- data/lib/datadog/tracing/transport/http/traces.rb +15 -43
- data/lib/datadog/tracing/transport/http.rb +13 -75
- data/lib/datadog/tracing/transport/io/client.rb +5 -5
- data/lib/datadog/tracing/transport/io/traces.rb +4 -4
- data/lib/datadog/tracing/transport/serializable_trace.rb +3 -1
- data/lib/datadog/tracing/transport/statistics.rb +1 -1
- data/lib/datadog/tracing/transport/trace_formatter.rb +7 -0
- data/lib/datadog/tracing/transport/traces.rb +31 -14
- data/lib/datadog/tracing/utils.rb +1 -1
- data/lib/datadog/tracing/workers/trace_writer.rb +16 -16
- data/lib/datadog/tracing/workers.rb +2 -2
- data/lib/datadog/tracing/writer.rb +4 -4
- data/lib/datadog/tracing.rb +16 -3
- data/lib/datadog/version.rb +1 -1
- data/lib/datadog.rb +8 -2
- metadata +115 -24
- data/ext/libdatadog_api/macos_development.md +0 -26
- 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 -54
- data/lib/datadog/appsec/contrib/devise/patcher/authenticatable_patch.rb +0 -72
- data/lib/datadog/appsec/contrib/devise/patcher/registration_controller_patch.rb +0 -47
- data/lib/datadog/appsec/contrib/devise/resource.rb +0 -35
- data/lib/datadog/appsec/contrib/devise/tracking.rb +0 -57
- data/lib/datadog/appsec/processor/rule_merger.rb +0 -170
- data/lib/datadog/appsec/processor.rb +0 -107
- data/lib/datadog/appsec/utils/trace_operation.rb +0 -15
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 495f03c8c90a6786ec765ac781553fe5197d9511586a41964382b73bb69ccca9
|
|
4
|
+
data.tar.gz: 81c46a4063b395a010ad1a028289b74c2d55bdaa6dff36ce61085d066a9b1a19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2d4ab14bf55177e33f186c762b5156dd8cb8c17471c6277e1e0d1bce444212c98d221e00a2150fb3358203c898bb40fe431e9ebca0ef8fd22feec80758f8e922
|
|
7
|
+
data.tar.gz: 505dd3f5f5a08a18a95aef5cb7ae979c63bee58b22d36b8d77b21b0b5998ef775ec8c437895633355664a5ac0c31a9c2624b73ef08b63fa4154712508411b172
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,233 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.22.0] - 2025-10-15
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
* Tracing: Add GraphQL error tracking with OpenTelemetry semantics ([#4864][])
|
|
10
|
+
* AppSec: API Security: Add endpoint collection for Rails ([#4919][])
|
|
11
|
+
* AppSec: Updated WAF rules to add support for JWT analysis ([#4907][])
|
|
12
|
+
* AppSec: Enable Remote Configuration capabilities for fingerprinting, trace tagging and user auto-instrumentation ([#4965][])
|
|
13
|
+
* Dynamic Instrumentation: Support `[@duration][]`, `[@return][]` and `[@exception][]` in message templates ([#4914][])
|
|
14
|
+
* Dynamic Instrumentation: Report evaluation errors to the UI ([#4913][])
|
|
15
|
+
* Dynamic Instrumentation: Support conditions for method probes ([#4909][])
|
|
16
|
+
* Dynamic Instrumentation: Capture exceptions raised by instrumented methods in method probes ([#4906][])
|
|
17
|
+
* Dynamic Instrumentation: Add support for probe conditions for line probes ([#4861][])
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
* Core: Upgrade `libdatadog` dependency to 22.0.1 ([#4902][])
|
|
22
|
+
* Tracing: Add `Forwarded` header to the list of headers used for remote IP detection. ([#4969][])
|
|
23
|
+
* AppSec: Update `libbddwaf` to version 1.25.1.0.1 ([#4894][])
|
|
24
|
+
* AppSec: WAF rules can control whether traces are kept or sampled ([#4918][])
|
|
25
|
+
* Dynamic Instrumentation: Evaluate message templates when logging instrumented code ([#4908][])
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
* Core: Improve locking code for remote configuration worker ([#4957][])
|
|
30
|
+
* Dynamic Instrumentation: Emit a single log event for line probes on exception-raising lines ([#4900][])
|
|
31
|
+
|
|
32
|
+
## [2.21.0] - 2025-09-17
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
* Tracing: Generate metrics for GraphQL operation execution ([#4862][])
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
|
|
40
|
+
* Tracing: The `graphql.execute` span resource now includes the operation type ([#4862][])
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
* Tracing: Fix Service Discovery capabilities on forked processes ([#4877][])
|
|
45
|
+
* Tracing: Fix an unclosed trace issue when the Rack application has proxy spans and raises an exception. This caused traces that encompassed multiple requests ([#4779][])
|
|
46
|
+
* AppSec: Fix API Security route extraction for Rails ([#4887][])
|
|
47
|
+
* AppSec: Fix a bug with non-string Hash keys conversion ([#4893][])
|
|
48
|
+
* Dynamic Instrumentation: Fix incorrect template expression evaluation in some cases ([#4884][])
|
|
49
|
+
|
|
50
|
+
## [2.20.0] - 2025-09-04
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
|
|
54
|
+
* Tracing: Add capability to add [W3C Baggage](https://www.w3.org/TR/baggage/#example) headers to the local root span as span tags ([#4716][])
|
|
55
|
+
* AppSec: Add WAF analysis of the responses with JSON body ([#4848][])
|
|
56
|
+
* Dynamic Instrumentation: Live Debugger: Add support for specifying probes in a file via `DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE` environment variable ([#4838][])
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
|
|
60
|
+
* Core: Expand generated warning and error messages during `libdatadog` build ([#4831][])
|
|
61
|
+
* AppSec: Rework handling of Remote Config updates for multi-threaded web servers ([#4833][])
|
|
62
|
+
* AppSec: Update security tags for Business Logic Events and User Events SDK v1 and v2 ([#4851][])
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
* Tracing: Fix constants resolution for Rails runner ([#4863][])
|
|
67
|
+
|
|
68
|
+
## [2.19.0] - 2025-07-24
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
* AppSec: Added Business Logic Events SDK v2. ([#4802][])
|
|
73
|
+
* Tracing: Add `record_exception` API to capture and attach error information to spans via span events. ([#4771][])
|
|
74
|
+
* Tracing: Add `:cache_store` option to ActiveSupport integration to allow tracing only specified cache backends. ([#4693][])
|
|
75
|
+
* SSI: Rework SSI from the ground up. ([#4366][])
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
|
|
79
|
+
* Profiling: Switch profiler stack truncation strategy and improve sampling performance ([#4819][])
|
|
80
|
+
* Profiling: Report GC tuning environment variables with profiles ([#4813][])
|
|
81
|
+
* Profiling: Tag profiles with sequence number ([#4794][])
|
|
82
|
+
* Profiling: Enable sample from inside signal handler by default on modern Rubies ([#4786][], [#4785][])
|
|
83
|
+
|
|
84
|
+
### Fixed
|
|
85
|
+
|
|
86
|
+
* Core: Fix emitting duplicate warnings on agent configuration mismatch ([#4814][])
|
|
87
|
+
* Appsec: Fix an error in AppSec route extractor for not-found routes in Rails 8 ([#4793][])
|
|
88
|
+
* Profiling: Add workaround for Ruby VM bug ([#4787][])
|
|
89
|
+
* Profiling: Fix checking for dladdr in profiling ([#4783][])
|
|
90
|
+
* Profiling: Fix potential profiler compilation issue. ([#4783][])
|
|
91
|
+
* Tracing: The mysql integration now only sets the `db.name` tag if there is a valid value ([#4776][])
|
|
92
|
+
* Tracing: The Rails Runner instrumentation should now create Rails Runner spans. ([#4681][])
|
|
93
|
+
* Tracing: Fix sampling rules and sample rate reporting in environment logger. ([#4772][])
|
|
94
|
+
|
|
95
|
+
### Removed
|
|
96
|
+
|
|
97
|
+
## [2.18.0] - 2025-07-03
|
|
98
|
+
|
|
99
|
+
### Added
|
|
100
|
+
|
|
101
|
+
* AppSec: Add API Security with new sampling algorithm to the Rack, Rails, Sinatra and Grape frameworks ([#4699][])
|
|
102
|
+
* Core: Add support for tracer configuration through Fleet Automation ([#4651][])
|
|
103
|
+
* Tracing: Add Rails view render times and database query times to the spans, when available ([#4697][])
|
|
104
|
+
* Core: Add Service Discovery capability, enabling the tracer to reliably determine which process are instrumented
|
|
105
|
+
|
|
106
|
+
### Changed
|
|
107
|
+
|
|
108
|
+
* AppSec: Enable API Security feature by default ([#4756][])
|
|
109
|
+
* AppSec: Improve overall threat detection ([#4757][])
|
|
110
|
+
* AppSec: Deprecate `config.appsec.ip_passlist`, `config.appsec.ip_denylist`, and `config.appsec.user_id_denylist` ([#4757][])
|
|
111
|
+
* Profiling: Graduate Heap Profiling from alpha to preview ([#4401][], [#4460][])
|
|
112
|
+
* Dynamic Instrumentation: Add instance variable capture to method and line probes ([#4668][])
|
|
113
|
+
* Profiling: Add capturing of native filenames in backtraces ([#4745][])
|
|
114
|
+
* Profiling: Clean up profiler logging ([#4728][])
|
|
115
|
+
Tracing: Add support for `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED` to tag runtime metrics with the current runtime ID, allowing correlation across processes ([#4718][])
|
|
116
|
+
* Tracing: Improve performance of `http.route` tag computation for Rails ([#4688][])
|
|
117
|
+
|
|
118
|
+
### Fixed
|
|
119
|
+
|
|
120
|
+
* AppSec: Fix authenticated users tracking in anonymization mode for Devise ([#4731][])
|
|
121
|
+
* Dynamic Instrumentation: Fix source code display in dynamic instrumentation/live debugger ([#4743][])
|
|
122
|
+
* Profiling: Fix profiler stopping due to bug in heap profiling serialization ([#4721][])
|
|
123
|
+
|
|
124
|
+
## [2.17.0] - 2025-06-02
|
|
125
|
+
|
|
126
|
+
### Added
|
|
127
|
+
|
|
128
|
+
* Tracing: Add support for Rails 8.0. ([#4455][])
|
|
129
|
+
|
|
130
|
+
### Changed
|
|
131
|
+
|
|
132
|
+
* Core: Improve tracer error reporting when agent responds with error responses to remote configuration requests ([#4669][])
|
|
133
|
+
* Core: Profiling: Upgrade libdatadog dependency to version 18.1 ([#4577][])
|
|
134
|
+
* Dynamic Instrumentation: Improve UI reporting of application and host status ([#4678][])
|
|
135
|
+
* Tracing: Mark AWS integration spans as errored when AWS requests fail ([#4672][])
|
|
136
|
+
|
|
137
|
+
### Fixed
|
|
138
|
+
|
|
139
|
+
* Error Tracking: remove error tracking support on Ruby 2.6 ([#4665][])
|
|
140
|
+
* Profiling: Fix profiling scheduler reporting corner case during shutdown ([#4679][])
|
|
141
|
+
* Tracing: Fix: The `on_error` warning for HTTP instrumentations ([#4673][])
|
|
142
|
+
|
|
143
|
+
## [2.16.0] - 2025-05-19
|
|
144
|
+
|
|
145
|
+
### Added
|
|
146
|
+
|
|
147
|
+
* Core: Add new configuration precedence value `environment` ([#4610][])
|
|
148
|
+
* Core: Add Source Code Integration (SCI) tags in Telemetry app-started event and in each Remote Config request ([#4653][])
|
|
149
|
+
* Core: Tracing: ErrorTracking: Add automatic reporting of handled errors ([#4604][])
|
|
150
|
+
* AppSec: Integrations: Add session tracking and attacker fingerprinting to `devise` and `rails` ([#4644][], [#4625][])
|
|
151
|
+
* Profiling: Add support for Ruby 3.5.0-preview1 ([#4600][])
|
|
152
|
+
* Tracing: Add warning when `on_error` handler is not a `Proc` ([#4611][])
|
|
153
|
+
* Tracing: Integrations: Add option to serialize MongoDB command as JSON ([#4403][])
|
|
154
|
+
* Tracing: Integrations: Add baggage to `karafka` list of propagation styles ([#4614][])
|
|
155
|
+
|
|
156
|
+
### Changed
|
|
157
|
+
|
|
158
|
+
* Tracing: Adjust trace sampling formula ([#4616][])
|
|
159
|
+
* Profiling: Replace `JSON.fast_generate` with `JSON.generate` ([#4602][])
|
|
160
|
+
|
|
161
|
+
### Fixed
|
|
162
|
+
|
|
163
|
+
* Core: Fix Ruby warnings when providing a custom time provider ([#4613][])
|
|
164
|
+
* Core: Fix Telemetry configuration in agentless mode to respect the timeout specified for the Agent ([#4590][])
|
|
165
|
+
* Profiling: Fix profiler compatibility with ruby-head (3.5) ([#4656][])
|
|
166
|
+
|
|
167
|
+
### Removed
|
|
168
|
+
|
|
169
|
+
* Core: Remove duplicated classes from Telemetry transport ([#4575][])
|
|
170
|
+
|
|
171
|
+
## [2.15.0] - 2025-04-17
|
|
172
|
+
|
|
173
|
+
### Added
|
|
174
|
+
|
|
175
|
+
* AppSec: Add auto-patching for `activerecord` with sql injection detection ([#4581][])
|
|
176
|
+
* Tracing: Add option for `opensearch` to set resource with relative path ([#4509][])
|
|
177
|
+
|
|
178
|
+
### Changed
|
|
179
|
+
|
|
180
|
+
* AppSec: Update In-App WAF rules, processors, and scanners ([#4568][])
|
|
181
|
+
|
|
182
|
+
### Fixed
|
|
183
|
+
|
|
184
|
+
* AppSec: Fix blocked requests not marked correctly when using custom redirect blocking action ([#4580][])
|
|
185
|
+
* AppSec: Fix UTF-8 unsafe payloads in InApp-WAF causing runtime exceptions ([#4573][])
|
|
186
|
+
|
|
187
|
+
## [2.14.0] - 2025-04-04
|
|
188
|
+
|
|
189
|
+
### Added
|
|
190
|
+
|
|
191
|
+
* Tracing: Add `karafka` instrumentation with 2.3.0 as the minimum supported version. ([#4147][])
|
|
192
|
+
|
|
193
|
+
### Fixed
|
|
194
|
+
|
|
195
|
+
* Core: Tracing: default logger arguments for compatibility with previous dd-trace-rb versions ([#4558][])
|
|
196
|
+
* AppSec: Fix `Datadog::Kit::AppSec::Events` SDK methods to correctly handle given string key `usr.login`. ([#4552][])
|
|
197
|
+
|
|
198
|
+
## [2.13.0] - 2025-04-02
|
|
199
|
+
|
|
200
|
+
### Added
|
|
201
|
+
|
|
202
|
+
* Core: Add `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` experimental option to enable runtime ID collection for runtime metrics. ([#4473][])
|
|
203
|
+
* Tracing: Add support for W3C Baggage API along with automatic extraction and injection, and OpenTelemetry support. ([#4493][], [#4505][])
|
|
204
|
+
* Tracing: Add `DD_APM_TRACING_ENABLED` option to disable APM tracing while keeping other products traces. ([#4498][])
|
|
205
|
+
* Tracing: Add `DD_TRACE_NATIVE_SPAN_EVENTS` option to override span events serialization for agent-less environments. ([#4507][])
|
|
206
|
+
* AppSec: Add stack trace reporting for security events. ([#4526][])
|
|
207
|
+
* AppSec: Improve `devise` instrumentation to support latest Account Takeover (ATO) detection. ([#4433][])
|
|
208
|
+
|
|
209
|
+
### Changed
|
|
210
|
+
|
|
211
|
+
* Core: Improve `DD_TAGS` configuration handling to be more consistent across Datadog libraries and Agent. ([#4530][])
|
|
212
|
+
* Tracing: Enable by default 128-bit trace ID logging so that trace IDs are consistent across logs and the Datadog UI. ([#4528][])
|
|
213
|
+
|
|
214
|
+
### Fixed
|
|
215
|
+
|
|
216
|
+
* Core: Fix initialization when the library is partially loaded. ([#4498][])
|
|
217
|
+
* 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][])
|
|
218
|
+
* Tracing: Profiling: Fix warnings printed by `ruby -w`. ([#4547][], [#4549][])
|
|
219
|
+
|
|
220
|
+
## [2.12.2] - 2025-03-17
|
|
221
|
+
|
|
222
|
+
### Fixed
|
|
223
|
+
|
|
224
|
+
* AppSec: Fix custom In-App WAF blocking response that was configured in the UI is now applied correctly ([#4497][])
|
|
225
|
+
|
|
226
|
+
## [2.12.1] - 2025-03-05
|
|
227
|
+
|
|
228
|
+
### Fixed
|
|
229
|
+
|
|
230
|
+
* AppSec: Fix `ArgumentError` from ActiveRecord for Ruby < 2.7 ([#4437][])
|
|
231
|
+
|
|
5
232
|
## [2.12.0] - 2025-02-27
|
|
6
233
|
|
|
7
234
|
### Added
|
|
@@ -3133,7 +3360,19 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
|
3133
3360
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
3134
3361
|
|
|
3135
3362
|
|
|
3136
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.
|
|
3363
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.22.0...master
|
|
3364
|
+
[2.22.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.21.0...v2.22.0
|
|
3365
|
+
[2.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.20.0...v2.21.0
|
|
3366
|
+
[2.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.19.0...v2.20.0
|
|
3367
|
+
[2.19.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.18.0...v2.19.0
|
|
3368
|
+
[2.18.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.17.0...v2.18.0
|
|
3369
|
+
[2.17.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.16.0...v2.17.0
|
|
3370
|
+
[2.16.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.15.0...v2.16.0
|
|
3371
|
+
[2.15.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.14.0...v2.15.0
|
|
3372
|
+
[2.14.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.13.0...v2.14.0
|
|
3373
|
+
[2.13.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.2...v2.13.0
|
|
3374
|
+
[2.12.2]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.1...v2.12.2
|
|
3375
|
+
[2.12.1]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.0...v2.12.1
|
|
3137
3376
|
[2.12.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.11.0...v2.12.0
|
|
3138
3377
|
[2.11.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.10.0...v2.11.0
|
|
3139
3378
|
[2.10.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.9.0...v2.10.0
|
|
@@ -4593,6 +4832,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4593
4832
|
[#4085]: https://github.com/DataDog/dd-trace-rb/issues/4085
|
|
4594
4833
|
[#4137]: https://github.com/DataDog/dd-trace-rb/issues/4137
|
|
4595
4834
|
[#4140]: https://github.com/DataDog/dd-trace-rb/issues/4140
|
|
4835
|
+
[#4147]: https://github.com/DataDog/dd-trace-rb/issues/4147
|
|
4596
4836
|
[#4153]: https://github.com/DataDog/dd-trace-rb/issues/4153
|
|
4597
4837
|
[#4161]: https://github.com/DataDog/dd-trace-rb/issues/4161
|
|
4598
4838
|
[#4164]: https://github.com/DataDog/dd-trace-rb/issues/4164
|
|
@@ -4626,15 +4866,119 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4626
4866
|
[#4353]: https://github.com/DataDog/dd-trace-rb/issues/4353
|
|
4627
4867
|
[#4360]: https://github.com/DataDog/dd-trace-rb/issues/4360
|
|
4628
4868
|
[#4363]: https://github.com/DataDog/dd-trace-rb/issues/4363
|
|
4869
|
+
[#4366]: https://github.com/DataDog/dd-trace-rb/issues/4366
|
|
4629
4870
|
[#4391]: https://github.com/DataDog/dd-trace-rb/issues/4391
|
|
4630
4871
|
[#4398]: https://github.com/DataDog/dd-trace-rb/issues/4398
|
|
4631
4872
|
[#4399]: https://github.com/DataDog/dd-trace-rb/issues/4399
|
|
4873
|
+
[#4401]: https://github.com/DataDog/dd-trace-rb/issues/4401
|
|
4874
|
+
[#4403]: https://github.com/DataDog/dd-trace-rb/issues/4403
|
|
4632
4875
|
[#4406]: https://github.com/DataDog/dd-trace-rb/issues/4406
|
|
4633
4876
|
[#4411]: https://github.com/DataDog/dd-trace-rb/issues/4411
|
|
4634
4877
|
[#4422]: https://github.com/DataDog/dd-trace-rb/issues/4422
|
|
4635
4878
|
[#4424]: https://github.com/DataDog/dd-trace-rb/issues/4424
|
|
4636
4879
|
[#4425]: https://github.com/DataDog/dd-trace-rb/issues/4425
|
|
4637
4880
|
[#4426]: https://github.com/DataDog/dd-trace-rb/issues/4426
|
|
4881
|
+
[#4433]: https://github.com/DataDog/dd-trace-rb/issues/4433
|
|
4882
|
+
[#4437]: https://github.com/DataDog/dd-trace-rb/issues/4437
|
|
4883
|
+
[#4455]: https://github.com/DataDog/dd-trace-rb/issues/4455
|
|
4884
|
+
[#4460]: https://github.com/DataDog/dd-trace-rb/issues/4460
|
|
4885
|
+
[#4473]: https://github.com/DataDog/dd-trace-rb/issues/4473
|
|
4886
|
+
[#4493]: https://github.com/DataDog/dd-trace-rb/issues/4493
|
|
4887
|
+
[#4497]: https://github.com/DataDog/dd-trace-rb/issues/4497
|
|
4888
|
+
[#4498]: https://github.com/DataDog/dd-trace-rb/issues/4498
|
|
4889
|
+
[#4505]: https://github.com/DataDog/dd-trace-rb/issues/4505
|
|
4890
|
+
[#4507]: https://github.com/DataDog/dd-trace-rb/issues/4507
|
|
4891
|
+
[#4509]: https://github.com/DataDog/dd-trace-rb/issues/4509
|
|
4892
|
+
[#4526]: https://github.com/DataDog/dd-trace-rb/issues/4526
|
|
4893
|
+
[#4528]: https://github.com/DataDog/dd-trace-rb/issues/4528
|
|
4894
|
+
[#4530]: https://github.com/DataDog/dd-trace-rb/issues/4530
|
|
4895
|
+
[#4534]: https://github.com/DataDog/dd-trace-rb/issues/4534
|
|
4896
|
+
[#4547]: https://github.com/DataDog/dd-trace-rb/issues/4547
|
|
4897
|
+
[#4549]: https://github.com/DataDog/dd-trace-rb/issues/4549
|
|
4898
|
+
[#4552]: https://github.com/DataDog/dd-trace-rb/issues/4552
|
|
4899
|
+
[#4558]: https://github.com/DataDog/dd-trace-rb/issues/4558
|
|
4900
|
+
[#4568]: https://github.com/DataDog/dd-trace-rb/issues/4568
|
|
4901
|
+
[#4573]: https://github.com/DataDog/dd-trace-rb/issues/4573
|
|
4902
|
+
[#4575]: https://github.com/DataDog/dd-trace-rb/issues/4575
|
|
4903
|
+
[#4577]: https://github.com/DataDog/dd-trace-rb/issues/4577
|
|
4904
|
+
[#4580]: https://github.com/DataDog/dd-trace-rb/issues/4580
|
|
4905
|
+
[#4581]: https://github.com/DataDog/dd-trace-rb/issues/4581
|
|
4906
|
+
[#4590]: https://github.com/DataDog/dd-trace-rb/issues/4590
|
|
4907
|
+
[#4600]: https://github.com/DataDog/dd-trace-rb/issues/4600
|
|
4908
|
+
[#4602]: https://github.com/DataDog/dd-trace-rb/issues/4602
|
|
4909
|
+
[#4604]: https://github.com/DataDog/dd-trace-rb/issues/4604
|
|
4910
|
+
[#4610]: https://github.com/DataDog/dd-trace-rb/issues/4610
|
|
4911
|
+
[#4611]: https://github.com/DataDog/dd-trace-rb/issues/4611
|
|
4912
|
+
[#4613]: https://github.com/DataDog/dd-trace-rb/issues/4613
|
|
4913
|
+
[#4614]: https://github.com/DataDog/dd-trace-rb/issues/4614
|
|
4914
|
+
[#4616]: https://github.com/DataDog/dd-trace-rb/issues/4616
|
|
4915
|
+
[#4625]: https://github.com/DataDog/dd-trace-rb/issues/4625
|
|
4916
|
+
[#4644]: https://github.com/DataDog/dd-trace-rb/issues/4644
|
|
4917
|
+
[#4651]: https://github.com/DataDog/dd-trace-rb/issues/4651
|
|
4918
|
+
[#4653]: https://github.com/DataDog/dd-trace-rb/issues/4653
|
|
4919
|
+
[#4656]: https://github.com/DataDog/dd-trace-rb/issues/4656
|
|
4920
|
+
[#4665]: https://github.com/DataDog/dd-trace-rb/issues/4665
|
|
4921
|
+
[#4668]: https://github.com/DataDog/dd-trace-rb/issues/4668
|
|
4922
|
+
[#4669]: https://github.com/DataDog/dd-trace-rb/issues/4669
|
|
4923
|
+
[#4672]: https://github.com/DataDog/dd-trace-rb/issues/4672
|
|
4924
|
+
[#4673]: https://github.com/DataDog/dd-trace-rb/issues/4673
|
|
4925
|
+
[#4678]: https://github.com/DataDog/dd-trace-rb/issues/4678
|
|
4926
|
+
[#4679]: https://github.com/DataDog/dd-trace-rb/issues/4679
|
|
4927
|
+
[#4681]: https://github.com/DataDog/dd-trace-rb/issues/4681
|
|
4928
|
+
[#4688]: https://github.com/DataDog/dd-trace-rb/issues/4688
|
|
4929
|
+
[#4693]: https://github.com/DataDog/dd-trace-rb/issues/4693
|
|
4930
|
+
[#4697]: https://github.com/DataDog/dd-trace-rb/issues/4697
|
|
4931
|
+
[#4699]: https://github.com/DataDog/dd-trace-rb/issues/4699
|
|
4932
|
+
[#4716]: https://github.com/DataDog/dd-trace-rb/issues/4716
|
|
4933
|
+
[#4718]: https://github.com/DataDog/dd-trace-rb/issues/4718
|
|
4934
|
+
[#4721]: https://github.com/DataDog/dd-trace-rb/issues/4721
|
|
4935
|
+
[#4728]: https://github.com/DataDog/dd-trace-rb/issues/4728
|
|
4936
|
+
[#4731]: https://github.com/DataDog/dd-trace-rb/issues/4731
|
|
4937
|
+
[#4743]: https://github.com/DataDog/dd-trace-rb/issues/4743
|
|
4938
|
+
[#4745]: https://github.com/DataDog/dd-trace-rb/issues/4745
|
|
4939
|
+
[#4756]: https://github.com/DataDog/dd-trace-rb/issues/4756
|
|
4940
|
+
[#4757]: https://github.com/DataDog/dd-trace-rb/issues/4757
|
|
4941
|
+
[#4771]: https://github.com/DataDog/dd-trace-rb/issues/4771
|
|
4942
|
+
[#4772]: https://github.com/DataDog/dd-trace-rb/issues/4772
|
|
4943
|
+
[#4776]: https://github.com/DataDog/dd-trace-rb/issues/4776
|
|
4944
|
+
[#4779]: https://github.com/DataDog/dd-trace-rb/issues/4779
|
|
4945
|
+
[#4783]: https://github.com/DataDog/dd-trace-rb/issues/4783
|
|
4946
|
+
[#4785]: https://github.com/DataDog/dd-trace-rb/issues/4785
|
|
4947
|
+
[#4786]: https://github.com/DataDog/dd-trace-rb/issues/4786
|
|
4948
|
+
[#4787]: https://github.com/DataDog/dd-trace-rb/issues/4787
|
|
4949
|
+
[#4793]: https://github.com/DataDog/dd-trace-rb/issues/4793
|
|
4950
|
+
[#4794]: https://github.com/DataDog/dd-trace-rb/issues/4794
|
|
4951
|
+
[#4802]: https://github.com/DataDog/dd-trace-rb/issues/4802
|
|
4952
|
+
[#4813]: https://github.com/DataDog/dd-trace-rb/issues/4813
|
|
4953
|
+
[#4814]: https://github.com/DataDog/dd-trace-rb/issues/4814
|
|
4954
|
+
[#4819]: https://github.com/DataDog/dd-trace-rb/issues/4819
|
|
4955
|
+
[#4831]: https://github.com/DataDog/dd-trace-rb/issues/4831
|
|
4956
|
+
[#4833]: https://github.com/DataDog/dd-trace-rb/issues/4833
|
|
4957
|
+
[#4838]: https://github.com/DataDog/dd-trace-rb/issues/4838
|
|
4958
|
+
[#4848]: https://github.com/DataDog/dd-trace-rb/issues/4848
|
|
4959
|
+
[#4851]: https://github.com/DataDog/dd-trace-rb/issues/4851
|
|
4960
|
+
[#4861]: https://github.com/DataDog/dd-trace-rb/issues/4861
|
|
4961
|
+
[#4862]: https://github.com/DataDog/dd-trace-rb/issues/4862
|
|
4962
|
+
[#4863]: https://github.com/DataDog/dd-trace-rb/issues/4863
|
|
4963
|
+
[#4864]: https://github.com/DataDog/dd-trace-rb/issues/4864
|
|
4964
|
+
[#4877]: https://github.com/DataDog/dd-trace-rb/issues/4877
|
|
4965
|
+
[#4884]: https://github.com/DataDog/dd-trace-rb/issues/4884
|
|
4966
|
+
[#4887]: https://github.com/DataDog/dd-trace-rb/issues/4887
|
|
4967
|
+
[#4893]: https://github.com/DataDog/dd-trace-rb/issues/4893
|
|
4968
|
+
[#4894]: https://github.com/DataDog/dd-trace-rb/issues/4894
|
|
4969
|
+
[#4900]: https://github.com/DataDog/dd-trace-rb/issues/4900
|
|
4970
|
+
[#4902]: https://github.com/DataDog/dd-trace-rb/issues/4902
|
|
4971
|
+
[#4906]: https://github.com/DataDog/dd-trace-rb/issues/4906
|
|
4972
|
+
[#4907]: https://github.com/DataDog/dd-trace-rb/issues/4907
|
|
4973
|
+
[#4908]: https://github.com/DataDog/dd-trace-rb/issues/4908
|
|
4974
|
+
[#4909]: https://github.com/DataDog/dd-trace-rb/issues/4909
|
|
4975
|
+
[#4913]: https://github.com/DataDog/dd-trace-rb/issues/4913
|
|
4976
|
+
[#4914]: https://github.com/DataDog/dd-trace-rb/issues/4914
|
|
4977
|
+
[#4918]: https://github.com/DataDog/dd-trace-rb/issues/4918
|
|
4978
|
+
[#4919]: https://github.com/DataDog/dd-trace-rb/issues/4919
|
|
4979
|
+
[#4957]: https://github.com/DataDog/dd-trace-rb/issues/4957
|
|
4980
|
+
[#4965]: https://github.com/DataDog/dd-trace-rb/issues/4965
|
|
4981
|
+
[#4969]: https://github.com/DataDog/dd-trace-rb/issues/4969
|
|
4638
4982
|
[@AdrianLC]: https://github.com/AdrianLC
|
|
4639
4983
|
[@Azure7111]: https://github.com/Azure7111
|
|
4640
4984
|
[@BabyGroot]: https://github.com/BabyGroot
|
|
@@ -4693,6 +5037,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4693
5037
|
[@dorner]: https://github.com/dorner
|
|
4694
5038
|
[@drcapulet]: https://github.com/drcapulet
|
|
4695
5039
|
[@dudo]: https://github.com/dudo
|
|
5040
|
+
[@duration]: https://github.com/duration
|
|
4696
5041
|
[@e1senh0rn]: https://github.com/e1senh0rn
|
|
4697
5042
|
[@ecdemis123]: https://github.com/ecdemis123
|
|
4698
5043
|
[@elliterate]: https://github.com/elliterate
|
|
@@ -4701,6 +5046,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4701
5046
|
[@erict-square]: https://github.com/erict-square
|
|
4702
5047
|
[@errriclee]: https://github.com/errriclee
|
|
4703
5048
|
[@evan-waters]: https://github.com/evan-waters
|
|
5049
|
+
[@exception]: https://github.com/exception
|
|
4704
5050
|
[@fledman]: https://github.com/fledman
|
|
4705
5051
|
[@frsantos]: https://github.com/frsantos
|
|
4706
5052
|
[@fteem]: https://github.com/fteem
|
|
@@ -4758,6 +5104,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
4758
5104
|
[@rahul342]: https://github.com/rahul342
|
|
4759
5105
|
[@randy-girard]: https://github.com/randy-girard
|
|
4760
5106
|
[@renchap]: https://github.com/renchap
|
|
5107
|
+
[@return]: https://github.com/return
|
|
4761
5108
|
[@ricbartm]: https://github.com/ricbartm
|
|
4762
5109
|
[@roccoblues]: https://github.com/roccoblues
|
|
4763
5110
|
[@rqz13]: https://github.com/rqz13
|
data/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# Datadog Trace Client
|
|
2
2
|
|
|
3
3
|
[](https://rubygems.org/gems/datadog/)
|
|
4
|
-
[](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
|
|
5
4
|
[][api docs]
|
|
6
5
|
|
|
7
6
|
``datadog`` is Datadog's client library for Ruby. It includes a suite of tools which provide visibility into the performance and security of Ruby applications, to enable Ruby developers to identify bottlenecks and other issues.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Libdatadog development
|
|
2
|
+
|
|
3
|
+
These instructions can quickly get outdated, so feel free to open an issue if they're not working (and/or ping @ivoanjo).
|
|
4
|
+
|
|
5
|
+
## Using libdatadog builds from CI or GitHub
|
|
6
|
+
|
|
7
|
+
If you're developing inside docker/natively on Linux, you can use libdatadog builds from CI and GitHub.
|
|
8
|
+
|
|
9
|
+
Here's what to do:
|
|
10
|
+
|
|
11
|
+
1. Create a folder for extracting libdatadog into based on your ruby platform (for instance inside the dd-trace-rb repo):
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
export DD_RUBY_PLATFORM=`ruby -e 'puts Gem::Platform.local.to_s'`
|
|
15
|
+
echo "Current ruby platform: $DD_RUBY_PLATFORM"
|
|
16
|
+
mkdir -p my-libdatadog-build/$DD_RUBY_PLATFORM
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
2. Find a libdatadog build from CI or [GitHub releases](https://github.com/DataDog/libdatadog/releases). This should match the Ruby platform seen above.
|
|
20
|
+
3. Extract the libdatadog build into the folder:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# In this example the build is in my downloads; notice the use of strip-components to get the correct folder structure
|
|
24
|
+
tar zxvf ~/Downloads/libdatadog-x86_64-unknown-linux-gnu.tar.gz -C my-libdatadog-build/$DD_RUBY_PLATFORM/ --strip-components=1
|
|
25
|
+
# Here's how it should look after
|
|
26
|
+
ls my-libdatadog-build/$DD_RUBY_PLATFORM
|
|
27
|
+
bin cmake include lib LICENSE LICENSE-3rdparty.yml NOTICE
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
6. Tell Ruby where to find libdatadog: ```export LIBDATADOG_VENDOR_OVERRIDE=`pwd`/my-libdatadog-build/``` (Notice no platform + use of pwd for full path here)
|
|
31
|
+
7. From dd-trace-rb, run `bundle exec rake clean compile`
|
|
32
|
+
8. For incremental builds, usually `bundle exec rake compile` is faster and `clean` is not needed
|
|
33
|
+
|
|
34
|
+
If you additionally want to run the profiler test suite, also remember to `export DD_PROFILING_MACOS_TESTING=true` and re-run `rake clean compile`.
|
|
35
|
+
|
|
36
|
+
## Native development on macOS
|
|
37
|
+
|
|
38
|
+
As of this writing (August 2025), the libdatadog builds on rubygems.org only support Linux.
|
|
39
|
+
|
|
40
|
+
We don't officially support using libdatadog for Ruby on other platforms yet, but it is possible to use it for local development on macOS.
|
|
41
|
+
(**Note that you don't need these instructions if you develop inside docker.**)
|
|
42
|
+
|
|
43
|
+
Here's how you can do so:
|
|
44
|
+
|
|
45
|
+
1. [Install rust](https://www.rust-lang.org/tools/install)
|
|
46
|
+
2. Install `cbindgen`: `cargo install cbindgen`
|
|
47
|
+
3. Clone [libdatadog](https://github.com/datadog/libdatadog)
|
|
48
|
+
4. Create a folder for building into based on your ruby platform:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
export DD_RUBY_PLATFORM=`ruby -e 'puts Gem::Platform.local.to_s'`
|
|
52
|
+
mkdir -p my-libdatadog-build/$DD_RUBY_PLATFORM
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
5. From inside of the libdatadog repo, build libdatadog into this folder: `./build-profiling-ffi.sh my-libdatadog-build/$DD_RUBY_PLATFORM`
|
|
56
|
+
6. Tell Ruby where to find libdatadog: `export LIBDATADOG_VENDOR_OVERRIDE=/adjust/this/to/be/the/full/path/to/my-libdatadog-build/` (Notice no platform here)
|
|
57
|
+
7. From dd-trace-rb, run `bundle exec rake clean compile`
|
|
58
|
+
8. For incremental builds, usually `bundle exec rake compile` is faster and `clean` is not needed
|
|
59
|
+
|
|
60
|
+
If you additionally want to run the profiler test suite, also remember to `export DD_PROFILING_MACOS_TESTING=true` and re-run `rake clean compile`.
|