ddtrace 1.1.0 → 1.9.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 +423 -1
- data/LICENSE-3rdparty.csv +3 -0
- data/README.md +9 -4
- data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +21 -5
- data/ext/ddtrace_profiling_loader/extconf.rb +22 -1
- data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +52 -8
- data/ext/ddtrace_profiling_native_extension/clock_id.h +22 -1
- data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +34 -3
- data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +11 -2
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +899 -0
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +9 -0
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +776 -0
- data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.c +142 -0
- data/ext/ddtrace_profiling_native_extension/collectors_dynamic_sampling_rate.h +14 -0
- data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.c +241 -0
- data/ext/ddtrace_profiling_native_extension/collectors_idle_sampling_helper.h +3 -0
- data/ext/ddtrace_profiling_native_extension/collectors_stack.c +175 -63
- data/ext/ddtrace_profiling_native_extension/collectors_stack.h +18 -0
- data/ext/ddtrace_profiling_native_extension/extconf.rb +90 -18
- data/ext/ddtrace_profiling_native_extension/helpers.h +17 -0
- data/ext/ddtrace_profiling_native_extension/http_transport.c +354 -0
- data/ext/ddtrace_profiling_native_extension/libdatadog_helpers.h +18 -0
- data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +154 -21
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +256 -17
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +17 -5
- data/ext/ddtrace_profiling_native_extension/profiling.c +223 -3
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +110 -0
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +89 -0
- data/ext/ddtrace_profiling_native_extension/setup_signal_handler.c +115 -0
- data/ext/ddtrace_profiling_native_extension/setup_signal_handler.h +11 -0
- data/ext/ddtrace_profiling_native_extension/stack_recorder.c +392 -44
- data/ext/ddtrace_profiling_native_extension/stack_recorder.h +25 -14
- data/ext/ddtrace_profiling_native_extension/time_helpers.c +17 -0
- data/ext/ddtrace_profiling_native_extension/time_helpers.h +10 -0
- data/lib/datadog/appsec/assets/blocked.html +98 -3
- data/lib/datadog/appsec/assets/blocked.json +1 -0
- data/lib/datadog/appsec/assets/blocked.text +5 -0
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +1250 -300
- data/lib/datadog/appsec/assets/waf_rules/risky.json +78 -78
- data/lib/datadog/appsec/assets/waf_rules/strict.json +308 -73
- data/lib/datadog/appsec/assets.rb +3 -3
- data/lib/datadog/appsec/autoload.rb +4 -2
- data/lib/datadog/appsec/configuration/settings.rb +40 -23
- data/lib/datadog/appsec/configuration.rb +9 -3
- data/lib/datadog/appsec/contrib/auto_instrument.rb +1 -3
- data/lib/datadog/appsec/contrib/configuration/settings.rb +2 -2
- data/lib/datadog/appsec/contrib/integration.rb +1 -1
- data/lib/datadog/appsec/contrib/patcher.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/ext.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +32 -27
- data/lib/datadog/appsec/contrib/rack/integration.rb +5 -5
- data/lib/datadog/appsec/contrib/rack/patcher.rb +2 -2
- data/lib/datadog/appsec/contrib/rack/reactive/request.rb +17 -21
- data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +13 -13
- data/lib/datadog/appsec/contrib/rack/reactive/response.rb +13 -13
- data/lib/datadog/appsec/contrib/rack/request.rb +21 -1
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +50 -23
- data/lib/datadog/appsec/contrib/rack/response.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +3 -3
- data/lib/datadog/appsec/contrib/rails/ext.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/framework.rb +1 -1
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +12 -11
- data/lib/datadog/appsec/contrib/rails/integration.rb +5 -5
- data/lib/datadog/appsec/contrib/rails/patcher.rb +14 -13
- data/lib/datadog/appsec/contrib/rails/reactive/action.rb +13 -13
- data/lib/datadog/appsec/contrib/rails/request.rb +4 -1
- data/lib/datadog/appsec/contrib/rails/request_middleware.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +3 -3
- data/lib/datadog/appsec/contrib/sinatra/ext.rb +2 -1
- data/lib/datadog/appsec/contrib/sinatra/framework.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +21 -19
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +22 -15
- data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +12 -12
- data/lib/datadog/appsec/contrib/sinatra/request_middleware.rb +1 -1
- data/lib/datadog/appsec/event.rb +10 -14
- data/lib/datadog/appsec/extensions.rb +43 -23
- data/lib/datadog/appsec/instrumentation/gateway.rb +17 -3
- data/lib/datadog/appsec/processor.rb +51 -21
- data/lib/datadog/appsec/rate_limiter.rb +1 -1
- data/lib/datadog/appsec/reactive/address_hash.rb +1 -1
- data/lib/datadog/appsec/reactive/engine.rb +3 -3
- data/lib/datadog/appsec/reactive/operation.rb +5 -5
- data/lib/datadog/appsec/reactive/subscriber.rb +1 -1
- data/lib/datadog/appsec/response.rb +63 -0
- data/lib/datadog/appsec/utils/http/media_range.rb +201 -0
- data/lib/datadog/appsec/utils/http/media_type.rb +87 -0
- data/lib/datadog/appsec/utils/http.rb +9 -0
- data/lib/datadog/appsec/utils.rb +7 -0
- data/lib/datadog/appsec.rb +6 -6
- data/lib/datadog/ci/configuration/components.rb +1 -1
- data/lib/datadog/ci/configuration/settings.rb +1 -1
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +2 -2
- data/lib/datadog/ci/contrib/cucumber/formatter.rb +5 -5
- data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +1 -1
- data/lib/datadog/ci/contrib/cucumber/integration.rb +4 -4
- data/lib/datadog/ci/contrib/cucumber/patcher.rb +2 -2
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +2 -2
- data/lib/datadog/ci/contrib/rspec/example.rb +5 -5
- data/lib/datadog/ci/contrib/rspec/integration.rb +4 -4
- data/lib/datadog/ci/contrib/rspec/patcher.rb +2 -2
- data/lib/datadog/ci/ext/environment.rb +78 -20
- data/lib/datadog/ci/extensions.rb +4 -4
- data/lib/datadog/ci/flush.rb +2 -2
- data/lib/datadog/ci/test.rb +3 -3
- data/lib/datadog/ci.rb +6 -6
- data/lib/datadog/core/buffer/cruby.rb +1 -1
- data/lib/datadog/core/buffer/thread_safe.rb +1 -1
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +8 -11
- data/lib/datadog/core/configuration/base.rb +14 -2
- data/lib/datadog/core/configuration/components.rb +103 -52
- data/lib/datadog/core/configuration/ext.rb +26 -0
- data/lib/datadog/core/configuration/option_definition.rb +12 -3
- data/lib/datadog/core/configuration/option_definition_set.rb +1 -1
- data/lib/datadog/core/configuration/options.rb +3 -3
- data/lib/datadog/core/configuration/settings.rb +78 -250
- data/lib/datadog/core/configuration.rb +9 -6
- data/lib/datadog/core/diagnostics/environment_logger.rb +10 -5
- data/lib/datadog/core/diagnostics/health.rb +5 -23
- data/lib/datadog/core/environment/cgroup.rb +1 -1
- data/lib/datadog/core/environment/container.rb +1 -1
- data/lib/datadog/core/environment/ext.rb +1 -1
- data/lib/datadog/core/environment/identity.rb +2 -2
- data/lib/datadog/core/environment/platform.rb +40 -0
- data/lib/datadog/core/environment/socket.rb +1 -1
- data/lib/datadog/core/environment/variable_helpers.rb +58 -10
- data/lib/datadog/core/error.rb +1 -1
- data/lib/datadog/core/extensions.rb +1 -1
- data/lib/datadog/core/header_collection.rb +41 -0
- data/lib/datadog/core/metrics/client.rb +10 -9
- data/lib/datadog/core/metrics/ext.rb +0 -2
- data/lib/datadog/core/metrics/options.rb +3 -3
- data/lib/datadog/core/runtime/ext.rb +1 -1
- data/lib/datadog/core/runtime/metrics.rb +6 -6
- data/lib/datadog/core/telemetry/client.rb +79 -0
- data/lib/datadog/core/telemetry/collector.rb +233 -0
- data/lib/datadog/core/telemetry/emitter.rb +48 -0
- data/lib/datadog/core/telemetry/event.rb +71 -0
- data/lib/datadog/core/telemetry/ext.rb +11 -0
- data/lib/datadog/core/telemetry/heartbeat.rb +37 -0
- data/lib/datadog/core/telemetry/http/adapters/net.rb +113 -0
- data/lib/datadog/core/telemetry/http/env.rb +20 -0
- data/lib/datadog/core/telemetry/http/ext.rb +20 -0
- data/lib/datadog/core/telemetry/http/response.rb +68 -0
- data/lib/datadog/core/telemetry/http/transport.rb +53 -0
- data/lib/datadog/core/telemetry/v1/app_event.rb +52 -0
- data/lib/datadog/core/telemetry/v1/application.rb +86 -0
- data/lib/datadog/core/telemetry/v1/configuration.rb +25 -0
- data/lib/datadog/core/telemetry/v1/dependency.rb +36 -0
- data/lib/datadog/core/telemetry/v1/host.rb +51 -0
- data/lib/datadog/core/telemetry/v1/integration.rb +58 -0
- data/lib/datadog/core/telemetry/v1/product.rb +28 -0
- data/lib/datadog/core/telemetry/v1/telemetry_request.rb +100 -0
- data/lib/datadog/core/utils/compression.rb +5 -1
- data/lib/datadog/core/utils/object_set.rb +1 -1
- data/lib/datadog/core/utils/sequence.rb +5 -0
- data/lib/datadog/core/utils/string_table.rb +1 -1
- data/lib/datadog/core/utils/time.rb +3 -3
- data/lib/datadog/core/utils.rb +1 -22
- data/lib/datadog/core/vendor/multipart-post/multipart/post/multipartable.rb +2 -2
- data/lib/datadog/core/vendor/multipart-post/net/http/post/multipart.rb +3 -3
- data/lib/datadog/core/workers/async.rb +1 -3
- data/lib/datadog/core/workers/polling.rb +2 -2
- data/lib/datadog/core/workers/runtime_metrics.rb +4 -4
- data/lib/datadog/core.rb +22 -56
- data/lib/datadog/kit/appsec/events.rb +75 -0
- data/lib/datadog/kit/enable_core_dumps.rb +1 -0
- data/lib/datadog/kit/identity.rb +8 -7
- data/lib/datadog/kit.rb +1 -1
- data/lib/datadog/opentelemetry/api/context.rb +187 -0
- data/lib/datadog/opentelemetry/api/trace/span.rb +15 -0
- data/lib/datadog/opentelemetry/sdk/configurator.rb +38 -0
- data/lib/datadog/opentelemetry/sdk/id_generator.rb +27 -0
- data/lib/datadog/opentelemetry/sdk/propagator.rb +91 -0
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +92 -0
- data/lib/datadog/opentelemetry.rb +48 -0
- data/lib/datadog/opentracer/distributed_headers.rb +7 -9
- data/lib/datadog/opentracer/rack_propagator.rb +10 -9
- data/lib/datadog/opentracer/span.rb +1 -1
- data/lib/datadog/opentracer/text_map_propagator.rb +13 -12
- data/lib/datadog/opentracer/thread_local_scope_manager.rb +26 -3
- data/lib/datadog/opentracer/tracer.rb +23 -21
- data/lib/datadog/opentracer.rb +16 -16
- data/lib/datadog/profiling/buffer.rb +3 -3
- data/lib/datadog/profiling/collectors/code_provenance.rb +1 -0
- data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +43 -0
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +91 -0
- data/lib/datadog/profiling/collectors/dynamic_sampling_rate.rb +14 -0
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +68 -0
- data/lib/datadog/profiling/collectors/old_stack.rb +15 -8
- data/lib/datadog/profiling/collectors/stack.rb +3 -6
- data/lib/datadog/profiling/encoding/profile.rb +8 -12
- data/lib/datadog/profiling/events/stack.rb +1 -1
- data/lib/datadog/profiling/exporter.rb +69 -9
- data/lib/datadog/profiling/ext/forking.rb +41 -42
- data/lib/datadog/profiling/ext.rb +3 -15
- data/lib/datadog/profiling/flush.rb +25 -56
- data/lib/datadog/profiling/http_transport.rb +132 -0
- data/lib/datadog/profiling/old_recorder.rb +109 -0
- data/lib/datadog/profiling/pprof/builder.rb +4 -4
- data/lib/datadog/profiling/pprof/converter.rb +1 -1
- data/lib/datadog/profiling/pprof/message_set.rb +1 -1
- data/lib/datadog/profiling/pprof/stack_sample.rb +4 -4
- data/lib/datadog/profiling/pprof/string_table.rb +1 -1
- data/lib/datadog/profiling/pprof/template.rb +5 -5
- data/lib/datadog/profiling/preload.rb +1 -1
- data/lib/datadog/profiling/profiler.rb +7 -0
- data/lib/datadog/profiling/scheduler.rb +28 -49
- data/lib/datadog/profiling/stack_recorder.rb +50 -4
- data/lib/datadog/profiling/tag_builder.rb +6 -1
- data/lib/datadog/profiling/tasks/setup.rb +2 -9
- data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +2 -2
- data/lib/datadog/profiling/trace_identifiers/helper.rb +1 -1
- data/lib/datadog/profiling.rb +24 -21
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +5 -5
- data/lib/datadog/tracing/client_ip.rb +164 -0
- data/lib/datadog/tracing/configuration/ext.rb +47 -4
- data/lib/datadog/tracing/configuration/settings.rb +433 -0
- data/lib/datadog/tracing/context.rb +1 -1
- data/lib/datadog/tracing/context_provider.rb +18 -2
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/event.rb +4 -5
- data/lib/datadog/tracing/contrib/action_cable/events/broadcast.rb +4 -4
- data/lib/datadog/tracing/contrib/action_cable/events/perform_action.rb +3 -3
- data/lib/datadog/tracing/contrib/action_cable/events/transmit.rb +4 -4
- data/lib/datadog/tracing/contrib/action_cable/events.rb +4 -4
- data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +3 -4
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/action_cable/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_mailer/event.rb +3 -3
- data/lib/datadog/tracing/contrib/action_mailer/events/deliver.rb +3 -3
- data/lib/datadog/tracing/contrib/action_mailer/events/process.rb +3 -3
- data/lib/datadog/tracing/contrib/action_mailer/events.rb +2 -2
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/action_mailer/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +10 -6
- data/lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/action_pack/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_pack/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/action_pack/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/action_pack/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_view/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/events/render_partial.rb +5 -5
- data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +5 -5
- data/lib/datadog/tracing/contrib/action_view/events.rb +2 -2
- data/lib/datadog/tracing/contrib/action_view/instrumentation/partial_renderer.rb +2 -2
- data/lib/datadog/tracing/contrib/action_view/instrumentation/template_renderer.rb +2 -2
- data/lib/datadog/tracing/contrib/action_view/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/action_view/patcher.rb +7 -7
- data/lib/datadog/tracing/contrib/action_view/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/active_job/event.rb +3 -3
- data/lib/datadog/tracing/contrib/active_job/events/discard.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events/perform.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/events.rb +6 -6
- data/lib/datadog/tracing/contrib/active_job/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/active_job/log_injection.rb +0 -2
- data/lib/datadog/tracing/contrib/active_job/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/event.rb +4 -5
- data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +3 -3
- data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +2 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/events.rb +2 -2
- data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/active_model_serializers/patcher.rb +3 -4
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/active_record/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +4 -4
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +6 -6
- data/lib/datadog/tracing/contrib/active_record/events.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/active_record/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/utils.rb +2 -2
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +19 -9
- data/lib/datadog/tracing/contrib/active_support/cache/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/active_support/cache/redis.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/active_support/integration.rb +5 -5
- data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/analytics.rb +1 -1
- data/lib/datadog/tracing/contrib/auto_instrument.rb +4 -4
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +6 -3
- data/lib/datadog/tracing/contrib/aws/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +5 -4
- data/lib/datadog/tracing/contrib/aws/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/aws/services.rb +0 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/configurable.rb +2 -2
- data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +6 -3
- data/lib/datadog/tracing/contrib/dalli/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +8 -5
- data/lib/datadog/tracing/contrib/dalli/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/dalli/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/dalli/quantize.rb +1 -1
- data/lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/delayed_job/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/delayed_job/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/delayed_job/patcher.rb +8 -2
- data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +7 -4
- data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +32 -0
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +7 -3
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +3 -0
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +9 -7
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +1 -1
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +8 -3
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +6 -7
- data/lib/datadog/tracing/contrib/ethon/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/ethon/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +5 -4
- data/lib/datadog/tracing/contrib/ethon/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +7 -3
- data/lib/datadog/tracing/contrib/excon/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/excon/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/excon/middleware.rb +8 -7
- data/lib/datadog/tracing/contrib/excon/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/ext.rb +25 -0
- data/lib/datadog/tracing/contrib/extensions.rb +5 -3
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +7 -3
- data/lib/datadog/tracing/contrib/faraday/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/faraday/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +8 -8
- data/lib/datadog/tracing/contrib/faraday/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/grape/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +4 -7
- data/lib/datadog/tracing/contrib/grape/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/grape/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/graphql/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +2 -3
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +10 -4
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +20 -5
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +17 -17
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +7 -4
- data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +27 -0
- data/lib/datadog/tracing/contrib/grpc/distributed/propagation.rb +43 -0
- data/lib/datadog/tracing/contrib/grpc/ext.rb +4 -0
- data/lib/datadog/tracing/contrib/grpc/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc/patcher.rb +3 -5
- data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +47 -0
- data/lib/datadog/tracing/contrib/hanami/configuration/settings.rb +22 -0
- data/lib/datadog/tracing/contrib/hanami/ext.rb +24 -0
- data/lib/datadog/tracing/contrib/hanami/integration.rb +44 -0
- data/lib/datadog/tracing/contrib/hanami/patcher.rb +33 -0
- data/lib/datadog/tracing/contrib/hanami/plugin.rb +23 -0
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +41 -0
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +44 -0
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +1 -2
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +13 -3
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +39 -0
- data/lib/datadog/tracing/contrib/http/distributed/propagation.rb +38 -0
- data/lib/datadog/tracing/contrib/http/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +8 -10
- data/lib/datadog/tracing/contrib/http/integration.rb +6 -6
- data/lib/datadog/tracing/contrib/http/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +13 -3
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +9 -9
- data/lib/datadog/tracing/contrib/httpclient/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/httpclient/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +13 -3
- data/lib/datadog/tracing/contrib/httprb/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +9 -9
- data/lib/datadog/tracing/contrib/httprb/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/httprb/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/kafka/consumer_event.rb +1 -0
- data/lib/datadog/tracing/contrib/kafka/event.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +2 -2
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +4 -4
- data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +3 -2
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +3 -2
- data/lib/datadog/tracing/contrib/kafka/events.rb +9 -9
- data/lib/datadog/tracing/contrib/kafka/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/kafka/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/lograge/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +1 -2
- data/lib/datadog/tracing/contrib/lograge/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +7 -3
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +8 -0
- data/lib/datadog/tracing/contrib/mongodb/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +10 -4
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +18 -3
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +2 -0
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +20 -5
- data/lib/datadog/tracing/contrib/mysql2/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/mysql2/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/patcher.rb +16 -4
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +50 -0
- data/lib/datadog/tracing/contrib/pg/ext.rb +33 -0
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +168 -0
- data/lib/datadog/tracing/contrib/pg/integration.rb +43 -0
- data/lib/datadog/tracing/contrib/pg/patcher.rb +31 -0
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +6 -3
- data/lib/datadog/tracing/contrib/presto/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +2 -3
- data/lib/datadog/tracing/contrib/presto/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/presto/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +43 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb +33 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb +28 -0
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +47 -0
- data/lib/datadog/tracing/contrib/qless/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/qless/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/qless/patcher.rb +1 -2
- data/lib/datadog/tracing/contrib/qless/qless_job.rb +2 -3
- data/lib/datadog/tracing/contrib/qless/tracer_cleaner.rb +0 -2
- data/lib/datadog/tracing/contrib/que/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/que/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/que/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/que/tracer.rb +3 -1
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/event.rb +4 -5
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +6 -3
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +6 -3
- data/lib/datadog/tracing/contrib/racecar/events.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/racecar/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/rack/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +35 -0
- data/lib/datadog/tracing/contrib/rack/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +129 -61
- data/lib/datadog/tracing/contrib/rack/patcher.rb +12 -2
- data/lib/datadog/tracing/contrib/rails/auto_instrument_railtie.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +4 -1
- data/lib/datadog/tracing/contrib/rails/framework.rb +18 -22
- data/lib/datadog/tracing/contrib/rails/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +0 -2
- data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -2
- data/lib/datadog/tracing/contrib/rails/patcher.rb +7 -8
- data/lib/datadog/tracing/contrib/rails/railtie.rb +3 -3
- data/lib/datadog/tracing/contrib/rails/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/rake/configuration/settings.rb +17 -2
- data/lib/datadog/tracing/contrib/rake/instrumentation.rb +12 -7
- data/lib/datadog/tracing/contrib/rake/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/rake/patcher.rb +3 -4
- data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +6 -3
- data/lib/datadog/tracing/contrib/redis/ext.rb +3 -0
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +36 -26
- data/lib/datadog/tracing/contrib/redis/integration.rb +37 -4
- data/lib/datadog/tracing/contrib/redis/patcher.rb +57 -13
- data/lib/datadog/tracing/contrib/redis/quantize.rb +12 -9
- data/lib/datadog/tracing/contrib/redis/tags.rb +12 -10
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +72 -0
- data/lib/datadog/tracing/contrib/resque/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/resque/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/resque/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/resque/resque_job.rb +5 -4
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +9 -3
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/rest_client/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +7 -6
- data/lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +1 -2
- data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/semantic_logger/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/sequel/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sequel/database.rb +4 -5
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +4 -5
- data/lib/datadog/tracing/contrib/sequel/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/sequel/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/sequel/utils.rb +2 -2
- data/lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/shoryuken/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/shoryuken/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +3 -1
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +9 -5
- data/lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/contrib/sidekiq/ext.rb +6 -0
- data/lib/datadog/tracing/contrib/sidekiq/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/sidekiq/patcher.rb +14 -7
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb +19 -1
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/{scheduled_push.rb → redis_info.rb} +5 -6
- data/lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb +53 -0
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +10 -6
- data/lib/datadog/tracing/contrib/sidekiq/tracing.rb +2 -2
- data/lib/datadog/tracing/contrib/sinatra/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sinatra/env.rb +14 -25
- data/lib/datadog/tracing/contrib/sinatra/ext.rb +7 -3
- data/lib/datadog/tracing/contrib/sinatra/framework.rb +0 -2
- data/lib/datadog/tracing/contrib/sinatra/headers.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/sinatra/patcher.rb +7 -7
- data/lib/datadog/tracing/contrib/sinatra/tracer.rb +15 -88
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +20 -16
- data/lib/datadog/tracing/contrib/sneakers/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sneakers/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/sneakers/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/sneakers/tracer.rb +4 -3
- data/lib/datadog/tracing/contrib/status_code_matcher.rb +2 -2
- data/lib/datadog/tracing/contrib/stripe/configuration/settings.rb +33 -0
- data/lib/datadog/tracing/contrib/stripe/ext.rb +26 -0
- data/lib/datadog/tracing/contrib/stripe/integration.rb +43 -0
- data/lib/datadog/tracing/contrib/stripe/patcher.rb +29 -0
- data/lib/datadog/tracing/contrib/stripe/request.rb +67 -0
- data/lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +3 -4
- data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/sucker_punch/patcher.rb +4 -5
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +92 -10
- data/lib/datadog/tracing/contrib.rb +50 -47
- data/lib/datadog/tracing/correlation.rb +1 -1
- data/lib/datadog/{core → tracing}/diagnostics/ext.rb +1 -6
- data/lib/datadog/tracing/diagnostics/health.rb +40 -0
- data/lib/datadog/tracing/distributed/b3_multi.rb +66 -0
- data/lib/datadog/tracing/distributed/b3_single.rb +66 -0
- data/lib/datadog/tracing/distributed/datadog.rb +153 -0
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +85 -0
- data/lib/datadog/tracing/distributed/fetcher.rb +30 -0
- data/lib/datadog/tracing/distributed/headers/ext.rb +19 -15
- data/lib/datadog/tracing/distributed/helpers.rb +40 -4
- data/lib/datadog/tracing/distributed/none.rb +19 -0
- data/lib/datadog/tracing/distributed/propagation.rb +127 -0
- data/lib/datadog/tracing/distributed/trace_context.rb +378 -0
- data/lib/datadog/tracing/event.rb +1 -1
- data/lib/datadog/tracing/flush.rb +57 -35
- data/lib/datadog/tracing/metadata/analytics.rb +2 -2
- data/lib/datadog/tracing/metadata/errors.rb +2 -2
- data/lib/datadog/tracing/metadata/ext.rb +28 -1
- data/lib/datadog/tracing/metadata/tagging.rb +23 -2
- data/lib/datadog/tracing/metadata.rb +3 -3
- data/lib/datadog/tracing/pipeline/span_filter.rb +10 -6
- data/lib/datadog/tracing/pipeline.rb +3 -3
- data/lib/datadog/tracing/propagation/http.rb +3 -98
- data/lib/datadog/tracing/runtime/metrics.rb +1 -1
- data/lib/datadog/tracing/sampling/all_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/ext.rb +31 -0
- data/lib/datadog/tracing/sampling/priority_sampler.rb +62 -9
- data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +10 -11
- data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +32 -8
- data/lib/datadog/tracing/sampling/rate_limiter.rb +4 -1
- data/lib/datadog/tracing/sampling/rate_sampler.rb +27 -10
- data/lib/datadog/tracing/sampling/rule.rb +3 -3
- data/lib/datadog/tracing/sampling/rule_sampler.rb +8 -7
- data/lib/datadog/tracing/sampling/span/ext.rb +25 -0
- data/lib/datadog/tracing/sampling/span/matcher.rb +89 -0
- data/lib/datadog/tracing/sampling/span/rule.rb +82 -0
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +104 -0
- data/lib/datadog/tracing/sampling/span/sampler.rb +75 -0
- data/lib/datadog/tracing/span.rb +24 -20
- data/lib/datadog/tracing/span_operation.rb +13 -13
- data/lib/datadog/tracing/sync_writer.rb +5 -5
- data/lib/datadog/tracing/trace_digest.rb +88 -2
- data/lib/datadog/tracing/trace_operation.rb +60 -15
- data/lib/datadog/tracing/trace_segment.rb +13 -8
- data/lib/datadog/tracing/tracer.rb +49 -21
- data/lib/datadog/tracing/utils.rb +50 -0
- data/lib/datadog/tracing/workers/trace_writer.rb +9 -9
- data/lib/datadog/tracing/workers.rb +3 -3
- data/lib/datadog/tracing/writer.rb +12 -5
- data/lib/datadog/tracing.rb +8 -8
- data/lib/ddtrace/auto_instrument.rb +9 -2
- data/lib/ddtrace/transport/ext.rb +7 -1
- data/lib/ddtrace/transport/http/adapters/net.rb +3 -2
- data/lib/ddtrace/transport/http/adapters/test.rb +1 -1
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +2 -2
- data/lib/ddtrace/transport/http/api/map.rb +1 -1
- data/lib/ddtrace/transport/http/api.rb +4 -4
- data/lib/ddtrace/transport/http/builder.rb +5 -5
- data/lib/ddtrace/transport/http/client.rb +2 -2
- data/lib/ddtrace/transport/http/response.rb +1 -1
- data/lib/ddtrace/transport/http/statistics.rb +1 -1
- data/lib/ddtrace/transport/http/traces.rb +5 -5
- data/lib/ddtrace/transport/http.rb +12 -9
- data/lib/ddtrace/transport/io/client.rb +2 -2
- data/lib/ddtrace/transport/io/response.rb +1 -1
- data/lib/ddtrace/transport/io/traces.rb +3 -3
- data/lib/ddtrace/transport/io.rb +3 -3
- data/lib/ddtrace/transport/statistics.rb +2 -2
- data/lib/ddtrace/transport/trace_formatter.rb +14 -10
- data/lib/ddtrace/transport/traces.rb +8 -6
- data/lib/ddtrace/version.rb +1 -1
- data/lib/ddtrace.rb +6 -6
- metadata +127 -48
- data/.editorconfig +0 -22
- data/.gitignore +0 -58
- data/CONTRIBUTING.md +0 -81
- data/ddtrace.gemspec +0 -68
- data/docs/0.x-trace.png +0 -0
- data/docs/1.0-trace.png +0 -0
- data/docs/AutoInstrumentation.md +0 -36
- data/docs/Deprecation.md +0 -8
- data/docs/DevelopmentGuide.md +0 -259
- data/docs/GettingStarted.md +0 -2688
- data/docs/ProfilingDevelopment.md +0 -110
- data/docs/PublicApi.md +0 -14
- data/docs/UpgradeGuide.md +0 -736
- data/ext/ddtrace_profiling_native_extension/libddprof_helpers.h +0 -13
- data/lib/datadog/profiling/recorder.rb +0 -117
- data/lib/datadog/profiling/transport/client.rb +0 -16
- data/lib/datadog/profiling/transport/http/api/endpoint.rb +0 -107
- data/lib/datadog/profiling/transport/http/api/instance.rb +0 -38
- data/lib/datadog/profiling/transport/http/api/spec.rb +0 -42
- data/lib/datadog/profiling/transport/http/api.rb +0 -45
- data/lib/datadog/profiling/transport/http/builder.rb +0 -30
- data/lib/datadog/profiling/transport/http/client.rb +0 -35
- data/lib/datadog/profiling/transport/http/response.rb +0 -23
- data/lib/datadog/profiling/transport/http.rb +0 -112
- data/lib/datadog/profiling/transport/io/client.rb +0 -29
- data/lib/datadog/profiling/transport/io/response.rb +0 -18
- data/lib/datadog/profiling/transport/io.rb +0 -32
- data/lib/datadog/profiling/transport/parcel.rb +0 -19
- data/lib/datadog/profiling/transport/request.rb +0 -17
- data/lib/datadog/profiling/transport/response.rb +0 -10
- data/lib/datadog/tracing/distributed/headers/b3.rb +0 -55
- data/lib/datadog/tracing/distributed/headers/b3_single.rb +0 -67
- data/lib/datadog/tracing/distributed/headers/datadog.rb +0 -52
- data/lib/datadog/tracing/distributed/parser.rb +0 -70
- data/lib/datadog/tracing/propagation/grpc.rb +0 -88
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ba4a81593411a12abfa1665b3910e49e35429b1b266779e93accb0f84a478d2
|
|
4
|
+
data.tar.gz: e72362dc1a1e682a3c52b8af8017fcd12e60d353843cdd129f65a55dbb0c312d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a083b23cfadccc78e67a5aa2a3ae067bc868e4721d92d1fb9fcbadc7536332fabd20f6638fb157712e5e909afd3e3e505a2011838a4f0e98dbebaa64a38f7db6
|
|
7
|
+
data.tar.gz: 81b27dbbf685c01ee99ab79a8774aefca4a2feb93363a41e1a3465b01b1b07f571d5bdd75a73880658ae05254a3d742651bdf8df98fd48c040f73bb6a16702d0
|
data/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,282 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.9.0] - 2023-01-30
|
|
6
|
+
|
|
7
|
+
As of ddtrace 1.9.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details, check the release notes.
|
|
8
|
+
|
|
9
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.9.0
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* Tracing: Add `Stripe` instrumentation ([#2557][])
|
|
14
|
+
* Tracing: Add configurable response codes considered as errors for `Net/HTTP`, `httprb` and `httpclient` ([#2501][], [#2576][])([@caramcc][])
|
|
15
|
+
* Tracing: Flexible header matching for HTTP propagator ([#2504][])
|
|
16
|
+
* Tracing: `OpenTelemetry` Traces support ([#2496][])
|
|
17
|
+
* Tracing: W3C: Propagate unknown values as-is ([#2485][])
|
|
18
|
+
* Appsec: Add event kit API ([#2512][])
|
|
19
|
+
* Profiling: Allow profiler development on arm64 macOS ([#2573][])
|
|
20
|
+
* Core: Add `profiling_enabled` state to environment logger output ([#2541][])
|
|
21
|
+
* Core: Add 'type' to `OptionDefinition` ([#2493][])
|
|
22
|
+
* Allow `debase-ruby_core_source` 3.2.0 to be used ([#2526][])
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
* Profiling: Upgrade to `libdatadog` to `1.0.1.1.0` ([#2530][])
|
|
27
|
+
* Appsec: Update appsec rules `1.4.3` ([#2580][])
|
|
28
|
+
* Ci: Update CI Visibility metadata extraction ([#2586][])
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
* Profiling: Fix wrong `libdatadog` version being picked during profiler build ([#2531][])
|
|
33
|
+
* Tracing: Support `PG` calls with a block ([#2522][])
|
|
34
|
+
* Ci: Fix error in `teamcity` env vars ([#2562][])
|
|
35
|
+
|
|
36
|
+
## [1.8.0] - 2022-12-14
|
|
37
|
+
|
|
38
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.8.0
|
|
39
|
+
|
|
40
|
+
As of ddtrace 1.8.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details,
|
|
41
|
+
check the release notes.
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
* Core: Profiling: [PROF-6559] Mark Ruby CPU Profiling 2.0 as being in beta ([#2489][])
|
|
46
|
+
* Tracing: Attempt to parse future version of TraceContext ([#2473][])
|
|
47
|
+
* Tracing: Add DD_TRACE_PROPAGATION_STYLE option ([#2466][])
|
|
48
|
+
* Integrations: Tracing: SQL comment propagation full mode with traceparent ([#2464][])
|
|
49
|
+
* Integrations: Tracing: Wire W3C propagator to HTTP & gRPC propagation ([#2458][])
|
|
50
|
+
* Integrations: Tracing: Auto-instrumentation with service_name from environmental variable ([#2455][])
|
|
51
|
+
* Core: Integrations: Tracing: Deprecation notice for B3 propagation configuration ([#2454][])
|
|
52
|
+
* Tracing: Add W3C Trace Context propagator ([#2451][])
|
|
53
|
+
* Integrations: Tracing: Redis 5 Instrumentation ([#2428][])
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
* Tracing: Changes `error.msg` to `error.message` for UNC ([#2469][])
|
|
58
|
+
* Tracing: Semicolons not allowed in 'origin' ([#2461][])
|
|
59
|
+
* Core: Dev/refactor: Tracing: Dev/internal: Move Utils#next_id and constants to Tracing::Utils ([#2463][])
|
|
60
|
+
* Core: Dev/refactor: Tracing: Dev/internal: Move Tracing config settings from Core to Tracing ([#2459][])
|
|
61
|
+
* Core: Dev/refactor: Tracing: Dev/internal: Move Tracing diagnostic code from Core to Tracing ([#2453][])
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
* Integrations: Tracing: Improve redis integration patching ([#2470][])
|
|
66
|
+
* Tracing: Extra testing from W3C spec ([#2460][])
|
|
67
|
+
|
|
68
|
+
## [1.7.0] - 2022-11-29
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
* Integrations: Support que 2 ([#2382][]) ([@danhodge][])
|
|
72
|
+
* Tracing: Unified tagging `span.kind` as `server` and `client` ([#2365][])
|
|
73
|
+
* Tracing: Adds `span.kind` tag for `kafka`, `sidekiq`, `racecar`, `que`, `shoryuken`, `sneakers`, and `resque` ([#2420][], [#2419][], [#2413][], [#2394][])
|
|
74
|
+
* Tracing: Adds `span.kind` with values `producer` and `consumer` for `delayed_job` ([#2393][])
|
|
75
|
+
* Tracing: Adds `span.kind` as `client` for `redis` ([#2392][])
|
|
76
|
+
* Appsec: Pass HTTP client IP to WAF ([#2316][])
|
|
77
|
+
* Unified tagging `process_id` ([#2276][])
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
* Allow `debase-ruby_core_source` 0.10.18 to be used ([#2435][])
|
|
81
|
+
* Update AppSec ruleset to v1.4.2 ([#2390][])
|
|
82
|
+
* Refactored clearing of profile data after Ruby app forks ([#2362][], [#2367][])
|
|
83
|
+
* Tracing: Move distributed propagation to Contrib ([#2352][])
|
|
84
|
+
|
|
85
|
+
### Fixed
|
|
86
|
+
* Fix ddtrace installation issue when users have CI=true ([#2378][])
|
|
87
|
+
|
|
88
|
+
## [1.6.1] - 2022-11-16
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
|
|
92
|
+
* Limit `redis` version support to less than 5
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
|
|
96
|
+
* [redis]: Fix frozen input for `Redis.new(...)`
|
|
97
|
+
|
|
98
|
+
## [1.6.0] - 2022-11-15
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
|
|
102
|
+
* Trace level tags propagation in distributed tracing ([#2260][])
|
|
103
|
+
* [hanami]: Hanami 1.x instrumentation ([#2230][])
|
|
104
|
+
* [pg, mysql2]: option `comment_propagation` for SQL comment propagation, default is `disabled` ([#2339][])([#2324][])
|
|
105
|
+
|
|
106
|
+
### Changed
|
|
107
|
+
|
|
108
|
+
* [rack, sinatra]: Squash nested spans and improve patching mechanism.<br> No need to `register Datadog::Tracing::Contrib::Sinatra::Tracer`([#2217][])
|
|
109
|
+
* [rails, rack]: Fix Non-GET request method with rails exception controller ([#2317][])
|
|
110
|
+
* Upgrade to libdatadog 0.9.0.1.0 ([#2302][])
|
|
111
|
+
* Remove legacy profiling transport ([#2062][])
|
|
112
|
+
|
|
113
|
+
### Fixed
|
|
114
|
+
|
|
115
|
+
* [redis]: Fix redis instance configuration, not on `client` ([#2363][])
|
|
116
|
+
```
|
|
117
|
+
# Change your code from
|
|
118
|
+
Datadog.configure_onto(redis.client, service_name: '...')
|
|
119
|
+
# to
|
|
120
|
+
Datadog.configure_onto(redis, service_name: '...')
|
|
121
|
+
```
|
|
122
|
+
* Allow `DD_TAGS` values to have the colon character ([#2292][])
|
|
123
|
+
* Ensure that `TraceSegment` can be reported correctly when they are dropped ([#2335][])
|
|
124
|
+
* Docs: Fixes upgrade guide on configure_onto ([#2307][])
|
|
125
|
+
* Fix environment logger with IO transport ([#2313][])
|
|
126
|
+
|
|
127
|
+
## [1.5.2] - 2022-10-27
|
|
128
|
+
|
|
129
|
+
### Deprecation notice
|
|
130
|
+
|
|
131
|
+
- `DD_TRACE_CLIENT_IP_HEADER_DISABLED` was changed to `DD_TRACE_CLIENT_IP_ENABLED`. Although the former still works we encourage usage of the latter instead.
|
|
132
|
+
|
|
133
|
+
### Changed
|
|
134
|
+
|
|
135
|
+
- `http.client_ip` tag collection is made opt-in for APM. Note that `http.client_ip` is always collected when ASM is enabled as part of the security service provided ([#2321][], [#2331][])
|
|
136
|
+
|
|
137
|
+
### Fixed
|
|
138
|
+
|
|
139
|
+
- Handle REQUEST_URI with base url ([#2328][], [#2330][])
|
|
140
|
+
|
|
141
|
+
## [1.5.1] - 2022-10-19
|
|
142
|
+
|
|
143
|
+
### Changed
|
|
144
|
+
|
|
145
|
+
* Update libddwaf to 1.5.1 ([#2306][])
|
|
146
|
+
* Improve libddwaf extension memory management ([#2306][])
|
|
147
|
+
|
|
148
|
+
### Fixed
|
|
149
|
+
|
|
150
|
+
* Fix `URI::InvalidURIError` ([#2310][], [#2318][]) ([@yujideveloper][])
|
|
151
|
+
* Handle URLs with invalid characters ([#2311][], [#2319][])
|
|
152
|
+
* Fix missing appsec.event tag ([#2306][])
|
|
153
|
+
* Fix missing Rack and Rails request body parsing for AppSec analysis ([#2306][])
|
|
154
|
+
* Fix unneeded AppSec call in a Rack context when AppSec is disabled ([#2306][])
|
|
155
|
+
* Fix spurious AppSec instrumentation ([#2306][])
|
|
156
|
+
|
|
157
|
+
## [1.5.0] - 2022-09-29
|
|
158
|
+
|
|
159
|
+
### Deprecation notice
|
|
160
|
+
|
|
161
|
+
* `c.tracing.instrument :rack, { quantize: { base: ... } }` will change its default from `:exclude` to `:show` in a future version. Voluntarily moving to `:show` is recommended.
|
|
162
|
+
* `c.tracing.instrument :rack, { quantize: { query: { show: ... } }` will change its default to `:all` in a future version, together with `quantize.query.obfuscate` changing to `:internal`. Voluntarily moving to these future values is recommended.
|
|
163
|
+
|
|
164
|
+
### Added
|
|
165
|
+
|
|
166
|
+
* Feature: Single Span Sampling ([#2128][])
|
|
167
|
+
* Add query string automatic redaction ([#2283][])
|
|
168
|
+
* Use full URL in `http.url` tag ([#2265][])
|
|
169
|
+
* Add `http.useragent` tag ([#2252][])
|
|
170
|
+
* Add `http.client_ip` tag for Rack-based frameworks ([#2248][])
|
|
171
|
+
* Ci-app: CI: Fetch committer and author in Bitrise ([#2258][])
|
|
172
|
+
|
|
173
|
+
### Changed
|
|
174
|
+
|
|
175
|
+
* Bump allowed version of debase-ruby_core_source to include v0.10.17 ([#2267][])
|
|
176
|
+
|
|
177
|
+
### Fixed
|
|
178
|
+
|
|
179
|
+
* Bug: Fix `service_nam` typo to `service_name` ([#2296][])
|
|
180
|
+
* Bug: Check AppSec Rails for railties instead of rails meta gem ([#2293][]) ([@seuros][])
|
|
181
|
+
* Ci-app: Correctly extract commit message from AppVeyor ([#2257][])
|
|
182
|
+
|
|
183
|
+
## [1.4.2] - 2022-09-27
|
|
184
|
+
|
|
185
|
+
### Fixed
|
|
186
|
+
|
|
187
|
+
OpenTracing context propagation ([#2191][], [#2289][])
|
|
188
|
+
|
|
189
|
+
## [1.4.1] - 2022-09-15
|
|
190
|
+
|
|
191
|
+
### Fixed
|
|
192
|
+
|
|
193
|
+
* Missing distributed traces when trace is dropped by priority sampling ([#2101][], [#2279][])
|
|
194
|
+
* Profiling support when Ruby is compiled without a shared library ([#2250][])
|
|
195
|
+
|
|
196
|
+
## [1.4.0] - 2022-08-25
|
|
197
|
+
|
|
198
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0
|
|
199
|
+
|
|
200
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
|
|
201
|
+
|
|
202
|
+
### Added
|
|
203
|
+
|
|
204
|
+
* gRPC: tag `grpc.client.deadline` ([#2200][])
|
|
205
|
+
* Implement telemetry, disable by default ([#2153][])
|
|
206
|
+
|
|
207
|
+
### Changed
|
|
208
|
+
|
|
209
|
+
* Bump `libdatadog` dependency version ([#2229][])
|
|
210
|
+
|
|
211
|
+
### Fixed
|
|
212
|
+
|
|
213
|
+
* Fix CI instrumentation configuration ([#2219][])
|
|
214
|
+
|
|
215
|
+
## [1.3.0] - 2022-08-04
|
|
216
|
+
|
|
217
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0
|
|
218
|
+
|
|
219
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
|
|
220
|
+
|
|
221
|
+
### Added
|
|
222
|
+
|
|
223
|
+
* Top-level span being tagged to avoid duplicate computation ([#2138][])
|
|
224
|
+
|
|
225
|
+
### Changed
|
|
226
|
+
|
|
227
|
+
* ActiveSupport: Optionally disable tracing with Rails ([@marcotc][])
|
|
228
|
+
* Rack: Resource overwritten by nested application ([#2180][])
|
|
229
|
+
* Rake: Explicit task instrumentation to prevent memory bloat ([#2174][])
|
|
230
|
+
* Sidekiq and DelayedJob: Add spans to improve tracing ([#2170][])
|
|
231
|
+
* Drop Profiling support for Ruby 2.1 ([#2140][])
|
|
232
|
+
* Migrate `libddprof` dependency to `libdatadog` ([#2061][])
|
|
233
|
+
|
|
234
|
+
### Fixed
|
|
235
|
+
|
|
236
|
+
* Fix OpenTracing propagation with TraceDigest ([#2201][])
|
|
237
|
+
* Fix SpanFilter dropping descendant spans ([#2074][])
|
|
238
|
+
* Redis: Fix Empty pipelined span being dropped ([#757][]) ([@sponomarev][])
|
|
239
|
+
* Fix profiler not restarting on `Process.daemon` ([#2150][])
|
|
240
|
+
* Fix setting service from Rails configuration ([#2118][]) ([@agrobbin][])
|
|
241
|
+
* Some document and development improvement ([@marocchino][]) ([@yukimurasawa][])
|
|
242
|
+
|
|
243
|
+
## [1.2.0] - 2022-07-11
|
|
244
|
+
|
|
245
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0
|
|
246
|
+
|
|
247
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
|
|
248
|
+
|
|
249
|
+
Special thanks go to [@miketheman][] for gifting Datadog access to the `datadog` gem a few days ago.
|
|
250
|
+
|
|
251
|
+
### Added
|
|
252
|
+
|
|
253
|
+
* Add Postgres (`pg` gem) instrumentation ([#2054][]) ([@jennchenn][])
|
|
254
|
+
* Add env var for debugging profiling native extension compilation issues ([#2069][])
|
|
255
|
+
* Teach Rest Client integration the `:split_by_domain` option ([#2079][]) ([@agrobbin][])
|
|
256
|
+
* Allow passing request_queuing option to Rack through Rails tracer ([#2082][]) ([@KieranP][])
|
|
257
|
+
* Add Utility to Collect Platform Information ([#2097][]) ([@jennchenn][])
|
|
258
|
+
* Add convenient interface for getting and setting tags using `[]` and `[]=` respectively ([#2076][]) ([@ioquatix][])
|
|
259
|
+
* Add b3 metadata in grpc ([#2110][]) ([@henrich-m][])
|
|
260
|
+
|
|
261
|
+
### Changed
|
|
262
|
+
|
|
263
|
+
* Profiler now reports profiling data using the libddprof gem ([#2059][])
|
|
264
|
+
* Rename `Kernel#at_fork_blocks` monkey patch to `Kernel#ddtrace_at_fork_blocks` ([#2070][])
|
|
265
|
+
* Improved error message for enabling profiling when `pkg-config` system tool is not installed ([#2134][])
|
|
266
|
+
|
|
267
|
+
### Fixed
|
|
268
|
+
|
|
269
|
+
* Prevent errors in `action_controller` integration when tracing is disabled ([#2027][]) ([@ahorner][])
|
|
270
|
+
* Fix profiler not building on ruby-head (3.2) due to VM refactoring ([#2066][])
|
|
271
|
+
* Span and trace IDs should not be zero ([#2113][]) ([@albertvaka][])
|
|
272
|
+
* Fix object_id usage as thread local key ([#2096][])
|
|
273
|
+
* Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues ([#2125][])
|
|
274
|
+
|
|
5
275
|
## [1.1.0] - 2022-05-25
|
|
6
276
|
|
|
277
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0
|
|
278
|
+
|
|
279
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
|
|
280
|
+
|
|
7
281
|
### Added
|
|
8
282
|
|
|
9
283
|
* [Application Security Monitoring](https://docs.datadoghq.com/security_platform/application_security/)
|
|
@@ -2007,7 +2281,20 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
|
2007
2281
|
|
|
2008
2282
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
2009
2283
|
|
|
2010
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.
|
|
2284
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.9.0...master
|
|
2285
|
+
[1.9.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.8.0...v1.9.0
|
|
2286
|
+
[1.8.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.7.0...v1.8.0
|
|
2287
|
+
[1.7.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.6.1...v1.7.0
|
|
2288
|
+
[1.6.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.6.0...v1.6.1
|
|
2289
|
+
[1.6.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.2...v1.6.0
|
|
2290
|
+
[1.5.2]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.1...v1.5.2
|
|
2291
|
+
[1.5.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.0...v1.5.1
|
|
2292
|
+
[1.5.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.2...v1.5.0
|
|
2293
|
+
[1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.1...v1.4.2
|
|
2294
|
+
[1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.0...v1.4.1
|
|
2295
|
+
[1.4.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
|
|
2296
|
+
[1.3.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
|
|
2297
|
+
[1.2.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
|
|
2011
2298
|
[1.1.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
|
|
2012
2299
|
[1.0.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0
|
|
2013
2300
|
[1.0.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2
|
|
@@ -2318,6 +2605,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2318
2605
|
[#753]: https://github.com/DataDog/dd-trace-rb/issues/753
|
|
2319
2606
|
[#754]: https://github.com/DataDog/dd-trace-rb/issues/754
|
|
2320
2607
|
[#756]: https://github.com/DataDog/dd-trace-rb/issues/756
|
|
2608
|
+
[#757]: https://github.com/DataDog/dd-trace-rb/issues/757
|
|
2321
2609
|
[#760]: https://github.com/DataDog/dd-trace-rb/issues/760
|
|
2322
2610
|
[#762]: https://github.com/DataDog/dd-trace-rb/issues/762
|
|
2323
2611
|
[#765]: https://github.com/DataDog/dd-trace-rb/issues/765
|
|
@@ -2852,7 +3140,126 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2852
3140
|
[#2010]: https://github.com/DataDog/dd-trace-rb/issues/2010
|
|
2853
3141
|
[#2011]: https://github.com/DataDog/dd-trace-rb/issues/2011
|
|
2854
3142
|
[#2022]: https://github.com/DataDog/dd-trace-rb/issues/2022
|
|
3143
|
+
[#2027]: https://github.com/DataDog/dd-trace-rb/issues/2027
|
|
2855
3144
|
[#2028]: https://github.com/DataDog/dd-trace-rb/issues/2028
|
|
3145
|
+
[#2054]: https://github.com/DataDog/dd-trace-rb/issues/2054
|
|
3146
|
+
[#2059]: https://github.com/DataDog/dd-trace-rb/issues/2059
|
|
3147
|
+
[#2061]: https://github.com/DataDog/dd-trace-rb/issues/2061
|
|
3148
|
+
[#2062]: https://github.com/DataDog/dd-trace-rb/issues/2062
|
|
3149
|
+
[#2066]: https://github.com/DataDog/dd-trace-rb/issues/2066
|
|
3150
|
+
[#2069]: https://github.com/DataDog/dd-trace-rb/issues/2069
|
|
3151
|
+
[#2070]: https://github.com/DataDog/dd-trace-rb/issues/2070
|
|
3152
|
+
[#2074]: https://github.com/DataDog/dd-trace-rb/issues/2074
|
|
3153
|
+
[#2076]: https://github.com/DataDog/dd-trace-rb/issues/2076
|
|
3154
|
+
[#2079]: https://github.com/DataDog/dd-trace-rb/issues/2079
|
|
3155
|
+
[#2082]: https://github.com/DataDog/dd-trace-rb/issues/2082
|
|
3156
|
+
[#2096]: https://github.com/DataDog/dd-trace-rb/issues/2096
|
|
3157
|
+
[#2097]: https://github.com/DataDog/dd-trace-rb/issues/2097
|
|
3158
|
+
[#2101]: https://github.com/DataDog/dd-trace-rb/issues/2101
|
|
3159
|
+
[#2110]: https://github.com/DataDog/dd-trace-rb/issues/2110
|
|
3160
|
+
[#2113]: https://github.com/DataDog/dd-trace-rb/issues/2113
|
|
3161
|
+
[#2118]: https://github.com/DataDog/dd-trace-rb/issues/2118
|
|
3162
|
+
[#2125]: https://github.com/DataDog/dd-trace-rb/issues/2125
|
|
3163
|
+
[#2128]: https://github.com/DataDog/dd-trace-rb/issues/2128
|
|
3164
|
+
[#2134]: https://github.com/DataDog/dd-trace-rb/issues/2134
|
|
3165
|
+
[#2138]: https://github.com/DataDog/dd-trace-rb/issues/2138
|
|
3166
|
+
[#2140]: https://github.com/DataDog/dd-trace-rb/issues/2140
|
|
3167
|
+
[#2150]: https://github.com/DataDog/dd-trace-rb/issues/2150
|
|
3168
|
+
[#2153]: https://github.com/DataDog/dd-trace-rb/issues/2153
|
|
3169
|
+
[#2158]: https://github.com/DataDog/dd-trace-rb/issues/2158
|
|
3170
|
+
[#2162]: https://github.com/DataDog/dd-trace-rb/issues/2162
|
|
3171
|
+
[#2163]: https://github.com/DataDog/dd-trace-rb/issues/2163
|
|
3172
|
+
[#2170]: https://github.com/DataDog/dd-trace-rb/issues/2170
|
|
3173
|
+
[#2173]: https://github.com/DataDog/dd-trace-rb/issues/2173
|
|
3174
|
+
[#2174]: https://github.com/DataDog/dd-trace-rb/issues/2174
|
|
3175
|
+
[#2180]: https://github.com/DataDog/dd-trace-rb/issues/2180
|
|
3176
|
+
[#2191]: https://github.com/DataDog/dd-trace-rb/issues/2191
|
|
3177
|
+
[#2200]: https://github.com/DataDog/dd-trace-rb/issues/2200
|
|
3178
|
+
[#2201]: https://github.com/DataDog/dd-trace-rb/issues/2201
|
|
3179
|
+
[#2217]: https://github.com/DataDog/dd-trace-rb/issues/2217
|
|
3180
|
+
[#2219]: https://github.com/DataDog/dd-trace-rb/issues/2219
|
|
3181
|
+
[#2229]: https://github.com/DataDog/dd-trace-rb/issues/2229
|
|
3182
|
+
[#2230]: https://github.com/DataDog/dd-trace-rb/issues/2230
|
|
3183
|
+
[#2248]: https://github.com/DataDog/dd-trace-rb/issues/2248
|
|
3184
|
+
[#2250]: https://github.com/DataDog/dd-trace-rb/issues/2250
|
|
3185
|
+
[#2252]: https://github.com/DataDog/dd-trace-rb/issues/2252
|
|
3186
|
+
[#2257]: https://github.com/DataDog/dd-trace-rb/issues/2257
|
|
3187
|
+
[#2258]: https://github.com/DataDog/dd-trace-rb/issues/2258
|
|
3188
|
+
[#2260]: https://github.com/DataDog/dd-trace-rb/issues/2260
|
|
3189
|
+
[#2265]: https://github.com/DataDog/dd-trace-rb/issues/2265
|
|
3190
|
+
[#2267]: https://github.com/DataDog/dd-trace-rb/issues/2267
|
|
3191
|
+
[#2276]: https://github.com/DataDog/dd-trace-rb/issues/2276
|
|
3192
|
+
[#2279]: https://github.com/DataDog/dd-trace-rb/issues/2279
|
|
3193
|
+
[#2283]: https://github.com/DataDog/dd-trace-rb/issues/2283
|
|
3194
|
+
[#2289]: https://github.com/DataDog/dd-trace-rb/issues/2289
|
|
3195
|
+
[#2292]: https://github.com/DataDog/dd-trace-rb/issues/2292
|
|
3196
|
+
[#2293]: https://github.com/DataDog/dd-trace-rb/issues/2293
|
|
3197
|
+
[#2296]: https://github.com/DataDog/dd-trace-rb/issues/2296
|
|
3198
|
+
[#2302]: https://github.com/DataDog/dd-trace-rb/issues/2302
|
|
3199
|
+
[#2306]: https://github.com/DataDog/dd-trace-rb/issues/2306
|
|
3200
|
+
[#2307]: https://github.com/DataDog/dd-trace-rb/issues/2307
|
|
3201
|
+
[#2310]: https://github.com/DataDog/dd-trace-rb/issues/2310
|
|
3202
|
+
[#2311]: https://github.com/DataDog/dd-trace-rb/issues/2311
|
|
3203
|
+
[#2313]: https://github.com/DataDog/dd-trace-rb/issues/2313
|
|
3204
|
+
[#2316]: https://github.com/DataDog/dd-trace-rb/issues/2316
|
|
3205
|
+
[#2317]: https://github.com/DataDog/dd-trace-rb/issues/2317
|
|
3206
|
+
[#2318]: https://github.com/DataDog/dd-trace-rb/issues/2318
|
|
3207
|
+
[#2319]: https://github.com/DataDog/dd-trace-rb/issues/2319
|
|
3208
|
+
[#2321]: https://github.com/DataDog/dd-trace-rb/issues/2321
|
|
3209
|
+
[#2324]: https://github.com/DataDog/dd-trace-rb/issues/2324
|
|
3210
|
+
[#2328]: https://github.com/DataDog/dd-trace-rb/issues/2328
|
|
3211
|
+
[#2330]: https://github.com/DataDog/dd-trace-rb/issues/2330
|
|
3212
|
+
[#2331]: https://github.com/DataDog/dd-trace-rb/issues/2331
|
|
3213
|
+
[#2335]: https://github.com/DataDog/dd-trace-rb/issues/2335
|
|
3214
|
+
[#2339]: https://github.com/DataDog/dd-trace-rb/issues/2339
|
|
3215
|
+
[#2352]: https://github.com/DataDog/dd-trace-rb/issues/2352
|
|
3216
|
+
[#2362]: https://github.com/DataDog/dd-trace-rb/issues/2362
|
|
3217
|
+
[#2363]: https://github.com/DataDog/dd-trace-rb/issues/2363
|
|
3218
|
+
[#2365]: https://github.com/DataDog/dd-trace-rb/issues/2365
|
|
3219
|
+
[#2367]: https://github.com/DataDog/dd-trace-rb/issues/2367
|
|
3220
|
+
[#2378]: https://github.com/DataDog/dd-trace-rb/issues/2378
|
|
3221
|
+
[#2382]: https://github.com/DataDog/dd-trace-rb/issues/2382
|
|
3222
|
+
[#2390]: https://github.com/DataDog/dd-trace-rb/issues/2390
|
|
3223
|
+
[#2392]: https://github.com/DataDog/dd-trace-rb/issues/2392
|
|
3224
|
+
[#2393]: https://github.com/DataDog/dd-trace-rb/issues/2393
|
|
3225
|
+
[#2394]: https://github.com/DataDog/dd-trace-rb/issues/2394
|
|
3226
|
+
[#2413]: https://github.com/DataDog/dd-trace-rb/issues/2413
|
|
3227
|
+
[#2419]: https://github.com/DataDog/dd-trace-rb/issues/2419
|
|
3228
|
+
[#2420]: https://github.com/DataDog/dd-trace-rb/issues/2420
|
|
3229
|
+
[#2428]: https://github.com/DataDog/dd-trace-rb/issues/2428
|
|
3230
|
+
[#2435]: https://github.com/DataDog/dd-trace-rb/issues/2435
|
|
3231
|
+
[#2451]: https://github.com/DataDog/dd-trace-rb/issues/2451
|
|
3232
|
+
[#2453]: https://github.com/DataDog/dd-trace-rb/issues/2453
|
|
3233
|
+
[#2454]: https://github.com/DataDog/dd-trace-rb/issues/2454
|
|
3234
|
+
[#2455]: https://github.com/DataDog/dd-trace-rb/issues/2455
|
|
3235
|
+
[#2458]: https://github.com/DataDog/dd-trace-rb/issues/2458
|
|
3236
|
+
[#2459]: https://github.com/DataDog/dd-trace-rb/issues/2459
|
|
3237
|
+
[#2460]: https://github.com/DataDog/dd-trace-rb/issues/2460
|
|
3238
|
+
[#2461]: https://github.com/DataDog/dd-trace-rb/issues/2461
|
|
3239
|
+
[#2463]: https://github.com/DataDog/dd-trace-rb/issues/2463
|
|
3240
|
+
[#2464]: https://github.com/DataDog/dd-trace-rb/issues/2464
|
|
3241
|
+
[#2466]: https://github.com/DataDog/dd-trace-rb/issues/2466
|
|
3242
|
+
[#2469]: https://github.com/DataDog/dd-trace-rb/issues/2469
|
|
3243
|
+
[#2470]: https://github.com/DataDog/dd-trace-rb/issues/2470
|
|
3244
|
+
[#2473]: https://github.com/DataDog/dd-trace-rb/issues/2473
|
|
3245
|
+
[#2485]: https://github.com/DataDog/dd-trace-rb/issues/2485
|
|
3246
|
+
[#2489]: https://github.com/DataDog/dd-trace-rb/issues/2489
|
|
3247
|
+
[#2493]: https://github.com/DataDog/dd-trace-rb/issues/2493
|
|
3248
|
+
[#2496]: https://github.com/DataDog/dd-trace-rb/issues/2496
|
|
3249
|
+
[#2501]: https://github.com/DataDog/dd-trace-rb/issues/2501
|
|
3250
|
+
[#2504]: https://github.com/DataDog/dd-trace-rb/issues/2504
|
|
3251
|
+
[#2512]: https://github.com/DataDog/dd-trace-rb/issues/2512
|
|
3252
|
+
[#2522]: https://github.com/DataDog/dd-trace-rb/issues/2522
|
|
3253
|
+
[#2526]: https://github.com/DataDog/dd-trace-rb/issues/2526
|
|
3254
|
+
[#2530]: https://github.com/DataDog/dd-trace-rb/issues/2530
|
|
3255
|
+
[#2531]: https://github.com/DataDog/dd-trace-rb/issues/2531
|
|
3256
|
+
[#2541]: https://github.com/DataDog/dd-trace-rb/issues/2541
|
|
3257
|
+
[#2557]: https://github.com/DataDog/dd-trace-rb/issues/2557
|
|
3258
|
+
[#2562]: https://github.com/DataDog/dd-trace-rb/issues/2562
|
|
3259
|
+
[#2573]: https://github.com/DataDog/dd-trace-rb/issues/2573
|
|
3260
|
+
[#2576]: https://github.com/DataDog/dd-trace-rb/issues/2576
|
|
3261
|
+
[#2580]: https://github.com/DataDog/dd-trace-rb/issues/2580
|
|
3262
|
+
[#2586]: https://github.com/DataDog/dd-trace-rb/issues/2586
|
|
2856
3263
|
[@AdrianLC]: https://github.com/AdrianLC
|
|
2857
3264
|
[@Azure7111]: https://github.com/Azure7111
|
|
2858
3265
|
[@BabyGroot]: https://github.com/BabyGroot
|
|
@@ -2865,6 +3272,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2865
3272
|
[@Jared-Prime]: https://github.com/Jared-Prime
|
|
2866
3273
|
[@Joas1988]: https://github.com/Joas1988
|
|
2867
3274
|
[@JustSnow]: https://github.com/JustSnow
|
|
3275
|
+
[@KieranP]: https://github.com/KieranP
|
|
2868
3276
|
[@MMartyn]: https://github.com/MMartyn
|
|
2869
3277
|
[@NobodysNightmare]: https://github.com/NobodysNightmare
|
|
2870
3278
|
[@Redapted]: https://github.com/Redapted
|
|
@@ -2875,7 +3283,9 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2875
3283
|
[@agirlnamedsophia]: https://github.com/agirlnamedsophia
|
|
2876
3284
|
[@agrobbin]: https://github.com/agrobbin
|
|
2877
3285
|
[@ahammel]: https://github.com/ahammel
|
|
3286
|
+
[@ahorner]: https://github.com/ahorner
|
|
2878
3287
|
[@al-kudryavtsev]: https://github.com/al-kudryavtsev
|
|
3288
|
+
[@albertvaka]: https://github.com/albertvaka
|
|
2879
3289
|
[@alksl]: https://github.com/alksl
|
|
2880
3290
|
[@alloy]: https://github.com/alloy
|
|
2881
3291
|
[@aurelian]: https://github.com/aurelian
|
|
@@ -2888,6 +3298,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2888
3298
|
[@brafales]: https://github.com/brafales
|
|
2889
3299
|
[@bzf]: https://github.com/bzf
|
|
2890
3300
|
[@callumj]: https://github.com/callumj
|
|
3301
|
+
[@caramcc]: https://github.com/caramcc
|
|
2891
3302
|
[@carlallen]: https://github.com/carlallen
|
|
2892
3303
|
[@chychkan]: https://github.com/chychkan
|
|
2893
3304
|
[@cjford]: https://github.com/cjford
|
|
@@ -2895,6 +3306,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2895
3306
|
[@components]: https://github.com/components
|
|
2896
3307
|
[@cswatt]: https://github.com/cswatt
|
|
2897
3308
|
[@cwoodcox]: https://github.com/cwoodcox
|
|
3309
|
+
[@danhodge]: https://github.com/danhodge
|
|
2898
3310
|
[@dasch]: https://github.com/dasch
|
|
2899
3311
|
[@dim]: https://github.com/dim
|
|
2900
3312
|
[@dirk]: https://github.com/dirk
|
|
@@ -2921,11 +3333,14 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2921
3333
|
[@guizmaii]: https://github.com/guizmaii
|
|
2922
3334
|
[@hatstand]: https://github.com/hatstand
|
|
2923
3335
|
[@hawknewton]: https://github.com/hawknewton
|
|
3336
|
+
[@henrich-m]: https://github.com/henrich-m
|
|
2924
3337
|
[@hs-bguven]: https://github.com/hs-bguven
|
|
2925
3338
|
[@illdelph]: https://github.com/illdelph
|
|
3339
|
+
[@ioquatix]: https://github.com/ioquatix
|
|
2926
3340
|
[@jamiehodge]: https://github.com/jamiehodge
|
|
2927
3341
|
[@janz93]: https://github.com/janz93
|
|
2928
3342
|
[@jeffjo]: https://github.com/jeffjo
|
|
3343
|
+
[@jennchenn]: https://github.com/jennchenn
|
|
2929
3344
|
[@jfrancoist]: https://github.com/jfrancoist
|
|
2930
3345
|
[@joeyAghion]: https://github.com/joeyAghion
|
|
2931
3346
|
[@jpaulgs]: https://github.com/jpaulgs
|
|
@@ -2939,12 +3354,15 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2939
3354
|
[@link04]: https://github.com/link04
|
|
2940
3355
|
[@lloeki]: https://github.com/lloeki
|
|
2941
3356
|
[@mantrala]: https://github.com/mantrala
|
|
3357
|
+
[@marcotc]: https://github.com/marcotc
|
|
3358
|
+
[@marocchino]: https://github.com/marocchino
|
|
2942
3359
|
[@masato-hi]: https://github.com/masato-hi
|
|
2943
3360
|
[@matchbookmac]: https://github.com/matchbookmac
|
|
2944
3361
|
[@mberlanda]: https://github.com/mberlanda
|
|
2945
3362
|
[@mdehoog]: https://github.com/mdehoog
|
|
2946
3363
|
[@mdross95]: https://github.com/mdross95
|
|
2947
3364
|
[@michaelkl]: https://github.com/michaelkl
|
|
3365
|
+
[@miketheman]: https://github.com/miketheman
|
|
2948
3366
|
[@mriddle]: https://github.com/mriddle
|
|
2949
3367
|
[@mscrivo]: https://github.com/mscrivo
|
|
2950
3368
|
[@mstruve]: https://github.com/mstruve
|
|
@@ -2965,10 +3383,12 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2965
3383
|
[@saturnflyer]: https://github.com/saturnflyer
|
|
2966
3384
|
[@sco11morgan]: https://github.com/sco11morgan
|
|
2967
3385
|
[@senny]: https://github.com/senny
|
|
3386
|
+
[@seuros]: https://github.com/seuros
|
|
2968
3387
|
[@shayonj]: https://github.com/shayonj
|
|
2969
3388
|
[@sinsoku]: https://github.com/sinsoku
|
|
2970
3389
|
[@skcc321]: https://github.com/skcc321
|
|
2971
3390
|
[@soulcutter]: https://github.com/soulcutter
|
|
3391
|
+
[@sponomarev]: https://github.com/sponomarev
|
|
2972
3392
|
[@stefanahman]: https://github.com/stefanahman
|
|
2973
3393
|
[@steveh]: https://github.com/steveh
|
|
2974
3394
|
[@stormsilver]: https://github.com/stormsilver
|
|
@@ -2983,4 +3403,6 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2983
3403
|
[@vramaiah]: https://github.com/vramaiah
|
|
2984
3404
|
[@walterking]: https://github.com/walterking
|
|
2985
3405
|
[@y-yagi]: https://github.com/y-yagi
|
|
3406
|
+
[@yujideveloper]: https://github.com/yujideveloper
|
|
3407
|
+
[@yukimurasawa]: https://github.com/yukimurasawa
|
|
2986
3408
|
[@zachmccormick]: https://github.com/zachmccormick
|
data/LICENSE-3rdparty.csv
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
Component,Origin,License,Copyright
|
|
2
2
|
lib/datadog/core/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
|
|
3
3
|
lib/datadog/tracing/contrib/active_record/vendor,https://github.com/rails/rails/,MIT,"Copyright (c) 2005-2018 David Heinemeier Hansson"
|
|
4
|
+
lib/datadog/tracing/contrib/utils/quantization/http.rb,https://github.com/ruby/uri,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
|
4
5
|
ext/ddtrace_profiling_native_extension/private_vm_api_access,https://github.com/ruby/ruby,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
|
6
|
+
msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
|
|
7
|
+
debase-ruby_core_source,https://rubygems.org/gems/debase-ruby_core_source,MIT for gem and BSD-2-Clause for Ruby sources,"Copyright (c) 2012 Gabriel Horner. Files from Ruby sources are Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
|
data/README.md
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
***Version 1.0.0 has recently been released. Check out our [upgrade guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#from-0x-to-10) for more details.***
|
|
2
|
-
|
|
3
1
|
# Datadog Trace Client
|
|
4
2
|
|
|
5
3
|
[](https://rubygems.org/gems/ddtrace/)
|
|
6
4
|
[](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
|
|
7
5
|
[](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
|
|
8
|
-
[](https://
|
|
6
|
+
[](https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html)
|
|
9
7
|
|
|
10
8
|
``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
|
|
11
9
|
databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
|
|
12
10
|
|
|
13
11
|
## Getting started
|
|
14
12
|
|
|
13
|
+
**If you're upgrading from a 0.x version, check out our [upgrade guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#from-0x-to-10).**
|
|
14
|
+
|
|
15
15
|
For a basic product overview, check out our [setup documentation][setup docs].
|
|
16
16
|
|
|
17
17
|
For installation, configuration, and details about using the API, check out our [API documentation][api docs] and [gem documentation][gem docs].
|
|
@@ -22,7 +22,12 @@ For contributing, checkout the [contribution guidelines][contribution docs] and
|
|
|
22
22
|
|
|
23
23
|
[setup docs]: https://docs.datadoghq.com/tracing/setup/ruby/
|
|
24
24
|
[api docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md
|
|
25
|
-
[gem docs]:
|
|
25
|
+
[gem docs]: https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html
|
|
26
26
|
[visualization docs]: https://docs.datadoghq.com/tracing/visualization/
|
|
27
27
|
[contribution docs]: https://github.com/DataDog/dd-trace-rb/blob/master/CONTRIBUTING.md
|
|
28
28
|
[development docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md
|
|
29
|
+
|
|
30
|
+
## Special thanks
|
|
31
|
+
|
|
32
|
+
* [Mike Fiedler](https://github.com/miketheman) for working on a number of Datadog Ruby projects, as well as graciously
|
|
33
|
+
gifting control of the `datadog` gem
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
// This idea was shamelessly stolen from @lloeki's work in https://github.com/rubyjs/mini_racer/pull/179, big thanks!
|
|
21
21
|
//
|
|
22
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
|
|
23
|
+
// problematic symbol: `rust_eh_personality` (coming from libdatadog).
|
|
24
24
|
// Future versions of Rust have been patched not to expose this
|
|
25
25
|
// (see https://github.com/rust-lang/rust/pull/95604#issuecomment-1108563434) so we may want to revisit the need
|
|
26
26
|
// for this loader in the future, and perhaps delete it if we no longer require its services :)
|
|
@@ -29,10 +29,17 @@
|
|
|
29
29
|
#define RTLD_DEEPBIND 0
|
|
30
30
|
#endif
|
|
31
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
|
+
|
|
32
39
|
static VALUE ok_symbol = Qnil; // :ok in Ruby
|
|
33
40
|
static VALUE error_symbol = Qnil; // :error in Ruby
|
|
34
41
|
|
|
35
|
-
static VALUE _native_load(VALUE self, VALUE ruby_path, VALUE ruby_init_name);
|
|
42
|
+
static VALUE _native_load(DDTRACE_UNUSED VALUE self, VALUE ruby_path, VALUE ruby_init_name);
|
|
36
43
|
static bool failed_to_load(void *handle, VALUE *failure_details);
|
|
37
44
|
static bool incompatible_library(void *handle, VALUE *failure_details);
|
|
38
45
|
static bool failed_to_initialize(void *handle, char *init_name, VALUE *failure_details);
|
|
@@ -41,7 +48,7 @@ static void unload_failed_library(void *handle);
|
|
|
41
48
|
|
|
42
49
|
#define DDTRACE_EXPORT __attribute__ ((visibility ("default")))
|
|
43
50
|
|
|
44
|
-
void DDTRACE_EXPORT Init_ddtrace_profiling_loader() {
|
|
51
|
+
void DDTRACE_EXPORT Init_ddtrace_profiling_loader(void) {
|
|
45
52
|
VALUE datadog_module = rb_define_module("Datadog");
|
|
46
53
|
VALUE profiling_module = rb_define_module_under(datadog_module, "Profiling");
|
|
47
54
|
VALUE loader_module = rb_define_module_under(profiling_module, "Loader");
|
|
@@ -51,7 +58,7 @@ void DDTRACE_EXPORT Init_ddtrace_profiling_loader() {
|
|
|
51
58
|
error_symbol = ID2SYM(rb_intern_const("error"));
|
|
52
59
|
}
|
|
53
60
|
|
|
54
|
-
static VALUE _native_load(VALUE self, VALUE ruby_path, VALUE ruby_init_name) {
|
|
61
|
+
static VALUE _native_load(DDTRACE_UNUSED VALUE self, VALUE ruby_path, VALUE ruby_init_name) {
|
|
55
62
|
Check_Type(ruby_path, T_STRING);
|
|
56
63
|
Check_Type(ruby_init_name, T_STRING);
|
|
57
64
|
|
|
@@ -85,7 +92,16 @@ static bool failed_to_load(void *handle, VALUE *failure_details) {
|
|
|
85
92
|
static bool incompatible_library(void *handle, VALUE *failure_details) {
|
|
86
93
|
// The library being loaded may be linked to a different libruby than the current executing Ruby.
|
|
87
94
|
// We check if this is the case by checking if a well-known symbol resolves to a common address.
|
|
88
|
-
|
|
95
|
+
|
|
96
|
+
void *xmalloc_from_library = dlsym(handle, "ruby_xmalloc");
|
|
97
|
+
|
|
98
|
+
if (xmalloc_from_library == NULL) {
|
|
99
|
+
// This happens when ruby is built without a `libruby.so` by using `--disable-shared` at compilation time.
|
|
100
|
+
// In this situation, no conflict between libruby version is possible.
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (xmalloc_from_library != &ruby_xmalloc) {
|
|
89
105
|
*failure_details = rb_str_new_cstr("library was compiled and linked to a different Ruby version");
|
|
90
106
|
unload_failed_library(handle);
|
|
91
107
|
return true;
|