datadog 2.7.1 → 2.17.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 +310 -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 +66 -56
- 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 +10 -10
- data/ext/datadog_profiling_native_extension/collectors_stack.h +2 -2
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +314 -145
- 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 +7 -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 +61 -174
- data/ext/datadog_profiling_native_extension/heap_recorder.h +2 -2
- data/ext/datadog_profiling_native_extension/http_transport.c +64 -98
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +68 -1
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +10 -1
- data/ext/datadog_profiling_native_extension/profiling.c +19 -8
- data/ext/datadog_profiling_native_extension/ruby_helpers.c +8 -8
- data/ext/datadog_profiling_native_extension/stack_recorder.c +84 -131
- 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/init.c +15 -0
- data/ext/libdatadog_api/library_config.c +122 -0
- data/ext/libdatadog_api/library_config.h +19 -0
- data/ext/libdatadog_api/macos_development.md +3 -3
- data/ext/libdatadog_api/process_discovery.c +117 -0
- data/ext/libdatadog_api/process_discovery.h +5 -0
- data/ext/libdatadog_extconf_helpers.rb +1 -1
- 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 +49 -0
- data/lib/datadog/appsec/api_security.rb +9 -0
- data/lib/datadog/appsec/assets/waf_rules/README.md +50 -5
- data/lib/datadog/appsec/assets/waf_rules/processors.json +239 -10
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +355 -157
- data/lib/datadog/appsec/assets/waf_rules/scanners.json +926 -17
- data/lib/datadog/appsec/assets/waf_rules/strict.json +62 -32
- data/lib/datadog/appsec/autoload.rb +1 -1
- data/lib/datadog/appsec/component.rb +41 -33
- data/lib/datadog/appsec/compressed_json.rb +40 -0
- data/lib/datadog/appsec/configuration/settings.rb +152 -25
- 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 +52 -68
- 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 +26 -31
- data/lib/datadog/appsec/processor/rule_merger.rb +7 -6
- data/lib/datadog/appsec/processor.rb +5 -4
- data/lib/datadog/appsec/remote.rb +26 -12
- data/lib/datadog/appsec/response.rb +19 -85
- data/lib/datadog/appsec/security_engine/result.rb +67 -0
- data/lib/datadog/appsec/security_engine/runner.rb +88 -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 +23 -10
- data/lib/datadog/auto_instrument.rb +3 -0
- data/lib/datadog/core/buffer/random.rb +18 -2
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +42 -14
- data/lib/datadog/core/configuration/agentless_settings_resolver.rb +176 -0
- data/lib/datadog/core/configuration/components.rb +76 -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 +79 -43
- 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 +100 -41
- data/lib/datadog/core/configuration/stable_config.rb +23 -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/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.rb +32 -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 +2 -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/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 +65 -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 +179 -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 +1 -1
- data/lib/datadog/core/telemetry/logging.rb +2 -2
- 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/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.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/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 +111 -20
- 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 +34 -8
- data/lib/datadog/di/probe_notifier_worker.rb +52 -26
- data/lib/datadog/di/redactor.rb +0 -1
- data/lib/datadog/di/remote.rb +147 -0
- data/lib/datadog/di/serializer.rb +14 -7
- 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 +67 -0
- data/lib/datadog/di/transport/http.rb +57 -0
- data/lib/datadog/di/transport/input.rb +62 -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 +1 -1
- data/lib/datadog/profiling/collectors/info.rb +3 -0
- data/lib/datadog/profiling/collectors/thread_context.rb +1 -1
- data/lib/datadog/profiling/component.rb +60 -76
- data/lib/datadog/profiling/encoded_profile.rb +11 -0
- data/lib/datadog/profiling/exporter.rb +3 -4
- data/lib/datadog/profiling/ext.rb +0 -2
- data/lib/datadog/profiling/flush.rb +5 -8
- data/lib/datadog/profiling/http_transport.rb +6 -85
- data/lib/datadog/profiling/load_native_extension.rb +1 -33
- data/lib/datadog/profiling/scheduler.rb +8 -1
- data/lib/datadog/profiling/stack_recorder.rb +4 -4
- data/lib/datadog/profiling/tag_builder.rb +1 -5
- 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/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/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/server_tracer.rb +1 -1
- 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 +9 -5
- data/lib/datadog/tracing/trace_digest.rb +9 -2
- data/lib/datadog/tracing/trace_operation.rb +44 -24
- data/lib/datadog/tracing/trace_segment.rb +6 -4
- data/lib/datadog/tracing/tracer.rb +60 -12
- 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 +143 -50
- data/ext/datadog_profiling_loader/datadog_profiling_loader.c +0 -142
- data/ext/datadog_profiling_loader/extconf.rb +0 -60
- 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/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
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datadog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -30,42 +30,62 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3.
|
33
|
+
version: '3.4'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 3.4.1
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3.
|
43
|
+
version: '3.4'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.4.1
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: libddwaf
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
53
|
+
version: 1.22.0.0.2
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
60
|
+
version: 1.22.0.0.2
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: libdatadog
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
67
|
+
version: 18.1.0.1.0
|
62
68
|
type: :runtime
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
74
|
+
version: 18.1.0.1.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: logger
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
69
89
|
description: |
|
70
90
|
datadog is Datadog's client library for Ruby. It includes a suite of tools
|
71
91
|
which provide visibility into the performance and security of Ruby applications,
|
@@ -76,7 +96,6 @@ executables:
|
|
76
96
|
- ddprofrb
|
77
97
|
extensions:
|
78
98
|
- ext/datadog_profiling_native_extension/extconf.rb
|
79
|
-
- ext/datadog_profiling_loader/extconf.rb
|
80
99
|
- ext/libdatadog_api/extconf.rb
|
81
100
|
extra_rdoc_files: []
|
82
101
|
files:
|
@@ -88,8 +107,6 @@ files:
|
|
88
107
|
- NOTICE
|
89
108
|
- README.md
|
90
109
|
- bin/ddprofrb
|
91
|
-
- ext/datadog_profiling_loader/datadog_profiling_loader.c
|
92
|
-
- ext/datadog_profiling_loader/extconf.rb
|
93
110
|
- ext/datadog_profiling_native_extension/NativeExtensionDesign.md
|
94
111
|
- ext/datadog_profiling_native_extension/clock_id.h
|
95
112
|
- ext/datadog_profiling_native_extension/clock_id_from_pthread.c
|
@@ -109,6 +126,8 @@ files:
|
|
109
126
|
- ext/datadog_profiling_native_extension/collectors_thread_context.h
|
110
127
|
- ext/datadog_profiling_native_extension/datadog_ruby_common.c
|
111
128
|
- ext/datadog_profiling_native_extension/datadog_ruby_common.h
|
129
|
+
- ext/datadog_profiling_native_extension/encoded_profile.c
|
130
|
+
- ext/datadog_profiling_native_extension/encoded_profile.h
|
112
131
|
- ext/datadog_profiling_native_extension/extconf.rb
|
113
132
|
- ext/datadog_profiling_native_extension/gvl_profiling_helper.c
|
114
133
|
- ext/datadog_profiling_native_extension/gvl_profiling_helper.h
|
@@ -130,14 +149,27 @@ files:
|
|
130
149
|
- ext/datadog_profiling_native_extension/stack_recorder.h
|
131
150
|
- ext/datadog_profiling_native_extension/time_helpers.c
|
132
151
|
- ext/datadog_profiling_native_extension/time_helpers.h
|
152
|
+
- ext/datadog_profiling_native_extension/unsafe_api_calls_check.c
|
153
|
+
- ext/datadog_profiling_native_extension/unsafe_api_calls_check.h
|
133
154
|
- ext/libdatadog_api/crashtracker.c
|
155
|
+
- ext/libdatadog_api/crashtracker.h
|
134
156
|
- ext/libdatadog_api/datadog_ruby_common.c
|
135
157
|
- ext/libdatadog_api/datadog_ruby_common.h
|
136
158
|
- ext/libdatadog_api/extconf.rb
|
159
|
+
- ext/libdatadog_api/init.c
|
160
|
+
- ext/libdatadog_api/library_config.c
|
161
|
+
- ext/libdatadog_api/library_config.h
|
137
162
|
- ext/libdatadog_api/macos_development.md
|
163
|
+
- ext/libdatadog_api/process_discovery.c
|
164
|
+
- ext/libdatadog_api/process_discovery.h
|
138
165
|
- ext/libdatadog_extconf_helpers.rb
|
139
166
|
- lib/datadog.rb
|
140
167
|
- lib/datadog/appsec.rb
|
168
|
+
- lib/datadog/appsec/actions_handler.rb
|
169
|
+
- lib/datadog/appsec/actions_handler/serializable_backtrace.rb
|
170
|
+
- lib/datadog/appsec/anonymizer.rb
|
171
|
+
- lib/datadog/appsec/api_security.rb
|
172
|
+
- lib/datadog/appsec/api_security/lru_cache.rb
|
141
173
|
- lib/datadog/appsec/assets.rb
|
142
174
|
- lib/datadog/appsec/assets/blocked.html
|
143
175
|
- lib/datadog/appsec/assets/blocked.json
|
@@ -149,35 +181,43 @@ files:
|
|
149
181
|
- lib/datadog/appsec/assets/waf_rules/strict.json
|
150
182
|
- lib/datadog/appsec/autoload.rb
|
151
183
|
- lib/datadog/appsec/component.rb
|
184
|
+
- lib/datadog/appsec/compressed_json.rb
|
152
185
|
- lib/datadog/appsec/configuration.rb
|
153
186
|
- lib/datadog/appsec/configuration/settings.rb
|
187
|
+
- lib/datadog/appsec/context.rb
|
188
|
+
- lib/datadog/appsec/contrib/active_record/instrumentation.rb
|
189
|
+
- lib/datadog/appsec/contrib/active_record/integration.rb
|
190
|
+
- lib/datadog/appsec/contrib/active_record/patcher.rb
|
154
191
|
- lib/datadog/appsec/contrib/auto_instrument.rb
|
155
|
-
- lib/datadog/appsec/contrib/devise/
|
192
|
+
- lib/datadog/appsec/contrib/devise/configuration.rb
|
193
|
+
- lib/datadog/appsec/contrib/devise/data_extractor.rb
|
156
194
|
- lib/datadog/appsec/contrib/devise/ext.rb
|
157
195
|
- lib/datadog/appsec/contrib/devise/integration.rb
|
158
196
|
- lib/datadog/appsec/contrib/devise/patcher.rb
|
159
|
-
- lib/datadog/appsec/contrib/devise/
|
160
|
-
- lib/datadog/appsec/contrib/devise/
|
161
|
-
- lib/datadog/appsec/contrib/devise/
|
162
|
-
- lib/datadog/appsec/contrib/devise/
|
163
|
-
- lib/datadog/appsec/contrib/
|
197
|
+
- lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb
|
198
|
+
- lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb
|
199
|
+
- lib/datadog/appsec/contrib/devise/patches/skip_signin_tracking_patch.rb
|
200
|
+
- lib/datadog/appsec/contrib/devise/tracking_middleware.rb
|
201
|
+
- lib/datadog/appsec/contrib/excon/integration.rb
|
202
|
+
- lib/datadog/appsec/contrib/excon/patcher.rb
|
203
|
+
- lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb
|
204
|
+
- lib/datadog/appsec/contrib/faraday/connection_patch.rb
|
205
|
+
- lib/datadog/appsec/contrib/faraday/integration.rb
|
206
|
+
- lib/datadog/appsec/contrib/faraday/patcher.rb
|
207
|
+
- lib/datadog/appsec/contrib/faraday/rack_builder_patch.rb
|
208
|
+
- lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb
|
164
209
|
- lib/datadog/appsec/contrib/graphql/appsec_trace.rb
|
165
210
|
- lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb
|
166
211
|
- lib/datadog/appsec/contrib/graphql/gateway/watcher.rb
|
167
212
|
- lib/datadog/appsec/contrib/graphql/integration.rb
|
168
213
|
- lib/datadog/appsec/contrib/graphql/patcher.rb
|
169
|
-
- lib/datadog/appsec/contrib/graphql/reactive/multiplex.rb
|
170
214
|
- lib/datadog/appsec/contrib/integration.rb
|
171
|
-
- lib/datadog/appsec/contrib/patcher.rb
|
172
215
|
- lib/datadog/appsec/contrib/rack/ext.rb
|
173
216
|
- lib/datadog/appsec/contrib/rack/gateway/request.rb
|
174
217
|
- lib/datadog/appsec/contrib/rack/gateway/response.rb
|
175
218
|
- lib/datadog/appsec/contrib/rack/gateway/watcher.rb
|
176
219
|
- lib/datadog/appsec/contrib/rack/integration.rb
|
177
220
|
- lib/datadog/appsec/contrib/rack/patcher.rb
|
178
|
-
- lib/datadog/appsec/contrib/rack/reactive/request.rb
|
179
|
-
- lib/datadog/appsec/contrib/rack/reactive/request_body.rb
|
180
|
-
- lib/datadog/appsec/contrib/rack/reactive/response.rb
|
181
221
|
- lib/datadog/appsec/contrib/rack/request_body_middleware.rb
|
182
222
|
- lib/datadog/appsec/contrib/rack/request_middleware.rb
|
183
223
|
- lib/datadog/appsec/contrib/rails/ext.rb
|
@@ -186,17 +226,17 @@ files:
|
|
186
226
|
- lib/datadog/appsec/contrib/rails/gateway/watcher.rb
|
187
227
|
- lib/datadog/appsec/contrib/rails/integration.rb
|
188
228
|
- lib/datadog/appsec/contrib/rails/patcher.rb
|
189
|
-
- lib/datadog/appsec/contrib/rails/reactive/action.rb
|
190
229
|
- lib/datadog/appsec/contrib/rails/request.rb
|
191
230
|
- lib/datadog/appsec/contrib/rails/request_middleware.rb
|
192
|
-
- lib/datadog/appsec/contrib/
|
231
|
+
- lib/datadog/appsec/contrib/rest_client/integration.rb
|
232
|
+
- lib/datadog/appsec/contrib/rest_client/patcher.rb
|
233
|
+
- lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb
|
193
234
|
- lib/datadog/appsec/contrib/sinatra/framework.rb
|
194
235
|
- lib/datadog/appsec/contrib/sinatra/gateway/request.rb
|
195
236
|
- lib/datadog/appsec/contrib/sinatra/gateway/route_params.rb
|
196
237
|
- lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb
|
197
238
|
- lib/datadog/appsec/contrib/sinatra/integration.rb
|
198
239
|
- lib/datadog/appsec/contrib/sinatra/patcher.rb
|
199
|
-
- lib/datadog/appsec/contrib/sinatra/reactive/routed.rb
|
200
240
|
- lib/datadog/appsec/contrib/sinatra/request_middleware.rb
|
201
241
|
- lib/datadog/appsec/event.rb
|
202
242
|
- lib/datadog/appsec/ext.rb
|
@@ -204,28 +244,28 @@ files:
|
|
204
244
|
- lib/datadog/appsec/instrumentation.rb
|
205
245
|
- lib/datadog/appsec/instrumentation/gateway.rb
|
206
246
|
- lib/datadog/appsec/instrumentation/gateway/argument.rb
|
247
|
+
- lib/datadog/appsec/instrumentation/gateway/middleware.rb
|
248
|
+
- lib/datadog/appsec/metrics.rb
|
249
|
+
- lib/datadog/appsec/metrics/collector.rb
|
250
|
+
- lib/datadog/appsec/metrics/exporter.rb
|
251
|
+
- lib/datadog/appsec/metrics/telemetry.rb
|
207
252
|
- lib/datadog/appsec/monitor.rb
|
208
253
|
- lib/datadog/appsec/monitor/gateway/watcher.rb
|
209
|
-
- lib/datadog/appsec/monitor/reactive/set_user.rb
|
210
254
|
- lib/datadog/appsec/processor.rb
|
211
|
-
- lib/datadog/appsec/processor/actions.rb
|
212
|
-
- lib/datadog/appsec/processor/context.rb
|
213
255
|
- lib/datadog/appsec/processor/rule_loader.rb
|
214
256
|
- lib/datadog/appsec/processor/rule_merger.rb
|
215
257
|
- lib/datadog/appsec/rate_limiter.rb
|
216
|
-
- lib/datadog/appsec/reactive/address_hash.rb
|
217
|
-
- lib/datadog/appsec/reactive/engine.rb
|
218
|
-
- lib/datadog/appsec/reactive/operation.rb
|
219
|
-
- lib/datadog/appsec/reactive/subscriber.rb
|
220
258
|
- lib/datadog/appsec/remote.rb
|
221
259
|
- lib/datadog/appsec/response.rb
|
222
260
|
- lib/datadog/appsec/sample_rate.rb
|
223
|
-
- lib/datadog/appsec/
|
261
|
+
- lib/datadog/appsec/security_engine.rb
|
262
|
+
- lib/datadog/appsec/security_engine/result.rb
|
263
|
+
- lib/datadog/appsec/security_engine/runner.rb
|
264
|
+
- lib/datadog/appsec/security_event.rb
|
224
265
|
- lib/datadog/appsec/utils.rb
|
225
266
|
- lib/datadog/appsec/utils/http.rb
|
226
267
|
- lib/datadog/appsec/utils/http/media_range.rb
|
227
268
|
- lib/datadog/appsec/utils/http/media_type.rb
|
228
|
-
- lib/datadog/appsec/utils/trace_operation.rb
|
229
269
|
- lib/datadog/auto_instrument.rb
|
230
270
|
- lib/datadog/auto_instrument_base.rb
|
231
271
|
- lib/datadog/core.rb
|
@@ -235,20 +275,24 @@ files:
|
|
235
275
|
- lib/datadog/core/chunker.rb
|
236
276
|
- lib/datadog/core/configuration.rb
|
237
277
|
- lib/datadog/core/configuration/agent_settings_resolver.rb
|
278
|
+
- lib/datadog/core/configuration/agentless_settings_resolver.rb
|
238
279
|
- lib/datadog/core/configuration/base.rb
|
239
280
|
- lib/datadog/core/configuration/components.rb
|
281
|
+
- lib/datadog/core/configuration/components_state.rb
|
240
282
|
- lib/datadog/core/configuration/ext.rb
|
241
283
|
- lib/datadog/core/configuration/option.rb
|
242
284
|
- lib/datadog/core/configuration/option_definition.rb
|
243
285
|
- lib/datadog/core/configuration/options.rb
|
244
286
|
- lib/datadog/core/configuration/settings.rb
|
245
|
-
- lib/datadog/core/
|
287
|
+
- lib/datadog/core/configuration/stable_config.rb
|
288
|
+
- lib/datadog/core/contrib/rails/utils.rb
|
246
289
|
- lib/datadog/core/crashtracking/component.rb
|
247
290
|
- lib/datadog/core/crashtracking/tag_builder.rb
|
248
291
|
- lib/datadog/core/deprecations.rb
|
249
292
|
- lib/datadog/core/diagnostics/environment_logger.rb
|
250
293
|
- lib/datadog/core/diagnostics/health.rb
|
251
294
|
- lib/datadog/core/encoding.rb
|
295
|
+
- lib/datadog/core/environment/agent_info.rb
|
252
296
|
- lib/datadog/core/environment/cgroup.rb
|
253
297
|
- lib/datadog/core/environment/class_count.rb
|
254
298
|
- lib/datadog/core/environment/container.rb
|
@@ -276,6 +320,7 @@ files:
|
|
276
320
|
- lib/datadog/core/metrics/metric.rb
|
277
321
|
- lib/datadog/core/metrics/options.rb
|
278
322
|
- lib/datadog/core/pin.rb
|
323
|
+
- lib/datadog/core/process_discovery.rb
|
279
324
|
- lib/datadog/core/rate_limiter.rb
|
280
325
|
- lib/datadog/core/remote.rb
|
281
326
|
- lib/datadog/core/remote/client.rb
|
@@ -295,9 +340,6 @@ files:
|
|
295
340
|
- lib/datadog/core/remote/transport/config.rb
|
296
341
|
- lib/datadog/core/remote/transport/http.rb
|
297
342
|
- lib/datadog/core/remote/transport/http/api.rb
|
298
|
-
- lib/datadog/core/remote/transport/http/api/instance.rb
|
299
|
-
- lib/datadog/core/remote/transport/http/api/spec.rb
|
300
|
-
- lib/datadog/core/remote/transport/http/builder.rb
|
301
343
|
- lib/datadog/core/remote/transport/http/client.rb
|
302
344
|
- lib/datadog/core/remote/transport/http/config.rb
|
303
345
|
- lib/datadog/core/remote/transport/http/negotiation.rb
|
@@ -309,27 +351,44 @@ files:
|
|
309
351
|
- lib/datadog/core/telemetry/component.rb
|
310
352
|
- lib/datadog/core/telemetry/emitter.rb
|
311
353
|
- lib/datadog/core/telemetry/event.rb
|
354
|
+
- lib/datadog/core/telemetry/event/app_client_configuration_change.rb
|
355
|
+
- lib/datadog/core/telemetry/event/app_closing.rb
|
356
|
+
- lib/datadog/core/telemetry/event/app_dependencies_loaded.rb
|
357
|
+
- lib/datadog/core/telemetry/event/app_heartbeat.rb
|
358
|
+
- lib/datadog/core/telemetry/event/app_integrations_change.rb
|
359
|
+
- lib/datadog/core/telemetry/event/app_started.rb
|
360
|
+
- lib/datadog/core/telemetry/event/base.rb
|
361
|
+
- lib/datadog/core/telemetry/event/distributions.rb
|
362
|
+
- lib/datadog/core/telemetry/event/generate_metrics.rb
|
363
|
+
- lib/datadog/core/telemetry/event/log.rb
|
364
|
+
- lib/datadog/core/telemetry/event/message_batch.rb
|
365
|
+
- lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb
|
312
366
|
- lib/datadog/core/telemetry/ext.rb
|
313
367
|
- lib/datadog/core/telemetry/http/adapters/net.rb
|
314
|
-
- lib/datadog/core/telemetry/http/env.rb
|
315
|
-
- lib/datadog/core/telemetry/http/ext.rb
|
316
|
-
- lib/datadog/core/telemetry/http/response.rb
|
317
|
-
- lib/datadog/core/telemetry/http/transport.rb
|
318
368
|
- lib/datadog/core/telemetry/logger.rb
|
319
369
|
- lib/datadog/core/telemetry/logging.rb
|
320
370
|
- lib/datadog/core/telemetry/metric.rb
|
321
371
|
- lib/datadog/core/telemetry/metrics_collection.rb
|
322
372
|
- lib/datadog/core/telemetry/metrics_manager.rb
|
323
373
|
- lib/datadog/core/telemetry/request.rb
|
374
|
+
- lib/datadog/core/telemetry/transport/http.rb
|
375
|
+
- lib/datadog/core/telemetry/transport/http/api.rb
|
376
|
+
- lib/datadog/core/telemetry/transport/http/client.rb
|
377
|
+
- lib/datadog/core/telemetry/transport/http/telemetry.rb
|
378
|
+
- lib/datadog/core/telemetry/transport/telemetry.rb
|
324
379
|
- lib/datadog/core/telemetry/worker.rb
|
325
380
|
- lib/datadog/core/transport/ext.rb
|
381
|
+
- lib/datadog/core/transport/http.rb
|
326
382
|
- lib/datadog/core/transport/http/adapters/net.rb
|
327
383
|
- lib/datadog/core/transport/http/adapters/registry.rb
|
328
384
|
- lib/datadog/core/transport/http/adapters/test.rb
|
329
385
|
- lib/datadog/core/transport/http/adapters/unix_socket.rb
|
330
386
|
- lib/datadog/core/transport/http/api/endpoint.rb
|
331
387
|
- lib/datadog/core/transport/http/api/fallbacks.rb
|
388
|
+
- lib/datadog/core/transport/http/api/instance.rb
|
332
389
|
- lib/datadog/core/transport/http/api/map.rb
|
390
|
+
- lib/datadog/core/transport/http/api/spec.rb
|
391
|
+
- lib/datadog/core/transport/http/builder.rb
|
333
392
|
- lib/datadog/core/transport/http/env.rb
|
334
393
|
- lib/datadog/core/transport/http/response.rb
|
335
394
|
- lib/datadog/core/transport/parcel.rb
|
@@ -347,6 +406,7 @@ files:
|
|
347
406
|
- lib/datadog/core/utils/safe_dup.rb
|
348
407
|
- lib/datadog/core/utils/sequence.rb
|
349
408
|
- lib/datadog/core/utils/time.rb
|
409
|
+
- lib/datadog/core/utils/truncation.rb
|
350
410
|
- lib/datadog/core/utils/url.rb
|
351
411
|
- lib/datadog/core/vendor/multipart-post/LICENSE
|
352
412
|
- lib/datadog/core/vendor/multipart-post/multipart.rb
|
@@ -363,28 +423,51 @@ files:
|
|
363
423
|
- lib/datadog/core/workers/queue.rb
|
364
424
|
- lib/datadog/core/workers/runtime_metrics.rb
|
365
425
|
- lib/datadog/di.rb
|
426
|
+
- lib/datadog/di/base.rb
|
427
|
+
- lib/datadog/di/boot.rb
|
366
428
|
- lib/datadog/di/code_tracker.rb
|
367
429
|
- lib/datadog/di/component.rb
|
368
430
|
- lib/datadog/di/configuration.rb
|
369
431
|
- lib/datadog/di/configuration/settings.rb
|
432
|
+
- lib/datadog/di/contrib.rb
|
370
433
|
- lib/datadog/di/contrib/active_record.rb
|
434
|
+
- lib/datadog/di/contrib/railtie.rb
|
371
435
|
- lib/datadog/di/error.rb
|
372
436
|
- lib/datadog/di/extensions.rb
|
373
437
|
- lib/datadog/di/instrumenter.rb
|
438
|
+
- lib/datadog/di/logger.rb
|
439
|
+
- lib/datadog/di/preload.rb
|
374
440
|
- lib/datadog/di/probe.rb
|
375
441
|
- lib/datadog/di/probe_builder.rb
|
376
442
|
- lib/datadog/di/probe_manager.rb
|
377
443
|
- lib/datadog/di/probe_notification_builder.rb
|
378
444
|
- lib/datadog/di/probe_notifier_worker.rb
|
379
445
|
- lib/datadog/di/redactor.rb
|
446
|
+
- lib/datadog/di/remote.rb
|
380
447
|
- lib/datadog/di/serializer.rb
|
381
|
-
- lib/datadog/di/transport.rb
|
448
|
+
- lib/datadog/di/transport/diagnostics.rb
|
449
|
+
- lib/datadog/di/transport/http.rb
|
450
|
+
- lib/datadog/di/transport/http/api.rb
|
451
|
+
- lib/datadog/di/transport/http/client.rb
|
452
|
+
- lib/datadog/di/transport/http/diagnostics.rb
|
453
|
+
- lib/datadog/di/transport/http/input.rb
|
454
|
+
- lib/datadog/di/transport/input.rb
|
382
455
|
- lib/datadog/di/utils.rb
|
456
|
+
- lib/datadog/error_tracking.rb
|
457
|
+
- lib/datadog/error_tracking/collector.rb
|
458
|
+
- lib/datadog/error_tracking/component.rb
|
459
|
+
- lib/datadog/error_tracking/configuration.rb
|
460
|
+
- lib/datadog/error_tracking/configuration/settings.rb
|
461
|
+
- lib/datadog/error_tracking/ext.rb
|
462
|
+
- lib/datadog/error_tracking/extensions.rb
|
463
|
+
- lib/datadog/error_tracking/filters.rb
|
383
464
|
- lib/datadog/kit.rb
|
384
465
|
- lib/datadog/kit/appsec/events.rb
|
385
466
|
- lib/datadog/kit/enable_core_dumps.rb
|
386
467
|
- lib/datadog/kit/identity.rb
|
387
468
|
- lib/datadog/opentelemetry.rb
|
469
|
+
- lib/datadog/opentelemetry/api/baggage.rb
|
470
|
+
- lib/datadog/opentelemetry/api/baggage.rbs
|
388
471
|
- lib/datadog/opentelemetry/api/context.rb
|
389
472
|
- lib/datadog/opentelemetry/api/trace/span.rb
|
390
473
|
- lib/datadog/opentelemetry/sdk/configurator.rb
|
@@ -402,6 +485,7 @@ files:
|
|
402
485
|
- lib/datadog/profiling/collectors/stack.rb
|
403
486
|
- lib/datadog/profiling/collectors/thread_context.rb
|
404
487
|
- lib/datadog/profiling/component.rb
|
488
|
+
- lib/datadog/profiling/encoded_profile.rb
|
405
489
|
- lib/datadog/profiling/exporter.rb
|
406
490
|
- lib/datadog/profiling/ext.rb
|
407
491
|
- lib/datadog/profiling/ext/dir_monkey_patches.rb
|
@@ -585,6 +669,7 @@ files:
|
|
585
669
|
- lib/datadog/tracing/contrib/grape/instrumentation.rb
|
586
670
|
- lib/datadog/tracing/contrib/grape/integration.rb
|
587
671
|
- lib/datadog/tracing/contrib/grape/patcher.rb
|
672
|
+
- lib/datadog/tracing/contrib/graphql/configuration/error_extension_env_parser.rb
|
588
673
|
- lib/datadog/tracing/contrib/graphql/configuration/settings.rb
|
589
674
|
- lib/datadog/tracing/contrib/graphql/ext.rb
|
590
675
|
- lib/datadog/tracing/contrib/graphql/integration.rb
|
@@ -651,6 +736,13 @@ files:
|
|
651
736
|
- lib/datadog/tracing/contrib/kafka/ext.rb
|
652
737
|
- lib/datadog/tracing/contrib/kafka/integration.rb
|
653
738
|
- lib/datadog/tracing/contrib/kafka/patcher.rb
|
739
|
+
- lib/datadog/tracing/contrib/karafka.rb
|
740
|
+
- lib/datadog/tracing/contrib/karafka/configuration/settings.rb
|
741
|
+
- lib/datadog/tracing/contrib/karafka/distributed/propagation.rb
|
742
|
+
- lib/datadog/tracing/contrib/karafka/ext.rb
|
743
|
+
- lib/datadog/tracing/contrib/karafka/integration.rb
|
744
|
+
- lib/datadog/tracing/contrib/karafka/monitor.rb
|
745
|
+
- lib/datadog/tracing/contrib/karafka/patcher.rb
|
654
746
|
- lib/datadog/tracing/contrib/lograge/configuration/settings.rb
|
655
747
|
- lib/datadog/tracing/contrib/lograge/ext.rb
|
656
748
|
- lib/datadog/tracing/contrib/lograge/instrumentation.rb
|
@@ -722,7 +814,6 @@ files:
|
|
722
814
|
- lib/datadog/tracing/contrib/rails/patcher.rb
|
723
815
|
- lib/datadog/tracing/contrib/rails/railtie.rb
|
724
816
|
- lib/datadog/tracing/contrib/rails/runner.rb
|
725
|
-
- lib/datadog/tracing/contrib/rails/utils.rb
|
726
817
|
- lib/datadog/tracing/contrib/rake/configuration/settings.rb
|
727
818
|
- lib/datadog/tracing/contrib/rake/ext.rb
|
728
819
|
- lib/datadog/tracing/contrib/rake/instrumentation.rb
|
@@ -814,6 +905,7 @@ files:
|
|
814
905
|
- lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb
|
815
906
|
- lib/datadog/tracing/contrib/sucker_punch/integration.rb
|
816
907
|
- lib/datadog/tracing/contrib/sucker_punch/patcher.rb
|
908
|
+
- lib/datadog/tracing/contrib/support.rb
|
817
909
|
- lib/datadog/tracing/contrib/trilogy/configuration/settings.rb
|
818
910
|
- lib/datadog/tracing/contrib/trilogy/ext.rb
|
819
911
|
- lib/datadog/tracing/contrib/trilogy/instrumentation.rb
|
@@ -828,12 +920,14 @@ files:
|
|
828
920
|
- lib/datadog/tracing/diagnostics/health.rb
|
829
921
|
- lib/datadog/tracing/distributed/b3_multi.rb
|
830
922
|
- lib/datadog/tracing/distributed/b3_single.rb
|
923
|
+
- lib/datadog/tracing/distributed/baggage.rb
|
831
924
|
- lib/datadog/tracing/distributed/datadog.rb
|
832
925
|
- lib/datadog/tracing/distributed/datadog_tags_codec.rb
|
833
926
|
- lib/datadog/tracing/distributed/fetcher.rb
|
834
927
|
- lib/datadog/tracing/distributed/helpers.rb
|
835
928
|
- lib/datadog/tracing/distributed/none.rb
|
836
929
|
- lib/datadog/tracing/distributed/propagation.rb
|
930
|
+
- lib/datadog/tracing/distributed/propagation_policy.rb
|
837
931
|
- lib/datadog/tracing/distributed/trace_context.rb
|
838
932
|
- lib/datadog/tracing/event.rb
|
839
933
|
- lib/datadog/tracing/flush.rb
|
@@ -841,6 +935,8 @@ files:
|
|
841
935
|
- lib/datadog/tracing/metadata/analytics.rb
|
842
936
|
- lib/datadog/tracing/metadata/errors.rb
|
843
937
|
- lib/datadog/tracing/metadata/ext.rb
|
938
|
+
- lib/datadog/tracing/metadata/metastruct.rb
|
939
|
+
- lib/datadog/tracing/metadata/metastruct_tagging.rb
|
844
940
|
- lib/datadog/tracing/metadata/tagging.rb
|
845
941
|
- lib/datadog/tracing/pipeline.rb
|
846
942
|
- lib/datadog/tracing/pipeline/span_filter.rb
|
@@ -873,9 +969,6 @@ files:
|
|
873
969
|
- lib/datadog/tracing/tracer.rb
|
874
970
|
- lib/datadog/tracing/transport/http.rb
|
875
971
|
- lib/datadog/tracing/transport/http/api.rb
|
876
|
-
- lib/datadog/tracing/transport/http/api/instance.rb
|
877
|
-
- lib/datadog/tracing/transport/http/api/spec.rb
|
878
|
-
- lib/datadog/tracing/transport/http/builder.rb
|
879
972
|
- lib/datadog/tracing/transport/http/client.rb
|
880
973
|
- lib/datadog/tracing/transport/http/statistics.rb
|
881
974
|
- lib/datadog/tracing/transport/http/traces.rb
|
@@ -898,8 +991,8 @@ licenses:
|
|
898
991
|
- Apache-2.0
|
899
992
|
metadata:
|
900
993
|
allowed_push_host: https://rubygems.org
|
901
|
-
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.
|
902
|
-
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.
|
994
|
+
changelog_uri: https://github.com/DataDog/dd-trace-rb/blob/v2.17.0/CHANGELOG.md
|
995
|
+
source_code_uri: https://github.com/DataDog/dd-trace-rb/tree/v2.17.0
|
903
996
|
post_install_message:
|
904
997
|
rdoc_options: []
|
905
998
|
require_paths:
|
@@ -918,7 +1011,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
918
1011
|
- !ruby/object:Gem::Version
|
919
1012
|
version: 2.0.0
|
920
1013
|
requirements: []
|
921
|
-
rubygems_version: 3.5.
|
1014
|
+
rubygems_version: 3.5.22
|
922
1015
|
signing_key:
|
923
1016
|
specification_version: 4
|
924
1017
|
summary: Datadog tracing code for your Ruby applications
|
@@ -1,142 +0,0 @@
|
|
1
|
-
#include <stdbool.h>
|
2
|
-
#include <dlfcn.h>
|
3
|
-
#include <ruby.h>
|
4
|
-
|
5
|
-
// Why this exists:
|
6
|
-
//
|
7
|
-
// The Datadog::Profiling::Loader exists because when Ruby loads a native extension (using `require`), it uses
|
8
|
-
// `dlopen(..., RTLD_LAZY | RTLD_GLOBAL)` (https://github.com/ruby/ruby/blob/67950a4c0a884bdb78d9beb4405ebf7459229b21/dln.c#L362).
|
9
|
-
// This means that every symbol exposed directly or indirectly by that native extension becomes visible to every other
|
10
|
-
// extension in the Ruby process. This can cause issues, see https://github.com/rubyjs/mini_racer/pull/179.
|
11
|
-
//
|
12
|
-
// Instead of `RTLD_LAZY | RTLD_GLOBAL`, we want to call `dlopen` with `RTLD_LAZY | RTLD_LOCAL | RTLD_DEEPBIND` when
|
13
|
-
// loading the profiling native extension, to avoid leaking any unintended symbols (`RTLD_LOCAL`) and avoid picking
|
14
|
-
// up other's symbols (`RTLD_DEEPBIND`).
|
15
|
-
//
|
16
|
-
// But Ruby's extension loading mechanism is not configurable -- there's no way to tell it to use different flags when
|
17
|
-
// calling `dlopen`. To get around this, this file (datadog_profiling_loader.c) introduces another extension
|
18
|
-
// (profiling loader) which has only a single responsibility: mimic Ruby's extension loading mechanism, but when calling
|
19
|
-
// `dlopen` use a different set of flags.
|
20
|
-
// This idea was shamelessly stolen from @lloeki's work in https://github.com/rubyjs/mini_racer/pull/179, big thanks!
|
21
|
-
//
|
22
|
-
// Extra note: Currently (May 2022), that we know of, the profiling native extension only exposes one potentially
|
23
|
-
// problematic symbol: `rust_eh_personality` (coming from libdatadog).
|
24
|
-
// Future versions of Rust have been patched not to expose this
|
25
|
-
// (see https://github.com/rust-lang/rust/pull/95604#issuecomment-1108563434) so we may want to revisit the need
|
26
|
-
// for this loader in the future, and perhaps delete it if we no longer require its services :)
|
27
|
-
|
28
|
-
#ifndef RTLD_DEEPBIND
|
29
|
-
#define RTLD_DEEPBIND 0
|
30
|
-
#endif
|
31
|
-
|
32
|
-
// Used to mark function arguments that are deliberately left unused
|
33
|
-
#ifdef __GNUC__
|
34
|
-
#define DDTRACE_UNUSED __attribute__((unused))
|
35
|
-
#else
|
36
|
-
#define DDTRACE_UNUSED
|
37
|
-
#endif
|
38
|
-
|
39
|
-
static VALUE ok_symbol = Qnil; // :ok in Ruby
|
40
|
-
static VALUE error_symbol = Qnil; // :error in Ruby
|
41
|
-
|
42
|
-
static VALUE _native_load(DDTRACE_UNUSED VALUE self, VALUE ruby_path, VALUE ruby_init_name);
|
43
|
-
static bool failed_to_load(void *handle, VALUE *failure_details);
|
44
|
-
static bool incompatible_library(void *handle, VALUE *failure_details);
|
45
|
-
static bool failed_to_initialize(void *handle, char *init_name, VALUE *failure_details);
|
46
|
-
static void set_failure_from_dlerror(VALUE *failure_details);
|
47
|
-
static void unload_failed_library(void *handle);
|
48
|
-
|
49
|
-
#define DDTRACE_EXPORT __attribute__ ((visibility ("default")))
|
50
|
-
|
51
|
-
void DDTRACE_EXPORT Init_datadog_profiling_loader(void) {
|
52
|
-
VALUE datadog_module = rb_define_module("Datadog");
|
53
|
-
VALUE profiling_module = rb_define_module_under(datadog_module, "Profiling");
|
54
|
-
VALUE loader_module = rb_define_module_under(profiling_module, "Loader");
|
55
|
-
rb_define_singleton_method(loader_module, "_native_load", _native_load, 2);
|
56
|
-
|
57
|
-
ok_symbol = ID2SYM(rb_intern_const("ok"));
|
58
|
-
error_symbol = ID2SYM(rb_intern_const("error"));
|
59
|
-
}
|
60
|
-
|
61
|
-
static VALUE _native_load(DDTRACE_UNUSED VALUE self, VALUE ruby_path, VALUE ruby_init_name) {
|
62
|
-
Check_Type(ruby_path, T_STRING);
|
63
|
-
Check_Type(ruby_init_name, T_STRING);
|
64
|
-
|
65
|
-
char *path = StringValueCStr(ruby_path);
|
66
|
-
char *init_name = StringValueCStr(ruby_init_name);
|
67
|
-
|
68
|
-
int dlopen_flags = RTLD_LAZY | RTLD_LOCAL | RTLD_DEEPBIND;
|
69
|
-
|
70
|
-
#if defined(__has_feature)
|
71
|
-
#if __has_feature(address_sanitizer)
|
72
|
-
dlopen_flags &= ~RTLD_DEEPBIND; // Not supported by ASAN
|
73
|
-
#endif
|
74
|
-
#endif
|
75
|
-
|
76
|
-
void *handle = dlopen(path, dlopen_flags);
|
77
|
-
|
78
|
-
VALUE failure_details = Qnil;
|
79
|
-
|
80
|
-
if (
|
81
|
-
failed_to_load(handle, &failure_details) ||
|
82
|
-
incompatible_library(handle, &failure_details) ||
|
83
|
-
failed_to_initialize(handle, init_name, &failure_details)
|
84
|
-
) {
|
85
|
-
return rb_ary_new_from_args(2, error_symbol, failure_details);
|
86
|
-
}
|
87
|
-
|
88
|
-
return rb_ary_new_from_args(2, ok_symbol, Qnil);
|
89
|
-
}
|
90
|
-
|
91
|
-
static bool failed_to_load(void *handle, VALUE *failure_details) {
|
92
|
-
if (handle == NULL) {
|
93
|
-
set_failure_from_dlerror(failure_details);
|
94
|
-
return true;
|
95
|
-
} else {
|
96
|
-
return false;
|
97
|
-
}
|
98
|
-
}
|
99
|
-
|
100
|
-
static bool incompatible_library(void *handle, VALUE *failure_details) {
|
101
|
-
// The library being loaded may be linked to a different libruby than the current executing Ruby.
|
102
|
-
// We check if this is the case by checking if a well-known symbol resolves to a common address.
|
103
|
-
|
104
|
-
void *xmalloc_from_library = dlsym(handle, "ruby_xmalloc");
|
105
|
-
|
106
|
-
if (xmalloc_from_library == NULL) {
|
107
|
-
// This happens when ruby is built without a `libruby.so` by using `--disable-shared` at compilation time.
|
108
|
-
// In this situation, no conflict between libruby version is possible.
|
109
|
-
return false;
|
110
|
-
}
|
111
|
-
|
112
|
-
if (xmalloc_from_library != &ruby_xmalloc) {
|
113
|
-
*failure_details = rb_str_new_cstr("library was compiled and linked to a different Ruby version");
|
114
|
-
unload_failed_library(handle);
|
115
|
-
return true;
|
116
|
-
} else {
|
117
|
-
return false;
|
118
|
-
}
|
119
|
-
}
|
120
|
-
|
121
|
-
static bool failed_to_initialize(void *handle, char *init_name, VALUE *failure_details) {
|
122
|
-
void (*initialization_function)(void) = dlsym(handle, init_name);
|
123
|
-
|
124
|
-
if (initialization_function == NULL) {
|
125
|
-
set_failure_from_dlerror(failure_details);
|
126
|
-
unload_failed_library(handle);
|
127
|
-
return true;
|
128
|
-
} else {
|
129
|
-
(*initialization_function)();
|
130
|
-
return false;
|
131
|
-
}
|
132
|
-
}
|
133
|
-
|
134
|
-
static void set_failure_from_dlerror(VALUE *failure_details) {
|
135
|
-
char *failure = dlerror();
|
136
|
-
*failure_details = failure == NULL ? Qnil : rb_str_new_cstr(failure);
|
137
|
-
}
|
138
|
-
|
139
|
-
static void unload_failed_library(void *handle) {
|
140
|
-
// Note: According to the Ruby VM sources, this may fail with a segfault on really old versions of macOS (< 10.11)
|
141
|
-
dlclose(handle);
|
142
|
-
}
|