ddtrace 1.1.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 +129 -1
- data/LICENSE-3rdparty.csv +2 -0
- data/README.md +8 -3
- data/ext/ddtrace_profiling_loader/ddtrace_profiling_loader.c +2 -2
- data/ext/ddtrace_profiling_loader/extconf.rb +1 -0
- data/ext/ddtrace_profiling_native_extension/NativeExtensionDesign.md +15 -7
- data/ext/ddtrace_profiling_native_extension/clock_id.h +21 -1
- data/ext/ddtrace_profiling_native_extension/clock_id_from_pthread.c +31 -2
- data/ext/ddtrace_profiling_native_extension/clock_id_noop.c +11 -2
- data/ext/ddtrace_profiling_native_extension/collectors_cpu_and_wall_time.c +390 -0
- 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 +23 -19
- data/ext/ddtrace_profiling_native_extension/collectors_stack.h +9 -0
- data/ext/ddtrace_profiling_native_extension/extconf.rb +64 -16
- data/ext/ddtrace_profiling_native_extension/helpers.h +12 -0
- data/ext/ddtrace_profiling_native_extension/http_transport.c +334 -0
- data/ext/ddtrace_profiling_native_extension/{libddprof_helpers.h → libdatadog_helpers.h} +2 -1
- data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +116 -12
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.c +89 -4
- data/ext/ddtrace_profiling_native_extension/private_vm_api_access.h +5 -5
- data/ext/ddtrace_profiling_native_extension/profiling.c +8 -3
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.c +25 -0
- data/ext/ddtrace_profiling_native_extension/ruby_helpers.h +65 -0
- data/ext/ddtrace_profiling_native_extension/stack_recorder.c +311 -28
- data/ext/ddtrace_profiling_native_extension/stack_recorder.h +18 -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 +70 -52
- 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 +42 -8
- 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 +40 -0
- 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 +3 -3
- 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 +26 -3
- 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/code_provenance.rb +1 -0
- data/lib/datadog/profiling/collectors/cpu_and_wall_time.rb +27 -0
- 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 -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 +66 -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_ext.rb +42 -0
- data/lib/datadog/profiling/old_recorder.rb +101 -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/scheduler.rb +28 -46
- 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 +13 -35
- 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 +6 -4
- data/lib/datadog/profiling/transport/http/response.rb +1 -3
- data/lib/datadog/profiling/transport/http.rb +22 -16
- 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 +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 +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 +4 -3
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +14 -5
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +6 -6
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb +7 -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 +35 -0
- data/lib/datadog/tracing/contrib/pg/ext.rb +31 -0
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +128 -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 +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 +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 +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 +3 -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 +5 -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 +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 -47
- 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 +7 -7
- data/lib/datadog/tracing/distributed/headers/datadog.rb +3 -3
- data/lib/datadog/tracing/distributed/headers/parser.rb +37 -0
- data/lib/datadog/tracing/distributed/helpers.rb +36 -2
- data/lib/datadog/tracing/distributed/metadata/b3.rb +55 -0
- data/lib/datadog/tracing/distributed/metadata/b3_single.rb +66 -0
- data/lib/datadog/tracing/distributed/metadata/datadog.rb +73 -0
- data/lib/datadog/tracing/distributed/metadata/parser.rb +34 -0
- 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/ext.rb +25 -0
- data/lib/datadog/tracing/metadata/tagging.rb +8 -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 +68 -58
- 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 +7 -7
- data/lib/datadog/tracing/sampling/rule.rb +3 -3
- data/lib/datadog/tracing/sampling/rule_sampler.rb +4 -4
- data/lib/datadog/tracing/sampling/span/matcher.rb +80 -0
- data/lib/datadog/tracing/span.rb +25 -5
- data/lib/datadog/tracing/span_operation.rb +10 -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 +57 -33
- 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/lib/datadog/profiling/recorder.rb +0 -117
- data/lib/datadog/profiling/transport/client.rb +0 -16
- 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/parser.rb +0 -70
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b4e4740121e3fe300ff3f114e1ef7f968e104f46644fb0355fc1f1f3f977e725
|
|
4
|
+
data.tar.gz: 914ba68d4f3be6ad282bfe21e03bbeecd4b6a0c37fd6efb625ae4c9cfe386518
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26d08410fc6d1ce577df1eb6dc8df1d49aa04c3581aeae799e74c0fb682ea314e788755b910654a5a8682fbf648e68c38393baeba559470153aff6776bd6bd0c
|
|
7
|
+
data.tar.gz: ad50fc9303b945511e2f886a4bbedf7c5d813889829ddfdf9f904361ec5f36e3a02d331c224933ef7b9a9524dbfb2a889fabbc93511eb7bd099ac38928de3b2a
|
data/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,91 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.4.0] - 2022-08-25
|
|
6
|
+
|
|
7
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0
|
|
8
|
+
|
|
9
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* gRPC: tag `grpc.client.deadline` ([#2200][])
|
|
14
|
+
* Implement telemetry, disable by default ([#2153][])
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
* Bump `libdatadog` dependency version ([#2229][])
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
* Fix CI instrumentation configuration ([#2219][])
|
|
23
|
+
|
|
24
|
+
## [1.3.0] - 2022-08-04
|
|
25
|
+
|
|
26
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0
|
|
27
|
+
|
|
28
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
* Top-level span being tagged to avoid duplicate computation ([#2138][])
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
* ActiveSupport: Optionally disable tracing with Rails ([@marcotc][])
|
|
37
|
+
* Rack: Resource overwritten by nested application ([#2180][])
|
|
38
|
+
* Rake: Explicit task instrumentation to prevent memory bloat ([#2174][])
|
|
39
|
+
* Sidekiq and DelayedJob: Add spans to improve tracing ([#2170][])
|
|
40
|
+
* Drop Profiling support for Ruby 2.1 ([#2140][])
|
|
41
|
+
* Migrate `libddprof` dependency to `libdatadog` ([#2061][])
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
|
|
45
|
+
* Fix OpenTracing propagation with TraceDigest ([#2201][])
|
|
46
|
+
* Fix SpanFilter dropping descendant spans ([#2074][])
|
|
47
|
+
* Redis: Fix Empty pipelined span being dropped ([#757][]) ([@sponomarev][])
|
|
48
|
+
* Fix profiler not restarting on `Process.daemon` ([#2150][])
|
|
49
|
+
* Fix setting service from Rails configuration ([#2118][]) ([@agrobbin][])
|
|
50
|
+
* Some document and development improvement ([@marocchino][]) ([@yukimurasawa][])
|
|
51
|
+
|
|
52
|
+
## [1.2.0] - 2022-07-11
|
|
53
|
+
|
|
54
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0
|
|
55
|
+
|
|
56
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
|
|
57
|
+
|
|
58
|
+
Special thanks go to [@miketheman][] for gifting Datadog access to the `datadog` gem a few days ago.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
* Add Postgres (`pg` gem) instrumentation ([#2054][]) ([@jennchenn][])
|
|
63
|
+
* Add env var for debugging profiling native extension compilation issues ([#2069][])
|
|
64
|
+
* Teach Rest Client integration the `:split_by_domain` option ([#2079][]) ([@agrobbin][])
|
|
65
|
+
* Allow passing request_queuing option to Rack through Rails tracer ([#2082][]) ([@KieranP][])
|
|
66
|
+
* Add Utility to Collect Platform Information ([#2097][]) ([@jennchenn][])
|
|
67
|
+
* Add convenient interface for getting and setting tags using `[]` and `[]=` respectively ([#2076][]) ([@ioquatix][])
|
|
68
|
+
* Add b3 metadata in grpc ([#2110][]) ([@henrich-m][])
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
* Profiler now reports profiling data using the libddprof gem ([#2059][])
|
|
73
|
+
* Rename `Kernel#at_fork_blocks` monkey patch to `Kernel#ddtrace_at_fork_blocks` ([#2070][])
|
|
74
|
+
* Improved error message for enabling profiling when `pkg-config` system tool is not installed ([#2134][])
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
|
|
78
|
+
* Prevent errors in `action_controller` integration when tracing is disabled ([#2027][]) ([@ahorner][])
|
|
79
|
+
* Fix profiler not building on ruby-head (3.2) due to VM refactoring ([#2066][])
|
|
80
|
+
* Span and trace IDs should not be zero ([#2113][]) ([@albertvaka][])
|
|
81
|
+
* Fix object_id usage as thread local key ([#2096][])
|
|
82
|
+
* Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues ([#2125][])
|
|
83
|
+
|
|
5
84
|
## [1.1.0] - 2022-05-25
|
|
6
85
|
|
|
86
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0
|
|
87
|
+
|
|
88
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
|
|
89
|
+
|
|
7
90
|
### Added
|
|
8
91
|
|
|
9
92
|
* [Application Security Monitoring](https://docs.datadoghq.com/security_platform/application_security/)
|
|
@@ -2318,6 +2401,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2318
2401
|
[#753]: https://github.com/DataDog/dd-trace-rb/issues/753
|
|
2319
2402
|
[#754]: https://github.com/DataDog/dd-trace-rb/issues/754
|
|
2320
2403
|
[#756]: https://github.com/DataDog/dd-trace-rb/issues/756
|
|
2404
|
+
[#757]: https://github.com/DataDog/dd-trace-rb/issues/757
|
|
2321
2405
|
[#760]: https://github.com/DataDog/dd-trace-rb/issues/760
|
|
2322
2406
|
[#762]: https://github.com/DataDog/dd-trace-rb/issues/762
|
|
2323
2407
|
[#765]: https://github.com/DataDog/dd-trace-rb/issues/765
|
|
@@ -2852,7 +2936,40 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2852
2936
|
[#2010]: https://github.com/DataDog/dd-trace-rb/issues/2010
|
|
2853
2937
|
[#2011]: https://github.com/DataDog/dd-trace-rb/issues/2011
|
|
2854
2938
|
[#2022]: https://github.com/DataDog/dd-trace-rb/issues/2022
|
|
2939
|
+
[#2027]: https://github.com/DataDog/dd-trace-rb/issues/2027
|
|
2855
2940
|
[#2028]: https://github.com/DataDog/dd-trace-rb/issues/2028
|
|
2941
|
+
[#2054]: https://github.com/DataDog/dd-trace-rb/issues/2054
|
|
2942
|
+
[#2059]: https://github.com/DataDog/dd-trace-rb/issues/2059
|
|
2943
|
+
[#2061]: https://github.com/DataDog/dd-trace-rb/issues/2061
|
|
2944
|
+
[#2066]: https://github.com/DataDog/dd-trace-rb/issues/2066
|
|
2945
|
+
[#2069]: https://github.com/DataDog/dd-trace-rb/issues/2069
|
|
2946
|
+
[#2070]: https://github.com/DataDog/dd-trace-rb/issues/2070
|
|
2947
|
+
[#2074]: https://github.com/DataDog/dd-trace-rb/issues/2074
|
|
2948
|
+
[#2076]: https://github.com/DataDog/dd-trace-rb/issues/2076
|
|
2949
|
+
[#2079]: https://github.com/DataDog/dd-trace-rb/issues/2079
|
|
2950
|
+
[#2082]: https://github.com/DataDog/dd-trace-rb/issues/2082
|
|
2951
|
+
[#2096]: https://github.com/DataDog/dd-trace-rb/issues/2096
|
|
2952
|
+
[#2097]: https://github.com/DataDog/dd-trace-rb/issues/2097
|
|
2953
|
+
[#2110]: https://github.com/DataDog/dd-trace-rb/issues/2110
|
|
2954
|
+
[#2113]: https://github.com/DataDog/dd-trace-rb/issues/2113
|
|
2955
|
+
[#2118]: https://github.com/DataDog/dd-trace-rb/issues/2118
|
|
2956
|
+
[#2125]: https://github.com/DataDog/dd-trace-rb/issues/2125
|
|
2957
|
+
[#2134]: https://github.com/DataDog/dd-trace-rb/issues/2134
|
|
2958
|
+
[#2138]: https://github.com/DataDog/dd-trace-rb/issues/2138
|
|
2959
|
+
[#2140]: https://github.com/DataDog/dd-trace-rb/issues/2140
|
|
2960
|
+
[#2150]: https://github.com/DataDog/dd-trace-rb/issues/2150
|
|
2961
|
+
[#2153]: https://github.com/DataDog/dd-trace-rb/issues/2153
|
|
2962
|
+
[#2158]: https://github.com/DataDog/dd-trace-rb/issues/2158
|
|
2963
|
+
[#2162]: https://github.com/DataDog/dd-trace-rb/issues/2162
|
|
2964
|
+
[#2163]: https://github.com/DataDog/dd-trace-rb/issues/2163
|
|
2965
|
+
[#2170]: https://github.com/DataDog/dd-trace-rb/issues/2170
|
|
2966
|
+
[#2173]: https://github.com/DataDog/dd-trace-rb/issues/2173
|
|
2967
|
+
[#2174]: https://github.com/DataDog/dd-trace-rb/issues/2174
|
|
2968
|
+
[#2180]: https://github.com/DataDog/dd-trace-rb/issues/2180
|
|
2969
|
+
[#2200]: https://github.com/DataDog/dd-trace-rb/issues/2200
|
|
2970
|
+
[#2201]: https://github.com/DataDog/dd-trace-rb/issues/2201
|
|
2971
|
+
[#2219]: https://github.com/DataDog/dd-trace-rb/issues/2219
|
|
2972
|
+
[#2229]: https://github.com/DataDog/dd-trace-rb/issues/2229
|
|
2856
2973
|
[@AdrianLC]: https://github.com/AdrianLC
|
|
2857
2974
|
[@Azure7111]: https://github.com/Azure7111
|
|
2858
2975
|
[@BabyGroot]: https://github.com/BabyGroot
|
|
@@ -2865,6 +2982,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2865
2982
|
[@Jared-Prime]: https://github.com/Jared-Prime
|
|
2866
2983
|
[@Joas1988]: https://github.com/Joas1988
|
|
2867
2984
|
[@JustSnow]: https://github.com/JustSnow
|
|
2985
|
+
[@KieranP]: https://github.com/KieranP
|
|
2868
2986
|
[@MMartyn]: https://github.com/MMartyn
|
|
2869
2987
|
[@NobodysNightmare]: https://github.com/NobodysNightmare
|
|
2870
2988
|
[@Redapted]: https://github.com/Redapted
|
|
@@ -2875,7 +2993,9 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2875
2993
|
[@agirlnamedsophia]: https://github.com/agirlnamedsophia
|
|
2876
2994
|
[@agrobbin]: https://github.com/agrobbin
|
|
2877
2995
|
[@ahammel]: https://github.com/ahammel
|
|
2996
|
+
[@ahorner]: https://github.com/ahorner
|
|
2878
2997
|
[@al-kudryavtsev]: https://github.com/al-kudryavtsev
|
|
2998
|
+
[@albertvaka]: https://github.com/albertvaka
|
|
2879
2999
|
[@alksl]: https://github.com/alksl
|
|
2880
3000
|
[@alloy]: https://github.com/alloy
|
|
2881
3001
|
[@aurelian]: https://github.com/aurelian
|
|
@@ -2921,11 +3041,14 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2921
3041
|
[@guizmaii]: https://github.com/guizmaii
|
|
2922
3042
|
[@hatstand]: https://github.com/hatstand
|
|
2923
3043
|
[@hawknewton]: https://github.com/hawknewton
|
|
3044
|
+
[@henrich-m]: https://github.com/henrich-m
|
|
2924
3045
|
[@hs-bguven]: https://github.com/hs-bguven
|
|
2925
3046
|
[@illdelph]: https://github.com/illdelph
|
|
3047
|
+
[@ioquatix]: https://github.com/ioquatix
|
|
2926
3048
|
[@jamiehodge]: https://github.com/jamiehodge
|
|
2927
3049
|
[@janz93]: https://github.com/janz93
|
|
2928
3050
|
[@jeffjo]: https://github.com/jeffjo
|
|
3051
|
+
[@jennchenn]: https://github.com/jennchenn
|
|
2929
3052
|
[@jfrancoist]: https://github.com/jfrancoist
|
|
2930
3053
|
[@joeyAghion]: https://github.com/joeyAghion
|
|
2931
3054
|
[@jpaulgs]: https://github.com/jpaulgs
|
|
@@ -2939,12 +3062,15 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2939
3062
|
[@link04]: https://github.com/link04
|
|
2940
3063
|
[@lloeki]: https://github.com/lloeki
|
|
2941
3064
|
[@mantrala]: https://github.com/mantrala
|
|
3065
|
+
[@marcotc]: https://github.com/marcotc
|
|
3066
|
+
[@marocchino]: https://github.com/marocchino
|
|
2942
3067
|
[@masato-hi]: https://github.com/masato-hi
|
|
2943
3068
|
[@matchbookmac]: https://github.com/matchbookmac
|
|
2944
3069
|
[@mberlanda]: https://github.com/mberlanda
|
|
2945
3070
|
[@mdehoog]: https://github.com/mdehoog
|
|
2946
3071
|
[@mdross95]: https://github.com/mdross95
|
|
2947
3072
|
[@michaelkl]: https://github.com/michaelkl
|
|
3073
|
+
[@miketheman]: https://github.com/miketheman
|
|
2948
3074
|
[@mriddle]: https://github.com/mriddle
|
|
2949
3075
|
[@mscrivo]: https://github.com/mscrivo
|
|
2950
3076
|
[@mstruve]: https://github.com/mstruve
|
|
@@ -2969,6 +3095,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2969
3095
|
[@sinsoku]: https://github.com/sinsoku
|
|
2970
3096
|
[@skcc321]: https://github.com/skcc321
|
|
2971
3097
|
[@soulcutter]: https://github.com/soulcutter
|
|
3098
|
+
[@sponomarev]: https://github.com/sponomarev
|
|
2972
3099
|
[@stefanahman]: https://github.com/stefanahman
|
|
2973
3100
|
[@steveh]: https://github.com/steveh
|
|
2974
3101
|
[@stormsilver]: https://github.com/stormsilver
|
|
@@ -2983,4 +3110,5 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
|
2983
3110
|
[@vramaiah]: https://github.com/vramaiah
|
|
2984
3111
|
[@walterking]: https://github.com/walterking
|
|
2985
3112
|
[@y-yagi]: https://github.com/y-yagi
|
|
2986
|
-
[@
|
|
3113
|
+
[@yukimurasawa]: https://github.com/yukimurasawa
|
|
3114
|
+
[@zachmccormick]: https://github.com/zachmccormick
|
data/LICENSE-3rdparty.csv
CHANGED
|
@@ -2,3 +2,5 @@ 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
4
|
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."
|
|
5
|
+
msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
|
|
6
|
+
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,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
**We've recently released the 1.x version series. 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).**
|
|
2
2
|
|
|
3
3
|
# Datadog Trace Client
|
|
4
4
|
|
|
5
5
|
[](https://rubygems.org/gems/ddtrace/)
|
|
6
6
|
[](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
|
|
7
7
|
[](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
|
|
8
|
-
[](https://
|
|
8
|
+
[](https://s3.amazonaws.com/gems.datadoghq.com/trace/docs/index.html)
|
|
9
9
|
|
|
10
10
|
``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
|
|
11
11
|
databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
|
|
@@ -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 :)
|
|
@@ -41,7 +41,7 @@ static void unload_failed_library(void *handle);
|
|
|
41
41
|
|
|
42
42
|
#define DDTRACE_EXPORT __attribute__ ((visibility ("default")))
|
|
43
43
|
|
|
44
|
-
void DDTRACE_EXPORT Init_ddtrace_profiling_loader() {
|
|
44
|
+
void DDTRACE_EXPORT Init_ddtrace_profiling_loader(void) {
|
|
45
45
|
VALUE datadog_module = rb_define_module("Datadog");
|
|
46
46
|
VALUE profiling_module = rb_define_module_under(datadog_module, "Profiling");
|
|
47
47
|
VALUE loader_module = rb_define_module_under(profiling_module, "Loader");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The profiling native extension is used to:
|
|
4
4
|
1. Implement features which are expensive (in terms of resources) or otherwise impossible to implement using Ruby code.
|
|
5
|
-
2. Bridge between Ruby-specific profiling features and [`
|
|
5
|
+
2. Bridge between Ruby-specific profiling features and [`libdatadog`](https://github.com/DataDog/libdatadog), a Rust-based
|
|
6
6
|
library with common profiling functionality.
|
|
7
7
|
|
|
8
8
|
Due to (1), this extension is quite coupled with MRI Ruby ("C Ruby") internals, and is not intended to support other rubies such as
|
|
@@ -10,13 +10,18 @@ JRuby or TruffleRuby. When below we say "Ruby", read it as "MRI Ruby".
|
|
|
10
10
|
|
|
11
11
|
## Disabling
|
|
12
12
|
|
|
13
|
-
The profiling native extension can be disabled by setting `DD_PROFILING_NO_EXTENSION=true` when installing
|
|
13
|
+
The profiling native extension can be disabled by setting `DD_PROFILING_NO_EXTENSION=true` when installing
|
|
14
14
|
the gem. Setting `DD_PROFILING_NO_EXTENSION` at installation time skips compilation of the extension entirely.
|
|
15
15
|
|
|
16
16
|
(If you're a customer and needed to use this, please tell us why on <https://github.com/DataDog/dd-trace-rb/issues/new>.)
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
In past releases, it was possible for the profiler to run without the native extension, but that's no longer the case,
|
|
19
|
+
and disabling the extension will disable profiling.
|
|
20
|
+
|
|
21
|
+
## Who is this page for?
|
|
22
|
+
|
|
23
|
+
This documentation is intended to be used by dd-trace-rb developers. Please see the `docs/` folder for user-level
|
|
24
|
+
documentation.
|
|
20
25
|
|
|
21
26
|
## Must not block or break users that cannot use it
|
|
22
27
|
|
|
@@ -44,13 +49,15 @@ We avoid issues using a combination of:
|
|
|
44
49
|
* Avoiding calling Ruby VM APIs after doing dynamic allocations
|
|
45
50
|
* Wrapping dynamic allocations into Ruby GC-managed objects (using `TypedData_Wrap_Struct`), so that Ruby will manage
|
|
46
51
|
their lifetime and call `free` when the GC-managed object is no longer being referenced
|
|
52
|
+
* Using [`rb_protect` and similar APIs](https://silverhammermba.github.io/emberb/c/?#rescue) to run cleanup code on
|
|
53
|
+
exception cases
|
|
47
54
|
|
|
48
55
|
Non-exhaustive list of APIs that cause exceptions to be raised:
|
|
49
56
|
|
|
50
|
-
* `Check_TypedStruct`, `Check_Type`
|
|
57
|
+
* `Check_TypedStruct`, `Check_Type`, `ENFORCE_TYPE`
|
|
51
58
|
* `rb_funcall`
|
|
52
59
|
* `rb_thread_call_without_gvl`, `rb_thread_call_without_gvl2`
|
|
53
|
-
* [Numeric conversion APIs, e.g. `NUM2LONG`, `NUM2INT`, etc.](https://silverhammermba.github.io/emberb/c
|
|
60
|
+
* [Numeric conversion APIs, e.g. `NUM2LONG`, `NUM2INT`, etc.](https://silverhammermba.github.io/emberb/c/?#translation)
|
|
54
61
|
* Our `char_slice_from_ruby_string` helper
|
|
55
62
|
|
|
56
63
|
## Usage of private VM headers
|
|
@@ -65,6 +72,8 @@ Because these private header files are not included in regular Ruby installation
|
|
|
65
72
|
|
|
66
73
|
Functions which make use of these headers are defined in the <private_vm_api_acccess.c> file.
|
|
67
74
|
|
|
75
|
+
There is currently no way for disabling usage of the private MJIT header for Ruby 2.6+.
|
|
76
|
+
|
|
68
77
|
**Important Note**: Our medium/long-term plan is to stop relying on all private Ruby headers, and instead request and
|
|
69
78
|
contribute upstream changes so that they become official public VM APIs.
|
|
70
79
|
|
|
@@ -90,7 +99,6 @@ Thus, even though a regular Ruby installation does not include these files, we c
|
|
|
90
99
|
## Feature: Getting thread CPU-time clock_ids
|
|
91
100
|
|
|
92
101
|
* **OS support**: Linux
|
|
93
|
-
* **Ruby support**: 2.6+
|
|
94
102
|
|
|
95
103
|
To enable CPU-time profiling, we use the `pthread_getcpuclockid(pthread_t thread, clockid_t *clockid)` C function to
|
|
96
104
|
obtain a `clockid_t` that can then be used with the `Process.clock_gettime` method (or directly with the
|
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
#include <stdbool.h>
|
|
4
|
+
#include <time.h>
|
|
5
|
+
|
|
6
|
+
// Contains the operating-system specific identifier needed to fetch CPU-time, and a flag to indicate if we failed to fetch it
|
|
7
|
+
typedef struct thread_cpu_time_id {
|
|
8
|
+
bool valid;
|
|
9
|
+
clockid_t clock_id;
|
|
10
|
+
} thread_cpu_time_id;
|
|
11
|
+
|
|
12
|
+
// Contains the current cpu time, and a flag to indicate if we failed to fetch it
|
|
13
|
+
typedef struct thread_cpu_time {
|
|
14
|
+
bool valid;
|
|
15
|
+
long result_ns;
|
|
16
|
+
} thread_cpu_time;
|
|
17
|
+
|
|
18
|
+
void self_test_clock_id(void);
|
|
19
|
+
|
|
20
|
+
// TODO: Remove this after the OldStack profiler gets removed
|
|
4
21
|
VALUE clock_id_for(VALUE self, VALUE thread);
|
|
22
|
+
|
|
23
|
+
thread_cpu_time_id thread_cpu_time_id_for(VALUE thread);
|
|
24
|
+
thread_cpu_time thread_cpu_time_for(thread_cpu_time_id time_id);
|
|
@@ -9,18 +9,20 @@
|
|
|
9
9
|
#include <errno.h>
|
|
10
10
|
|
|
11
11
|
#include <ruby.h>
|
|
12
|
+
#include "helpers.h"
|
|
12
13
|
#include "private_vm_api_access.h"
|
|
13
14
|
#include "clock_id.h"
|
|
14
15
|
|
|
15
16
|
// Validate that our home-cooked pthread_id_for() matches pthread_self() for the current thread
|
|
16
|
-
void self_test_clock_id() {
|
|
17
|
+
void self_test_clock_id(void) {
|
|
17
18
|
rb_nativethread_id_t expected_pthread_id = pthread_self();
|
|
18
19
|
rb_nativethread_id_t actual_pthread_id = pthread_id_for(rb_thread_current());
|
|
19
20
|
|
|
20
21
|
if (expected_pthread_id != actual_pthread_id) rb_raise(rb_eRuntimeError, "pthread_id_for() self-test failed");
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
// TODO: Remove this after the OldStack profiler gets removed
|
|
25
|
+
VALUE clock_id_for(DDTRACE_UNUSED VALUE _self, VALUE thread) {
|
|
24
26
|
rb_nativethread_id_t thread_id = pthread_id_for(thread);
|
|
25
27
|
|
|
26
28
|
clockid_t clock_id;
|
|
@@ -41,4 +43,31 @@ VALUE clock_id_for(VALUE self, VALUE thread) {
|
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
|
|
46
|
+
thread_cpu_time_id thread_cpu_time_id_for(VALUE thread) {
|
|
47
|
+
rb_nativethread_id_t thread_id = pthread_id_for(thread);
|
|
48
|
+
clockid_t clock_id;
|
|
49
|
+
|
|
50
|
+
int error = pthread_getcpuclockid(thread_id, &clock_id);
|
|
51
|
+
|
|
52
|
+
if (error == 0) {
|
|
53
|
+
return (thread_cpu_time_id) {.valid = true, .clock_id = clock_id};
|
|
54
|
+
} else {
|
|
55
|
+
// TODO: Include the error code in some way in the output?
|
|
56
|
+
return (thread_cpu_time_id) {.valid = false};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
thread_cpu_time thread_cpu_time_for(thread_cpu_time_id time_id) {
|
|
61
|
+
thread_cpu_time error = (thread_cpu_time) {.valid = false};
|
|
62
|
+
|
|
63
|
+
if (!time_id.valid) { return error; }
|
|
64
|
+
|
|
65
|
+
struct timespec current_cpu;
|
|
66
|
+
|
|
67
|
+
// TODO: Include the error code in some way in the output?
|
|
68
|
+
if (clock_gettime(time_id.clock_id, ¤t_cpu) != 0) return error;
|
|
69
|
+
|
|
70
|
+
return (thread_cpu_time) {.valid = true, .result_ns = current_cpu.tv_nsec + (current_cpu.tv_sec * 1000 * 1000 * 1000)};
|
|
71
|
+
}
|
|
72
|
+
|
|
44
73
|
#endif
|
|
@@ -7,8 +7,17 @@
|
|
|
7
7
|
#include <ruby.h>
|
|
8
8
|
|
|
9
9
|
#include "clock_id.h"
|
|
10
|
+
#include "helpers.h"
|
|
10
11
|
|
|
11
|
-
void self_test_clock_id() { } // Nothing to check
|
|
12
|
-
VALUE clock_id_for(VALUE
|
|
12
|
+
void self_test_clock_id(void) { } // Nothing to check
|
|
13
|
+
VALUE clock_id_for(DDTRACE_UNUSED VALUE _self, DDTRACE_UNUSED VALUE _thread) { return Qnil; } // Nothing to return
|
|
14
|
+
|
|
15
|
+
thread_cpu_time_id thread_cpu_time_id_for(DDTRACE_UNUSED VALUE _thread) {
|
|
16
|
+
return (thread_cpu_time_id) {.valid = false};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
thread_cpu_time thread_cpu_time_for(DDTRACE_UNUSED thread_cpu_time_id _time_id) {
|
|
20
|
+
return (thread_cpu_time) {.valid = false};
|
|
21
|
+
}
|
|
13
22
|
|
|
14
23
|
#endif
|