ddtrace 1.2.0 → 1.4.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 +70 -0
- data/LICENSE-3rdparty.csv +2 -0
- data/README.md +1 -1
- data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +1 -1
- data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +9 -2
- data/ext/ddtrace_profiling_native_extension/clock_id.h +20 -0
- data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +30 -1
- data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +10 -1
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +152 -31
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h +6 -0
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c +391 -0
- data/ext/ddtrace_profiling_native_extension/collectors_stack.c +11 -7
- data/ext/ddtrace_profiling_native_extension/extconf.rb +26 -19
- data/ext/ddtrace_profiling_native_extension/helpers.h +12 -0
- data/ext/ddtrace_profiling_native_extension/http_transport.c +40 -47
- data/ext/ddtrace_profiling_native_extension/{libddprof_helpers.h → libdatadog_helpers.h} +2 -1
- data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +36 -20
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +39 -29
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +2 -5
- data/ext/ddtrace_profiling_native_extension/profiling.c +4 -3
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +25 -0
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +33 -1
- data/ext/ddtrace_profiling_native_extension/stack_recorder.c +294 -19
- data/ext/ddtrace_profiling_native_extension/stack_recorder.h +9 -8
- data/lib/datadog/appsec/autoload.rb +4 -2
- data/lib/datadog/appsec/configuration.rb +1 -1
- data/lib/datadog/appsec/contrib/auto_instrument.rb +0 -2
- data/lib/datadog/appsec/contrib/configuration/settings.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/configuration/settings.rb +2 -2
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +6 -6
- 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 +1 -1
- data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/reactive/response.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/request_body_middleware.rb +2 -2
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +3 -3
- data/lib/datadog/appsec/contrib/rails/configuration/settings.rb +2 -2
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +4 -4
- data/lib/datadog/appsec/contrib/rails/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/rails/patcher.rb +16 -12
- data/lib/datadog/appsec/contrib/rails/reactive/action.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/configuration/settings.rb +2 -2
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +5 -5
- data/lib/datadog/appsec/contrib/sinatra/integration.rb +4 -4
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +16 -12
- data/lib/datadog/appsec/event.rb +3 -3
- data/lib/datadog/appsec/extensions.rb +1 -1
- data/lib/datadog/appsec/processor.rb +1 -1
- data/lib/datadog/appsec/reactive/engine.rb +2 -2
- data/lib/datadog/appsec/reactive/operation.rb +3 -3
- data/lib/datadog/appsec.rb +5 -5
- 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 +8 -6
- 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 +6 -6
- data/lib/datadog/core/configuration/base.rb +11 -2
- data/lib/datadog/core/configuration/components.rb +51 -48
- data/lib/datadog/core/configuration/option_definition.rb +1 -1
- 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 +34 -7
- data/lib/datadog/core/configuration.rb +8 -5
- data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/core/diagnostics/health.rb +2 -2
- 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 +1 -1
- data/lib/datadog/core/environment/socket.rb +1 -1
- data/lib/datadog/core/error.rb +1 -1
- data/lib/datadog/core/extensions.rb +1 -1
- data/lib/datadog/core/metrics/client.rb +8 -8
- data/lib/datadog/core/metrics/options.rb +3 -3
- 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 +234 -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/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 +2 -2
- 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 -1
- data/lib/datadog/core/workers/polling.rb +2 -2
- data/lib/datadog/core/workers/runtime_metrics.rb +4 -4
- data/lib/datadog/core.rb +50 -50
- data/lib/datadog/kit.rb +1 -1
- data/lib/datadog/opentracer/distributed_headers.rb +2 -2
- data/lib/datadog/opentracer/rack_propagator.rb +11 -7
- data/lib/datadog/opentracer/span.rb +1 -1
- data/lib/datadog/opentracer/text_map_propagator.rb +9 -6
- data/lib/datadog/opentracer/thread_local_scope_manager.rb +1 -1
- data/lib/datadog/opentracer/tracer.rb +19 -15
- data/lib/datadog/opentracer.rb +16 -16
- data/lib/datadog/profiling/buffer.rb +3 -3
- data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +4 -19
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +74 -0
- data/lib/datadog/profiling/collectors/old_stack.rb +7 -7
- data/lib/datadog/profiling/collectors/stack.rb +3 -8
- data/lib/datadog/profiling/encoding/profile.rb +1 -1
- data/lib/datadog/profiling/events/stack.rb +1 -1
- data/lib/datadog/profiling/exporter.rb +17 -9
- data/lib/datadog/profiling/ext/forking.rb +36 -37
- data/lib/datadog/profiling/ext.rb +1 -0
- data/lib/datadog/profiling/flush.rb +0 -3
- data/lib/datadog/profiling/http_transport.rb +4 -3
- data/lib/datadog/profiling/old_recorder.rb +2 -7
- 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/scheduler.rb +5 -4
- data/lib/datadog/profiling/stack_recorder.rb +14 -4
- data/lib/datadog/profiling/tag_builder.rb +6 -1
- data/lib/datadog/profiling/tasks/setup.rb +2 -2
- data/lib/datadog/profiling/trace_identifiers/ddtrace.rb +2 -2
- data/lib/datadog/profiling/trace_identifiers/helper.rb +1 -1
- data/lib/datadog/profiling/transport/http/api/endpoint.rb +5 -5
- data/lib/datadog/profiling/transport/http/api/instance.rb +2 -2
- data/lib/datadog/profiling/transport/http/api/spec.rb +1 -1
- data/lib/datadog/profiling/transport/http/api.rb +5 -5
- data/lib/datadog/profiling/transport/http/builder.rb +3 -3
- data/lib/datadog/profiling/transport/http/client.rb +2 -2
- data/lib/datadog/profiling/transport/http/response.rb +1 -1
- data/lib/datadog/profiling/transport/http.rb +21 -15
- data/lib/datadog/profiling.rb +21 -20
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +5 -5
- data/lib/datadog/tracing/context.rb +1 -1
- data/lib/datadog/tracing/context_provider.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/event.rb +4 -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 +6 -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 +2 -2
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +3 -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/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 +2 -2
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +4 -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 +3 -4
- data/lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb +32 -0
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +6 -7
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +1 -1
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +4 -5
- data/lib/datadog/tracing/contrib/ethon/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +3 -4
- data/lib/datadog/tracing/contrib/ethon/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/excon/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/excon/middleware.rb +6 -7
- data/lib/datadog/tracing/contrib/excon/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/extensions.rb +5 -3
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/faraday/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +5 -6
- 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 -5
- 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 +2 -2
- 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 +3 -3
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +13 -4
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +6 -6
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +3 -4
- data/lib/datadog/tracing/contrib/grpc/ext.rb +1 -0
- data/lib/datadog/tracing/contrib/grpc/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc/patcher.rb +5 -5
- data/lib/datadog/tracing/contrib/http/circuit_breaker.rb +1 -2
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +3 -4
- 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 +2 -2
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +4 -5
- 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 +2 -2
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +4 -5
- 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/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 +2 -2
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +2 -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 +2 -2
- 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 +4 -4
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +3 -4
- 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 +13 -2
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +3 -4
- data/lib/datadog/tracing/contrib/pg/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/pg/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/presto/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/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 +1 -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 +2 -2
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +2 -2
- 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/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +24 -20
- 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 +1 -1
- data/lib/datadog/tracing/contrib/rails/framework.rb +16 -21
- 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 +2 -2
- data/lib/datadog/tracing/contrib/redis/instrumentation.rb +6 -7
- data/lib/datadog/tracing/contrib/redis/integration.rb +3 -3
- data/lib/datadog/tracing/contrib/redis/patcher.rb +6 -6
- data/lib/datadog/tracing/contrib/redis/tags.rb +3 -4
- 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 +3 -4
- data/lib/datadog/tracing/contrib/rest_client/configuration/settings.rb +2 -2
- 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 +4 -5
- 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 +1 -1
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +4 -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 +5 -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 +2 -2
- 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 +5 -5
- data/lib/datadog/tracing/contrib/sinatra/tracer.rb +7 -8
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +6 -7
- 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 +2 -3
- data/lib/datadog/tracing/contrib/status_code_matcher.rb +2 -2
- 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.rb +48 -48
- data/lib/datadog/tracing/correlation.rb +1 -1
- data/lib/datadog/tracing/distributed/headers/b3.rb +4 -4
- data/lib/datadog/tracing/distributed/headers/b3_single.rb +4 -4
- data/lib/datadog/tracing/distributed/headers/datadog.rb +3 -3
- data/lib/datadog/tracing/distributed/headers/parser.rb +1 -1
- data/lib/datadog/tracing/distributed/helpers.rb +2 -2
- data/lib/datadog/tracing/distributed/metadata/b3.rb +4 -4
- data/lib/datadog/tracing/distributed/metadata/b3_single.rb +4 -4
- data/lib/datadog/tracing/distributed/metadata/datadog.rb +2 -2
- data/lib/datadog/tracing/distributed/metadata/parser.rb +1 -1
- data/lib/datadog/tracing/event.rb +1 -1
- data/lib/datadog/tracing/metadata/analytics.rb +2 -2
- data/lib/datadog/tracing/metadata/errors.rb +2 -2
- data/lib/datadog/tracing/metadata/tagging.rb +2 -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/grpc.rb +6 -6
- data/lib/datadog/tracing/propagation/http.rb +8 -8
- data/lib/datadog/tracing/runtime/metrics.rb +1 -1
- data/lib/datadog/tracing/sampling/all_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/priority_sampler.rb +5 -5
- data/lib/datadog/tracing/sampling/rate_by_key_sampler.rb +2 -2
- data/lib/datadog/tracing/sampling/rate_by_service_sampler.rb +3 -3
- data/lib/datadog/tracing/sampling/rate_limiter.rb +1 -1
- data/lib/datadog/tracing/sampling/rate_sampler.rb +5 -5
- data/lib/datadog/tracing/sampling/rule.rb +3 -3
- data/lib/datadog/tracing/sampling/rule_sampler.rb +4 -4
- data/lib/datadog/tracing/span.rb +4 -4
- data/lib/datadog/tracing/span_operation.rb +9 -9
- data/lib/datadog/tracing/sync_writer.rb +5 -5
- data/lib/datadog/tracing/trace_operation.rb +16 -9
- data/lib/datadog/tracing/trace_segment.rb +5 -5
- data/lib/datadog/tracing/tracer.rb +15 -15
- data/lib/datadog/tracing/workers/trace_writer.rb +9 -9
- data/lib/datadog/tracing/workers.rb +3 -3
- data/lib/datadog/tracing/writer.rb +5 -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 +5 -5
- data/lib/ddtrace/transport/traces.rb +5 -5
- data/lib/ddtrace/version.rb +1 -1
- data/lib/ddtrace.rb +6 -6
- metadata +35 -22
- data/.editorconfig +0 -22
- data/.gitignore +0 -58
- data/CONTRIBUTING.md +0 -81
- data/ddtrace.gemspec +0 -71
- 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 -2712
- data/docs/ProfilingDevelopment.md +0 -109
- data/docs/PublicApi.md +0 -14
- data/docs/UpgradeGuide.md +0 -736
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# typed: false
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require_relative '../traces'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
require_relative 'response'
|
|
6
|
+
require_relative 'client'
|
|
7
7
|
|
|
8
8
|
module Datadog
|
|
9
9
|
module Transport
|
data/lib/ddtrace/transport/io.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# typed: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
require_relative '../../datadog/core/encoding'
|
|
4
|
+
require_relative 'io/client'
|
|
5
|
+
require_relative 'io/traces'
|
|
6
6
|
|
|
7
7
|
module Datadog
|
|
8
8
|
module Transport
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# typed: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
require_relative '../../datadog/core/environment/identity'
|
|
4
|
+
require_relative '../../datadog/core/environment/socket'
|
|
5
|
+
require_relative '../../datadog/core/runtime/ext'
|
|
6
|
+
require_relative '../../datadog/tracing/metadata/ext'
|
|
7
|
+
require_relative '../../datadog/tracing/trace_segment'
|
|
8
8
|
|
|
9
9
|
module Datadog
|
|
10
10
|
module Transport
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# typed: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
require_relative '../../datadog/core/chunker'
|
|
4
|
+
require_relative 'parcel'
|
|
5
|
+
require_relative 'request'
|
|
6
|
+
require_relative 'serializable_trace'
|
|
7
|
+
require_relative 'trace_formatter'
|
|
8
8
|
|
|
9
9
|
module Datadog
|
|
10
10
|
module Transport
|
data/lib/ddtrace/version.rb
CHANGED
data/lib/ddtrace.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# typed: strict
|
|
2
2
|
|
|
3
3
|
# Load tracing
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
require_relative 'datadog/tracing'
|
|
5
|
+
require_relative 'datadog/tracing/contrib'
|
|
6
6
|
|
|
7
7
|
# Load appsec
|
|
8
|
-
|
|
8
|
+
require_relative 'datadog/appsec/autoload' # TODO: datadog/appsec?
|
|
9
9
|
|
|
10
10
|
# Load other products (must follow tracing)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
require_relative 'datadog/profiling'
|
|
12
|
+
require_relative 'datadog/ci'
|
|
13
|
+
require_relative 'datadog/kit'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ddtrace
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.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: 2022-
|
|
11
|
+
date: 2022-08-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -53,21 +53,21 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: 1.3.0.2.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: libdatadog
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.
|
|
61
|
+
version: 0.7.0.1.1
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.
|
|
68
|
+
version: 0.7.0.1.1
|
|
69
69
|
description: |
|
|
70
|
-
ddtrace is Datadog
|
|
70
|
+
ddtrace is Datadog's tracing client for Ruby. It is used to trace requests
|
|
71
71
|
as they flow across web servers, databases and microservices so that developers
|
|
72
72
|
have great visiblity into bottlenecks and troublesome requests.
|
|
73
73
|
email:
|
|
@@ -79,10 +79,7 @@ extensions:
|
|
|
79
79
|
- ext/ddtrace_profiling_loader/extconf.rb
|
|
80
80
|
extra_rdoc_files: []
|
|
81
81
|
files:
|
|
82
|
-
- ".editorconfig"
|
|
83
|
-
- ".gitignore"
|
|
84
82
|
- CHANGELOG.md
|
|
85
|
-
- CONTRIBUTING.md
|
|
86
83
|
- LICENSE
|
|
87
84
|
- LICENSE-3rdparty.csv
|
|
88
85
|
- LICENSE.Apache
|
|
@@ -90,16 +87,6 @@ files:
|
|
|
90
87
|
- NOTICE
|
|
91
88
|
- README.md
|
|
92
89
|
- bin/ddtracerb
|
|
93
|
-
- ddtrace.gemspec
|
|
94
|
-
- docs/0.x-trace.png
|
|
95
|
-
- docs/1.0-trace.png
|
|
96
|
-
- docs/AutoInstrumentation.md
|
|
97
|
-
- docs/Deprecation.md
|
|
98
|
-
- docs/DevelopmentGuide.md
|
|
99
|
-
- docs/GettingStarted.md
|
|
100
|
-
- docs/ProfilingDevelopment.md
|
|
101
|
-
- docs/PublicApi.md
|
|
102
|
-
- docs/UpgradeGuide.md
|
|
103
90
|
- ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c
|
|
104
91
|
- ext/ddtrace_profiling_loader/extconf.rb
|
|
105
92
|
- ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md
|
|
@@ -107,15 +94,19 @@ files:
|
|
|
107
94
|
- ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c
|
|
108
95
|
- ext/ddtrace_profiling_native_extension/clock_id_noop.c
|
|
109
96
|
- ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c
|
|
97
|
+
- ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.h
|
|
98
|
+
- ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time_worker.c
|
|
110
99
|
- ext/ddtrace_profiling_native_extension/collectors_stack.c
|
|
111
100
|
- ext/ddtrace_profiling_native_extension/collectors_stack.h
|
|
112
101
|
- ext/ddtrace_profiling_native_extension/extconf.rb
|
|
102
|
+
- ext/ddtrace_profiling_native_extension/helpers.h
|
|
113
103
|
- ext/ddtrace_profiling_native_extension/http_transport.c
|
|
114
|
-
- ext/ddtrace_profiling_native_extension/
|
|
104
|
+
- ext/ddtrace_profiling_native_extension/libdatadog_helpers.h
|
|
115
105
|
- ext/ddtrace_profiling_native_extension/native_extension_helpers.rb
|
|
116
106
|
- ext/ddtrace_profiling_native_extension/private_vm_api_access.c
|
|
117
107
|
- ext/ddtrace_profiling_native_extension/private_vm_api_access.h
|
|
118
108
|
- ext/ddtrace_profiling_native_extension/profiling.c
|
|
109
|
+
- ext/ddtrace_profiling_native_extension/ruby_helpers.c
|
|
119
110
|
- ext/ddtrace_profiling_native_extension/ruby_helpers.h
|
|
120
111
|
- ext/ddtrace_profiling_native_extension/stack_recorder.c
|
|
121
112
|
- ext/ddtrace_profiling_native_extension/stack_recorder.h
|
|
@@ -237,6 +228,25 @@ files:
|
|
|
237
228
|
- lib/datadog/core/pin.rb
|
|
238
229
|
- lib/datadog/core/runtime/ext.rb
|
|
239
230
|
- lib/datadog/core/runtime/metrics.rb
|
|
231
|
+
- lib/datadog/core/telemetry/client.rb
|
|
232
|
+
- lib/datadog/core/telemetry/collector.rb
|
|
233
|
+
- lib/datadog/core/telemetry/emitter.rb
|
|
234
|
+
- lib/datadog/core/telemetry/event.rb
|
|
235
|
+
- lib/datadog/core/telemetry/ext.rb
|
|
236
|
+
- lib/datadog/core/telemetry/heartbeat.rb
|
|
237
|
+
- lib/datadog/core/telemetry/http/adapters/net.rb
|
|
238
|
+
- lib/datadog/core/telemetry/http/env.rb
|
|
239
|
+
- lib/datadog/core/telemetry/http/ext.rb
|
|
240
|
+
- lib/datadog/core/telemetry/http/response.rb
|
|
241
|
+
- lib/datadog/core/telemetry/http/transport.rb
|
|
242
|
+
- lib/datadog/core/telemetry/v1/app_event.rb
|
|
243
|
+
- lib/datadog/core/telemetry/v1/application.rb
|
|
244
|
+
- lib/datadog/core/telemetry/v1/configuration.rb
|
|
245
|
+
- lib/datadog/core/telemetry/v1/dependency.rb
|
|
246
|
+
- lib/datadog/core/telemetry/v1/host.rb
|
|
247
|
+
- lib/datadog/core/telemetry/v1/integration.rb
|
|
248
|
+
- lib/datadog/core/telemetry/v1/product.rb
|
|
249
|
+
- lib/datadog/core/telemetry/v1/telemetry_request.rb
|
|
240
250
|
- lib/datadog/core/utils.rb
|
|
241
251
|
- lib/datadog/core/utils/compression.rb
|
|
242
252
|
- lib/datadog/core/utils/forking.rb
|
|
@@ -284,6 +294,7 @@ files:
|
|
|
284
294
|
- lib/datadog/profiling/buffer.rb
|
|
285
295
|
- lib/datadog/profiling/collectors/code_provenance.rb
|
|
286
296
|
- lib/datadog/profiling/collectors/cpu_and_wall_time.rb
|
|
297
|
+
- lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb
|
|
287
298
|
- lib/datadog/profiling/collectors/old_stack.rb
|
|
288
299
|
- lib/datadog/profiling/collectors/stack.rb
|
|
289
300
|
- lib/datadog/profiling/encoding/profile.rb
|
|
@@ -442,6 +453,7 @@ files:
|
|
|
442
453
|
- lib/datadog/tracing/contrib/delayed_job/integration.rb
|
|
443
454
|
- lib/datadog/tracing/contrib/delayed_job/patcher.rb
|
|
444
455
|
- lib/datadog/tracing/contrib/delayed_job/plugin.rb
|
|
456
|
+
- lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb
|
|
445
457
|
- lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb
|
|
446
458
|
- lib/datadog/tracing/contrib/elasticsearch/ext.rb
|
|
447
459
|
- lib/datadog/tracing/contrib/elasticsearch/integration.rb
|
|
@@ -635,7 +647,8 @@ files:
|
|
|
635
647
|
- lib/datadog/tracing/contrib/sidekiq/patcher.rb
|
|
636
648
|
- lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb
|
|
637
649
|
- lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb
|
|
638
|
-
- lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/
|
|
650
|
+
- lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb
|
|
651
|
+
- lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb
|
|
639
652
|
- lib/datadog/tracing/contrib/sidekiq/server_tracer.rb
|
|
640
653
|
- lib/datadog/tracing/contrib/sidekiq/tracing.rb
|
|
641
654
|
- lib/datadog/tracing/contrib/sinatra/configuration/settings.rb
|
|
@@ -765,7 +778,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
765
778
|
- !ruby/object:Gem::Version
|
|
766
779
|
version: 2.0.0
|
|
767
780
|
requirements: []
|
|
768
|
-
rubygems_version: 3.
|
|
781
|
+
rubygems_version: 3.3.7
|
|
769
782
|
signing_key:
|
|
770
783
|
specification_version: 4
|
|
771
784
|
summary: Datadog tracing code for your Ruby applications
|
data/.editorconfig
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# EditorConfig is awesome: https://EditorConfig.org
|
|
2
|
-
|
|
3
|
-
# top-most EditorConfig file
|
|
4
|
-
root = true
|
|
5
|
-
|
|
6
|
-
# Unix-style newlines with a newline ending every file
|
|
7
|
-
[*]
|
|
8
|
-
end_of_line = lf
|
|
9
|
-
insert_final_newline = true
|
|
10
|
-
trim_trailing_whitespace = true
|
|
11
|
-
|
|
12
|
-
[*.h]
|
|
13
|
-
indent_style = space
|
|
14
|
-
indent_size = 2
|
|
15
|
-
|
|
16
|
-
[*.c]
|
|
17
|
-
indent_style = space
|
|
18
|
-
indent_size = 2
|
|
19
|
-
|
|
20
|
-
[*.yml]
|
|
21
|
-
indent_style = space
|
|
22
|
-
indent_size = 2
|
data/.gitignore
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
*.gem
|
|
2
|
-
*.rbc
|
|
3
|
-
*.swp
|
|
4
|
-
*.nix
|
|
5
|
-
*.vim
|
|
6
|
-
/.config
|
|
7
|
-
/coverage/
|
|
8
|
-
/InstalledFiles
|
|
9
|
-
/pkg/
|
|
10
|
-
/spec/reports/
|
|
11
|
-
/spec/examples.txt
|
|
12
|
-
/test/tmp/
|
|
13
|
-
/test/version_tmp/
|
|
14
|
-
/tmp/
|
|
15
|
-
/log/
|
|
16
|
-
TODO
|
|
17
|
-
ext/**/skipped_reason.txt
|
|
18
|
-
|
|
19
|
-
# Used by dotenv library to load environment variables.
|
|
20
|
-
# .env
|
|
21
|
-
|
|
22
|
-
## Documentation cache and generated files:
|
|
23
|
-
/.yardoc/
|
|
24
|
-
/_yardoc/
|
|
25
|
-
/doc/
|
|
26
|
-
/rdoc/
|
|
27
|
-
/html/
|
|
28
|
-
|
|
29
|
-
## Environment normalization:
|
|
30
|
-
/.bundle/
|
|
31
|
-
/vendor/bundle
|
|
32
|
-
/lib/bundler/man/
|
|
33
|
-
|
|
34
|
-
# for a library or gem, you might want to ignore these files since the code is
|
|
35
|
-
# intended to run in multiple environments; otherwise, check them in:
|
|
36
|
-
.ruby-version
|
|
37
|
-
.ruby-gemset
|
|
38
|
-
|
|
39
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
40
|
-
.rvmrc
|
|
41
|
-
# Ignore local variables
|
|
42
|
-
.envrc
|
|
43
|
-
|
|
44
|
-
# lock files
|
|
45
|
-
Gemfile.lock
|
|
46
|
-
|
|
47
|
-
# Appraisal gemfiles (they can always be regenerated by running `appraisal install`)
|
|
48
|
-
gemfiles/*.gemfile
|
|
49
|
-
|
|
50
|
-
# bundle config
|
|
51
|
-
gemfiles/.bundle
|
|
52
|
-
|
|
53
|
-
# Native extension binaries
|
|
54
|
-
lib/*.bundle
|
|
55
|
-
lib/*.so
|
|
56
|
-
|
|
57
|
-
# Extra file kept by sorbet for debugging usage, as documented in https://sorbet.org/docs/adopting#step-6-source-control
|
|
58
|
-
sorbet/rbi/hidden-definitions/errors.txt
|
data/CONTRIBUTING.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Contributing
|
|
2
|
-
|
|
3
|
-
Community contributions to the Datadog tracing library for Ruby are welcome! See below for some basic guidelines.
|
|
4
|
-
|
|
5
|
-
## Want to request a new feature?
|
|
6
|
-
|
|
7
|
-
Many great ideas for new features come from the community, and we'd be happy to consider yours!
|
|
8
|
-
|
|
9
|
-
To share your request, you can [open a Github issue](https://github.com/DataDog/dd-trace-rb/issues/new) with the details about what you'd like to see. At a minimum, please provide:
|
|
10
|
-
|
|
11
|
-
- The goal of the new feature
|
|
12
|
-
- A description of how it might be used or behave
|
|
13
|
-
- Links to any important resources (e.g. Github repos, websites, screenshots, specifications, diagrams)
|
|
14
|
-
|
|
15
|
-
Additionally, if you can, include:
|
|
16
|
-
|
|
17
|
-
- A description of how it could be accomplished
|
|
18
|
-
- Code snippets that might demonstrate its use or implementation
|
|
19
|
-
- Screenshots or mockups that visually demonstrate the feature
|
|
20
|
-
- Links to similar features that would serve as a good comparison
|
|
21
|
-
- (Any other details that would be useful for implementing this feature!)
|
|
22
|
-
|
|
23
|
-
## Found a bug?
|
|
24
|
-
|
|
25
|
-
For any urgent matters (such as outages) or issues concerning the Datadog service or UI, contact our support team via https://docs.datadoghq.com/help/ for direct, faster assistance.
|
|
26
|
-
|
|
27
|
-
You may submit bug reports concerning the Datadog tracing library for Ruby by [opening a Github issue](https://github.com/DataDog/dd-trace-rb/issues/new). At a minimum, please provide:
|
|
28
|
-
|
|
29
|
-
- A description of the problem
|
|
30
|
-
- Steps to reproduce
|
|
31
|
-
- Expected behavior
|
|
32
|
-
- Actual behavior
|
|
33
|
-
- Errors (with stack traces) or warnings received
|
|
34
|
-
- Any details you can share about your configuration including:
|
|
35
|
-
- Ruby version & platform
|
|
36
|
-
- `ddtrace` version
|
|
37
|
-
- Versions of any other relevant gems (or a `Gemfile.lock` if available)
|
|
38
|
-
- Any configuration settings for the trace library (e.g. `initializers/datadog.rb`)
|
|
39
|
-
|
|
40
|
-
If at all possible, also provide:
|
|
41
|
-
|
|
42
|
-
- Logs (from the tracer/application/agent) or other diagnostics
|
|
43
|
-
- Screenshots, links, or other visual aids that are publicly accessible
|
|
44
|
-
- Code sample or test that reproduces the problem
|
|
45
|
-
- An explanation of what causes the bug and/or how it can be fixed
|
|
46
|
-
|
|
47
|
-
Reports that include rich detail are better, and ones with code that reproduce the bug are best.
|
|
48
|
-
|
|
49
|
-
## Have a patch?
|
|
50
|
-
|
|
51
|
-
We welcome code contributions to the library, which you can [submit as a pull request](https://github.com/DataDog/dd-trace-rb/pull/new/master). To create a pull request:
|
|
52
|
-
|
|
53
|
-
1. **Fork the repository** from https://github.com/DataDog/dd-trace-rb
|
|
54
|
-
2. **Make any changes** for your patch.
|
|
55
|
-
3. **Write tests** that demonstrate how the feature works or how the bug is fixed. See the [DevelopmentGuide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md) for detailed test instructions.
|
|
56
|
-
4. **Update any documentation** such as `docs/GettingStarted.md`, especially for new features.
|
|
57
|
-
5. **Submit the pull request** from your fork back to the latest revision of the `master` branch on https://github.com/DataDog/dd-trace-rb.
|
|
58
|
-
|
|
59
|
-
The pull request will be run through our CI pipeline, and a project member will review the changes with you. At a minimum, to be accepted and merged, pull requests must:
|
|
60
|
-
|
|
61
|
-
- Have a stated goal and detailed description of the changes made
|
|
62
|
-
- Include thorough test coverage and documentation, where applicable
|
|
63
|
-
- Pass all tests and code quality checks (linting/coverage/benchmarks) on CI
|
|
64
|
-
- Receive at least one approval from a project member with push permissions
|
|
65
|
-
|
|
66
|
-
We also recommend that you share in your description:
|
|
67
|
-
|
|
68
|
-
- Any motivations or intent for the contribution
|
|
69
|
-
- Links to any issues/pull requests it might be related to
|
|
70
|
-
- Links to any webpages or other external resources that might be related to the change
|
|
71
|
-
- Screenshots, code samples, or other visual aids that demonstrate the changes or how they are implemented
|
|
72
|
-
- Benchmarks if the feature is anticipated to have performance implications
|
|
73
|
-
- Any limitations, constraints or risks that are important to consider
|
|
74
|
-
|
|
75
|
-
For more information on common topics such as debugging locally, or how to write new integrations, check out [our development guide](https://github.com/DataDog/dd-trace-rb/blob/master/docs/DevelopmentGuide.md). If at any point you have a question or need assistance with your pull request, feel free to mention a project member! We're always happy to help contributors with their pull requests.
|
|
76
|
-
|
|
77
|
-
## Final word
|
|
78
|
-
|
|
79
|
-
Many thanks to all of our contributors, and looking forward to seeing you on Github! :tada:
|
|
80
|
-
|
|
81
|
-
- Datadog Ruby APM Team
|
data/ddtrace.gemspec
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
-
require 'ddtrace/version'
|
|
6
|
-
|
|
7
|
-
Gem::Specification.new do |spec|
|
|
8
|
-
spec.name = 'ddtrace'
|
|
9
|
-
spec.version = DDTrace::VERSION::STRING
|
|
10
|
-
spec.required_ruby_version = [">= #{DDTrace::VERSION::MINIMUM_RUBY_VERSION}", "< #{DDTrace::VERSION::MAXIMUM_RUBY_VERSION}"]
|
|
11
|
-
spec.required_rubygems_version = '>= 2.0.0'
|
|
12
|
-
spec.authors = ['Datadog, Inc.']
|
|
13
|
-
spec.email = ['dev@datadoghq.com']
|
|
14
|
-
|
|
15
|
-
spec.summary = 'Datadog tracing code for your Ruby applications'
|
|
16
|
-
spec.description = <<-EOS.gsub(/^[\s]+/, '')
|
|
17
|
-
ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
|
|
18
|
-
as they flow across web servers, databases and microservices so that developers
|
|
19
|
-
have great visiblity into bottlenecks and troublesome requests.
|
|
20
|
-
EOS
|
|
21
|
-
|
|
22
|
-
spec.homepage = 'https://github.com/DataDog/dd-trace-rb'
|
|
23
|
-
spec.license = 'BSD-3-Clause'
|
|
24
|
-
|
|
25
|
-
if spec.respond_to?(:metadata)
|
|
26
|
-
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
|
27
|
-
else
|
|
28
|
-
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
spec.files =
|
|
32
|
-
`git ls-files -z`
|
|
33
|
-
.split("\x0")
|
|
34
|
-
.reject { |f| f.match(%r{^(test|spec|features|[.]circleci|[.]github|[.]dd-ci|benchmarks|gemfiles|integration|tasks|sorbet|yard)/}) }
|
|
35
|
-
.reject do |f|
|
|
36
|
-
['.dockerignore', '.env', '.gitattributes', '.gitlab-ci.yml', '.rspec', '.rubocop.yml',
|
|
37
|
-
'.rubocop_todo.yml', '.simplecov', 'Appraisals', 'Gemfile', 'Rakefile', 'docker-compose.yml', '.pryrc', '.yardopts'].include?(f)
|
|
38
|
-
end
|
|
39
|
-
spec.executables = ['ddtracerb']
|
|
40
|
-
spec.require_paths = ['lib']
|
|
41
|
-
|
|
42
|
-
# Important note: This `if` ONLY works for development. When packaging up the gem, Ruby runs this code, and hardcodes
|
|
43
|
-
# the output in the `.gem` file that gets uploaded to rubygems. So the decision here gets hardcoded, we don't actually
|
|
44
|
-
# pick a version depending on the Ruby customers are running, as it may appear.
|
|
45
|
-
# For more context, see the discussion in
|
|
46
|
-
# * https://github.com/DataDog/dd-trace-rb/pull/1739
|
|
47
|
-
# * https://github.com/DataDog/dd-trace-rb/pull/1336
|
|
48
|
-
if RUBY_VERSION >= '2.2.0'
|
|
49
|
-
spec.add_dependency 'msgpack'
|
|
50
|
-
else
|
|
51
|
-
# msgpack 1.4 fails for Ruby 2.1: https://github.com/msgpack/msgpack-ruby/issues/205
|
|
52
|
-
spec.add_dependency 'msgpack', '< 1.4'
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Used by the profiler native extension to support older Rubies (see NativeExtensionDesign.md for notes)
|
|
56
|
-
#
|
|
57
|
-
# Most versions of this gem work for us, but 0.10.16 includes an important fix for Ruby 2.5.4 to 2.5.9
|
|
58
|
-
# (https://github.com/ruby-debug/debase-ruby_core_source/pull/6) so we should keep that as a lower bound going
|
|
59
|
-
# forward.
|
|
60
|
-
#
|
|
61
|
-
# we're pinning it at the latest available version and will manually bump the dependency as needed.
|
|
62
|
-
spec.add_dependency 'debase-ruby_core_source', '= 0.10.16'
|
|
63
|
-
|
|
64
|
-
# Used by appsec
|
|
65
|
-
spec.add_dependency 'libddwaf', '~> 1.3.0.2.0'
|
|
66
|
-
|
|
67
|
-
# Used by profiling
|
|
68
|
-
spec.add_dependency 'libddprof', '~> 0.6.0.1.0'
|
|
69
|
-
|
|
70
|
-
spec.extensions = ['ext/ddtrace_profiling_native_extension/extconf.rb', 'ext/ddtrace_profiling_loader/extconf.rb']
|
|
71
|
-
end
|
data/docs/0.x-trace.png
DELETED
|
Binary file
|
data/docs/1.0-trace.png
DELETED
|
Binary file
|
data/docs/AutoInstrumentation.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Auto Instrumentation
|
|
2
|
-
|
|
3
|
-
`ddtrace` can automatically instrument all available libraries, without requiring the manual setup of each one.
|
|
4
|
-
|
|
5
|
-
## Rails
|
|
6
|
-
|
|
7
|
-
Add the following to your `Gemfile`/`gems.rb` file:
|
|
8
|
-
|
|
9
|
-
```ruby
|
|
10
|
-
source 'https://rubygems.org'
|
|
11
|
-
gem 'ddtrace', require: 'ddtrace/auto_instrument'
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Ruby
|
|
15
|
-
|
|
16
|
-
Require `'ddtrace/auto_instrument'` after all gems that you'd like to instrument have been loaded:
|
|
17
|
-
|
|
18
|
-
```ruby
|
|
19
|
-
# Example libraries with supported integrations
|
|
20
|
-
require 'sinatra'
|
|
21
|
-
require 'faraday'
|
|
22
|
-
require 'redis'
|
|
23
|
-
|
|
24
|
-
require 'ddtrace/auto_instrument'
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Additional configuration
|
|
28
|
-
|
|
29
|
-
You can reconfigure, override, or disable any specific integration settings by adding
|
|
30
|
-
a [`Datadog.configure`](GettingStarted.md#integration-instrumentation) call after `ddtrace/auto_instrument` is activated.
|
|
31
|
-
|
|
32
|
-
## Custom integrations
|
|
33
|
-
|
|
34
|
-
Custom integrations that want to support auto instrumentation need to be registered
|
|
35
|
-
(e.g. invoke their {Datadog::Tracing::Contrib::Registerable::ClassMethods#register_as} method) before
|
|
36
|
-
the tracer requires `'ddtrace/auto_instrument'`.
|
data/docs/Deprecation.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Deprecation
|
|
2
|
-
|
|
3
|
-
Deprecated API objects are scheduled to be **removed in the next major version release**.
|
|
4
|
-
|
|
5
|
-
Deprecated objects can still be safely used until the next major version.
|
|
6
|
-
|
|
7
|
-
Objects will receive the deprecation tag in a minor version release,
|
|
8
|
-
allowing for deprecation warnings to be surfaced to users before the next major release.
|