datadog 2.19.0 → 2.21.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 +52 -1
- data/README.md +0 -1
- data/ext/libdatadog_api/extconf.rb +3 -1
- data/ext/libdatadog_api/process_discovery.c +5 -5
- data/ext/libdatadog_extconf_helpers.rb +13 -3
- data/lib/datadog/appsec/api_security/route_extractor.rb +6 -2
- data/lib/datadog/appsec/autoload.rb +1 -1
- data/lib/datadog/appsec/component.rb +3 -13
- data/lib/datadog/appsec/context.rb +23 -0
- data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +2 -1
- data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +2 -1
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +0 -1
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +0 -1
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +14 -22
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +23 -2
- data/lib/datadog/appsec/contrib/rails/patcher.rb +14 -26
- data/lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb +27 -0
- data/lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb +33 -0
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +0 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +23 -0
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +8 -18
- data/lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb +31 -0
- data/lib/datadog/appsec/event.rb +3 -18
- data/lib/datadog/appsec/instrumentation/gateway/argument.rb +16 -0
- data/lib/datadog/appsec/metrics/collector.rb +7 -3
- data/lib/datadog/appsec/metrics/telemetry.rb +1 -1
- data/lib/datadog/appsec/metrics/telemetry_exporter.rb +28 -0
- data/lib/datadog/appsec/metrics.rb +1 -0
- data/lib/datadog/appsec/security_engine/engine.rb +14 -32
- data/lib/datadog/appsec/security_engine/result.rb +16 -0
- data/lib/datadog/appsec/security_engine/runner.rb +18 -4
- data/lib/datadog/appsec/thread_safe_ref.rb +61 -0
- data/lib/datadog/appsec/trace_keeper.rb +24 -0
- data/lib/datadog/appsec/utils/hash_coercion.rb +23 -0
- data/lib/datadog/appsec.rb +0 -7
- data/lib/datadog/auto_instrument_base.rb +2 -1
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +4 -4
- data/lib/datadog/core/configuration/components.rb +8 -2
- data/lib/datadog/core/configuration/config_helper.rb +100 -0
- data/lib/datadog/core/configuration/deprecations.rb +36 -0
- data/lib/datadog/core/configuration/ext.rb +0 -1
- data/lib/datadog/core/configuration/option.rb +55 -51
- data/lib/datadog/core/configuration/option_definition.rb +2 -11
- data/lib/datadog/core/configuration/options.rb +14 -12
- data/lib/datadog/core/configuration/settings.rb +10 -6
- data/lib/datadog/core/configuration/supported_configurations.rb +335 -0
- data/lib/datadog/core/configuration.rb +1 -1
- data/lib/datadog/core/deprecations.rb +2 -2
- data/lib/datadog/core/environment/ext.rb +0 -2
- data/lib/datadog/core/environment/git.rb +2 -2
- data/lib/datadog/core/environment/variable_helpers.rb +3 -3
- data/lib/datadog/core/metrics/client.rb +2 -2
- data/lib/datadog/core/process_discovery/tracer_memfd.rb +2 -4
- data/lib/datadog/core/process_discovery.rb +46 -23
- data/lib/datadog/core/runtime/ext.rb +0 -1
- data/lib/datadog/core/telemetry/event/app_started.rb +2 -2
- data/lib/datadog/core.rb +2 -0
- data/lib/datadog/di/boot.rb +9 -1
- data/lib/datadog/di/component.rb +7 -0
- data/lib/datadog/di/probe_file_loader/railtie.rb +15 -0
- data/lib/datadog/di/probe_file_loader.rb +82 -0
- data/lib/datadog/di/probe_notification_builder.rb +1 -1
- data/lib/datadog/di/remote.rb +3 -5
- data/lib/datadog/di.rb +0 -1
- data/lib/datadog/kit/appsec/events/v2.rb +5 -4
- data/lib/datadog/kit/appsec/events.rb +11 -10
- data/lib/datadog/kit/identity.rb +17 -11
- data/lib/datadog/opentelemetry/api/baggage.rb +2 -2
- data/lib/datadog/opentelemetry/api/context.rb +10 -9
- data/lib/datadog/opentelemetry/sdk/configurator.rb +1 -1
- data/lib/datadog/opentelemetry/sdk/propagator.rb +4 -4
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +8 -8
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +14 -10
- data/lib/datadog/opentelemetry/trace.rb +4 -4
- data/lib/datadog/profiling/collectors/info.rb +1 -1
- data/lib/datadog/profiling/ext.rb +2 -1
- data/lib/datadog/profiling/http_transport.rb +1 -1
- data/lib/datadog/profiling/tasks/exec.rb +2 -2
- data/lib/datadog/profiling.rb +6 -8
- data/lib/datadog/tracing/analytics.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +7 -7
- data/lib/datadog/tracing/configuration/dynamic.rb +4 -6
- data/lib/datadog/tracing/configuration/ext.rb +3 -5
- data/lib/datadog/tracing/configuration/settings.rb +29 -7
- data/lib/datadog/tracing/context.rb +2 -2
- data/lib/datadog/tracing/contrib/action_cable/event.rb +1 -1
- data/lib/datadog/tracing/contrib/action_cable/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/action_mailer/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/action_pack/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/action_view/events/render_template.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/event.rb +8 -8
- data/lib/datadog/tracing/contrib/active_job/events/discard.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/perform.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb +1 -1
- data/lib/datadog/tracing/contrib/active_job/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/events/render.rb +1 -1
- data/lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb +3 -3
- data/lib/datadog/tracing/contrib/active_model_serializers/integration.rb +1 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/instantiation.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/events/sql.rb +5 -5
- data/lib/datadog/tracing/contrib/active_record/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/utils.rb +15 -15
- data/lib/datadog/tracing/contrib/active_support/cache/events/cache.rb +6 -6
- data/lib/datadog/tracing/contrib/active_support/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/event.rb +2 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +7 -9
- data/lib/datadog/tracing/contrib/aws/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/parsed_context.rb +3 -1
- data/lib/datadog/tracing/contrib/aws/patcher.rb +5 -1
- data/lib/datadog/tracing/contrib/aws/service/base.rb +2 -1
- data/lib/datadog/tracing/contrib/aws/service/dynamodb.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/eventbridge.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/kinesis.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/s3.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/sns.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/sqs.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/service/states.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/services.rb +7 -7
- data/lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/configurable.rb +6 -6
- data/lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb +4 -4
- data/lib/datadog/tracing/contrib/dalli/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/dalli/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/delayed_job/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/elasticsearch/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/elasticsearch/integration.rb +4 -4
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +51 -53
- data/lib/datadog/tracing/contrib/elasticsearch/quantize.rb +5 -5
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +2 -2
- data/lib/datadog/tracing/contrib/ethon/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/ethon/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/excon/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/middleware.rb +2 -2
- data/lib/datadog/tracing/contrib/ext.rb +3 -3
- data/lib/datadog/tracing/contrib/extensions.rb +9 -9
- data/lib/datadog/tracing/contrib/faraday/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/faraday/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +4 -2
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +8 -8
- data/lib/datadog/tracing/contrib/grape/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +2 -2
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +36 -25
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +8 -8
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/ext.rb +2 -2
- data/lib/datadog/tracing/contrib/hanami/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +9 -11
- data/lib/datadog/tracing/contrib/http/distributed/fetcher.rb +4 -4
- data/lib/datadog/tracing/contrib/http/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +5 -5
- data/lib/datadog/tracing/contrib/httpclient/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/httpclient/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/httprb/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/httprb/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/event.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/connection/request.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb +1 -1
- data/lib/datadog/tracing/contrib/kafka/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/karafka/monitor.rb +13 -13
- data/lib/datadog/tracing/contrib/karafka/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/lograge/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +6 -6
- data/lib/datadog/tracing/contrib/mysql2/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/mysql2/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/opensearch/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/opensearch/integration.rb +1 -2
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +68 -70
- data/lib/datadog/tracing/contrib/opensearch/quantize.rb +5 -5
- data/lib/datadog/tracing/contrib/patcher.rb +7 -9
- data/lib/datadog/tracing/contrib/pg/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/presto/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb +1 -1
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
- data/lib/datadog/tracing/contrib/que/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/event.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/events/consume.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +2 -2
- data/lib/datadog/tracing/contrib/racecar/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/header_collection.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/header_tagging.rb +32 -32
- data/lib/datadog/tracing/contrib/rack/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +21 -17
- data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/request_queue.rb +3 -2
- data/lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb +7 -1
- data/lib/datadog/tracing/contrib/rails/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/ext.rb +2 -1
- data/lib/datadog/tracing/contrib/rails/integration.rb +2 -2
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/middlewares.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/runner.rb +5 -4
- data/lib/datadog/tracing/contrib/rake/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/rake/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/configuration/resolver.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/redis/integration.rb +2 -2
- data/lib/datadog/tracing/contrib/redis/patcher.rb +4 -4
- data/lib/datadog/tracing/contrib/redis/quantize.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/tags.rb +1 -1
- data/lib/datadog/tracing/contrib/redis/trace_middleware.rb +4 -4
- data/lib/datadog/tracing/contrib/registry.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/resque/resque_job.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/ext.rb +3 -2
- data/lib/datadog/tracing/contrib/rest_client/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +3 -3
- data/lib/datadog/tracing/contrib/roda/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/roda/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/semantic_logger/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/database.rb +5 -5
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sidekiq/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sidekiq/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +38 -40
- data/lib/datadog/tracing/contrib/sneakers/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/span_attribute_schema.rb +1 -1
- data/lib/datadog/tracing/contrib/stripe/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/stripe/request.rb +1 -1
- data/lib/datadog/tracing/contrib/sucker_punch/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/trilogy/ext.rb +1 -1
- data/lib/datadog/tracing/contrib/trilogy/integration.rb +1 -1
- data/lib/datadog/tracing/contrib/utils/quantization/hash.rb +11 -11
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +6 -6
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +5 -1
- data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
- data/lib/datadog/tracing/distributed/baggage.rb +73 -8
- data/lib/datadog/tracing/distributed/datadog.rb +4 -5
- data/lib/datadog/tracing/distributed/datadog_tags_codec.rb +11 -13
- data/lib/datadog/tracing/distributed/helpers.rb +1 -1
- data/lib/datadog/tracing/distributed/none.rb +4 -2
- data/lib/datadog/tracing/distributed/propagation.rb +4 -1
- data/lib/datadog/tracing/distributed/propagation_policy.rb +1 -1
- data/lib/datadog/tracing/distributed/trace_context.rb +22 -16
- data/lib/datadog/tracing/event.rb +5 -7
- data/lib/datadog/tracing/flush.rb +1 -1
- data/lib/datadog/tracing/metadata/analytics.rb +1 -1
- data/lib/datadog/tracing/metadata/tagging.rb +4 -4
- data/lib/datadog/tracing/pipeline/span_filter.rb +3 -1
- data/lib/datadog/tracing/pipeline/span_processor.rb +3 -1
- data/lib/datadog/tracing/pipeline.rb +1 -1
- data/lib/datadog/tracing/sampling/ext.rb +0 -2
- data/lib/datadog/tracing/sampling/rule_sampler.rb +30 -30
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +1 -1
- data/lib/datadog/tracing/sampling/span/sampler.rb +0 -7
- data/lib/datadog/tracing/span.rb +1 -1
- data/lib/datadog/tracing/span_event.rb +10 -10
- data/lib/datadog/tracing/span_link.rb +12 -12
- data/lib/datadog/tracing/span_operation.rb +9 -11
- data/lib/datadog/tracing/trace_digest.rb +21 -23
- data/lib/datadog/tracing/trace_operation.rb +84 -88
- data/lib/datadog/tracing/trace_segment.rb +2 -2
- data/lib/datadog/tracing/tracer.rb +36 -38
- data/lib/datadog/tracing/transport/http/client.rb +1 -1
- data/lib/datadog/tracing/transport/http/traces.rb +2 -2
- data/lib/datadog/tracing/transport/io/client.rb +5 -5
- data/lib/datadog/tracing/transport/io/traces.rb +4 -4
- data/lib/datadog/tracing/transport/statistics.rb +1 -1
- data/lib/datadog/tracing/transport/traces.rb +5 -5
- data/lib/datadog/tracing/workers/trace_writer.rb +12 -12
- data/lib/datadog/tracing/workers.rb +2 -2
- data/lib/datadog/tracing.rb +2 -2
- data/lib/datadog/version.rb +1 -1
- metadata +18 -6
@@ -82,12 +82,13 @@ module Datadog
|
|
82
82
|
)
|
83
83
|
|
84
84
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
85
|
-
rescue
|
85
|
+
rescue => e
|
86
86
|
Datadog.logger.error(e.message)
|
87
87
|
Datadog::Core::Telemetry::Logger.report(e)
|
88
88
|
end
|
89
89
|
# rubocop:enable Metrics/AbcSize
|
90
90
|
|
91
|
+
# rubocop:disable Metrics/AbcSize
|
91
92
|
def handle_response(span, env, options)
|
92
93
|
span.set_error(["Error #{env[:status]}", env[:body]]) if options[:error_status_codes].include? env[:status]
|
93
94
|
|
@@ -96,10 +97,11 @@ module Datadog
|
|
96
97
|
span.set_tags(
|
97
98
|
Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers])
|
98
99
|
)
|
99
|
-
rescue
|
100
|
+
rescue => e
|
100
101
|
Datadog.logger.error(e.message)
|
101
102
|
Datadog::Core::Telemetry::Logger.report(e)
|
102
103
|
end
|
104
|
+
# rubocop:enable Metrics/AbcSize
|
103
105
|
|
104
106
|
def propagate!(trace, span, env)
|
105
107
|
Contrib::HTTP.inject(trace, env[:request_headers])
|
@@ -76,7 +76,7 @@ module Datadog
|
|
76
76
|
end
|
77
77
|
|
78
78
|
Thread.current[KEY_RUN] = true
|
79
|
-
rescue
|
79
|
+
rescue => e
|
80
80
|
Datadog.logger.error(e.message)
|
81
81
|
Datadog::Core::Telemetry::Logger.report(e)
|
82
82
|
end
|
@@ -120,7 +120,7 @@ module Datadog
|
|
120
120
|
span.start(start)
|
121
121
|
span.finish(finish)
|
122
122
|
end
|
123
|
-
rescue
|
123
|
+
rescue => e
|
124
124
|
Datadog.logger.error(e.message)
|
125
125
|
Datadog::Core::Telemetry::Logger.report(e)
|
126
126
|
end
|
@@ -164,7 +164,7 @@ module Datadog
|
|
164
164
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_ENDPOINT_RENDER)
|
165
165
|
|
166
166
|
Thread.current[KEY_RENDER] = true
|
167
|
-
rescue
|
167
|
+
rescue => e
|
168
168
|
Datadog.logger.error(e.message)
|
169
169
|
Datadog::Core::Telemetry::Logger.report(e)
|
170
170
|
end
|
@@ -189,7 +189,7 @@ module Datadog
|
|
189
189
|
span.start(start)
|
190
190
|
span.finish(finish)
|
191
191
|
end
|
192
|
-
rescue
|
192
|
+
rescue => e
|
193
193
|
Datadog.logger.error(e.message)
|
194
194
|
Datadog::Core::Telemetry::Logger.report(e)
|
195
195
|
end
|
@@ -228,7 +228,7 @@ module Datadog
|
|
228
228
|
span.start(start)
|
229
229
|
span.finish(finish)
|
230
230
|
end
|
231
|
-
rescue
|
231
|
+
rescue => e
|
232
232
|
Datadog.logger.error(e.message)
|
233
233
|
Datadog::Core::Telemetry::Logger.report(e)
|
234
234
|
end
|
@@ -265,7 +265,7 @@ module Datadog
|
|
265
265
|
|
266
266
|
def endpoint_expand_path(endpoint)
|
267
267
|
route_path = endpoint.options[:path]
|
268
|
-
namespace = endpoint.routes.first
|
268
|
+
namespace = endpoint.routes.first&.namespace || ''
|
269
269
|
|
270
270
|
path = (namespace.split('/') + route_path)
|
271
271
|
.reject { |p| p.blank? || p.eql?('/') }
|
@@ -297,11 +297,11 @@ module Datadog
|
|
297
297
|
matcher = datadog_configuration[:error_statuses]
|
298
298
|
return true unless matcher
|
299
299
|
|
300
|
-
matcher
|
300
|
+
matcher&.include?(status)
|
301
301
|
end
|
302
302
|
|
303
303
|
def enabled?
|
304
|
-
Datadog.configuration.tracing.enabled &&
|
304
|
+
Datadog.configuration.tracing.enabled &&
|
305
305
|
datadog_configuration[:enabled] == true
|
306
306
|
end
|
307
307
|
|
@@ -36,8 +36,8 @@ module Datadog
|
|
36
36
|
end
|
37
37
|
else
|
38
38
|
Datadog.logger.warn(
|
39
|
-
"GraphQL version (#{target_version}) does not support GraphQL::Tracing::DataDogTrace"\
|
40
|
-
'or Datadog::Tracing::Contrib::GraphQL::UnifiedTrace.'\
|
39
|
+
"GraphQL version (#{target_version}) does not support GraphQL::Tracing::DataDogTrace" \
|
40
|
+
'or Datadog::Tracing::Contrib::GraphQL::UnifiedTrace.' \
|
41
41
|
'Falling back to GraphQL::Tracing::DataDogTracing.'
|
42
42
|
)
|
43
43
|
TracingPatcher.patch!(schemas)
|
@@ -42,7 +42,7 @@ module Datadog
|
|
42
42
|
|
43
43
|
def execute_multiplex(*args, multiplex:, **kwargs)
|
44
44
|
trace(proc { super }, 'execute_multiplex', multiplex_resource(multiplex), multiplex: multiplex) do |span|
|
45
|
-
span.set_tag('graphql.source', "Multiplex[#{multiplex.queries.map(&:query_string).join(
|
45
|
+
span.set_tag('graphql.source', "Multiplex[#{multiplex.queries.map(&:query_string).join(", ")}]")
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -50,8 +50,11 @@ module Datadog
|
|
50
50
|
trace(
|
51
51
|
proc { super },
|
52
52
|
'execute',
|
53
|
-
query.
|
53
|
+
operation_resource(query.selected_operation),
|
54
54
|
lambda { |span|
|
55
|
+
# Ensure this span can be aggregated by in the Datadog App, and generates RED metrics.
|
56
|
+
span.set_tag(Tracing::Metadata::Ext::TAG_KIND, Tracing::Metadata::Ext::SpanKind::TAG_SERVER)
|
57
|
+
|
55
58
|
span.set_tag('graphql.source', query.query_string)
|
56
59
|
span.set_tag('graphql.operation.type', query.selected_operation.operation_type)
|
57
60
|
if query.selected_operation_name
|
@@ -71,10 +74,10 @@ module Datadog
|
|
71
74
|
|
72
75
|
def execute_query_lazy(*args, query:, multiplex:, **kwargs)
|
73
76
|
resource = if query
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
77
|
+
query.selected_operation_name || fallback_transaction_name(query.context)
|
78
|
+
else
|
79
|
+
multiplex_resource(multiplex)
|
80
|
+
end
|
78
81
|
trace(proc { super }, 'execute_lazy', resource, query: query, multiplex: multiplex)
|
79
82
|
end
|
80
83
|
|
@@ -176,7 +179,7 @@ module Datadog
|
|
176
179
|
|
177
180
|
ret = callable.call
|
178
181
|
|
179
|
-
after
|
182
|
+
after&.call(span)
|
180
183
|
|
181
184
|
ret
|
182
185
|
end
|
@@ -194,6 +197,14 @@ module Datadog
|
|
194
197
|
end
|
195
198
|
end
|
196
199
|
|
200
|
+
def operation_resource(operation)
|
201
|
+
if operation.name
|
202
|
+
"#{operation.operation_type} #{operation.name}"
|
203
|
+
else
|
204
|
+
"anonymous"
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
197
208
|
# Create a Span Event for each error that occurs at query level.
|
198
209
|
#
|
199
210
|
# These are represented in the Datadog App as special GraphQL errors,
|
@@ -202,23 +213,23 @@ module Datadog
|
|
202
213
|
capture_extensions = Datadog.configuration.tracing[:graphql][:error_extensions]
|
203
214
|
errors.each do |error|
|
204
215
|
extensions = if !capture_extensions.empty? && (extensions = error.extensions)
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
216
|
+
# Capture extensions, ensuring all values are primitives
|
217
|
+
extensions.each_with_object({}) do |(key, value), hash|
|
218
|
+
next unless capture_extensions.include?(key.to_s)
|
219
|
+
|
220
|
+
value = case value
|
221
|
+
when TrueClass, FalseClass, Integer, Float
|
222
|
+
value
|
223
|
+
else
|
224
|
+
# Stringify anything that is not a boolean or a number
|
225
|
+
value.to_s
|
226
|
+
end
|
227
|
+
|
228
|
+
hash["extensions.#{key}"] = value
|
229
|
+
end
|
230
|
+
else
|
231
|
+
{}
|
232
|
+
end
|
222
233
|
|
223
234
|
# {::GraphQL::Error#to_h} returns the error formatted in compliance with the GraphQL spec.
|
224
235
|
# This is an unwritten contract in the `graphql` library.
|
@@ -251,7 +262,7 @@ module Datadog
|
|
251
262
|
# ["3:10", "7:8"]
|
252
263
|
def serialize_error_locations(locations)
|
253
264
|
locations.map do |location|
|
254
|
-
"#{location[
|
265
|
+
"#{location["line"]}:#{location["column"]}"
|
255
266
|
end
|
256
267
|
end
|
257
268
|
end
|
@@ -33,7 +33,7 @@ module Datadog
|
|
33
33
|
|
34
34
|
begin
|
35
35
|
result = yield
|
36
|
-
rescue
|
36
|
+
rescue => e
|
37
37
|
code = e.is_a?(::GRPC::BadStatus) ? e.code : ::GRPC::Core::StatusCodes::UNKNOWN
|
38
38
|
span.set_tag(Contrib::Ext::RPC::GRPC::TAG_STATUS_CODE, code)
|
39
39
|
|
@@ -89,7 +89,7 @@ module Datadog
|
|
89
89
|
GRPC.inject(trace, metadata)
|
90
90
|
end
|
91
91
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
92
|
-
rescue
|
92
|
+
rescue => e
|
93
93
|
Datadog.logger.debug("GRPC client trace failed: #{e}")
|
94
94
|
end
|
95
95
|
|
@@ -103,12 +103,12 @@ module Datadog
|
|
103
103
|
return unless call
|
104
104
|
|
105
105
|
peer_address = if call.respond_to?(:peer)
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
106
|
+
call.peer
|
107
|
+
else
|
108
|
+
# call is a "view" class with restricted method visibility.
|
109
|
+
# We reach into it to find our data source anyway.
|
110
|
+
call.instance_variable_get(:@wrapped).peer
|
111
|
+
end
|
112
112
|
|
113
113
|
Core::Utils.extract_host_port(peer_address)
|
114
114
|
rescue => e
|
@@ -37,7 +37,7 @@ module Datadog
|
|
37
37
|
|
38
38
|
begin
|
39
39
|
yield
|
40
|
-
rescue
|
40
|
+
rescue => e
|
41
41
|
code = e.is_a?(::GRPC::BadStatus) ? e.code : ::GRPC::Core::StatusCodes::UNKNOWN
|
42
42
|
span.set_tag(Contrib::Ext::RPC::GRPC::TAG_STATUS_CODE, code)
|
43
43
|
|
@@ -52,7 +52,7 @@ module Datadog
|
|
52
52
|
|
53
53
|
def set_distributed_context!(metadata)
|
54
54
|
Tracing.continue_trace!(GRPC.extract(metadata))
|
55
|
-
rescue
|
55
|
+
rescue => e
|
56
56
|
Datadog.logger.debug(
|
57
57
|
"unable to propagate GRPC metadata to context: #{e}"
|
58
58
|
)
|
@@ -85,7 +85,7 @@ module Datadog
|
|
85
85
|
|
86
86
|
# Measure service stats
|
87
87
|
Contrib::Analytics.set_measured(span)
|
88
|
-
rescue
|
88
|
+
rescue => e
|
89
89
|
Datadog.logger.debug("GRPC server trace failed: #{e}")
|
90
90
|
end
|
91
91
|
end
|
@@ -9,9 +9,9 @@ module Datadog
|
|
9
9
|
module Ext
|
10
10
|
ENV_ENABLED = 'DD_TRACE_HANAMI_ENABLED'
|
11
11
|
|
12
|
-
SPAN_ACTION =
|
12
|
+
SPAN_ACTION = 'hanami.action'
|
13
13
|
SPAN_ROUTING = 'hanami.routing'
|
14
|
-
SPAN_RENDER =
|
14
|
+
SPAN_RENDER = 'hanami.render'
|
15
15
|
|
16
16
|
TAG_COMPONENT = 'hanami'
|
17
17
|
TAG_OPERATION_ACTION = 'action'
|
@@ -15,7 +15,7 @@ module Datadog
|
|
15
15
|
#
|
16
16
|
# For example in config/routes.rb:
|
17
17
|
# get '/hello', to: ->(env) { [200, {}, ['Hello from Hanami!']] }
|
18
|
-
action_klass =
|
18
|
+
action_klass = action&.class ||
|
19
19
|
::Hanami::Routing::Default::NullAction
|
20
20
|
|
21
21
|
Tracing.trace(
|
@@ -17,19 +17,17 @@ module Datadog
|
|
17
17
|
service: configuration[:service_name],
|
18
18
|
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND
|
19
19
|
) do |span_op, trace_op|
|
20
|
-
|
21
|
-
|
22
|
-
span_op.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_ROUTING)
|
20
|
+
span_op.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
21
|
+
span_op.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_ROUTING)
|
23
22
|
|
24
|
-
|
23
|
+
span_op.resource = nil
|
25
24
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
25
|
+
super
|
26
|
+
ensure
|
27
|
+
span_op.resource ||= if trace_op.resource_override?
|
28
|
+
trace_op.resource
|
29
|
+
else
|
30
|
+
env['REQUEST_METHOD']
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../../../distributed/fetcher'
|
4
4
|
|
@@ -17,13 +17,13 @@ module Datadog
|
|
17
17
|
# @return [String, nil] the header value or nil if not found
|
18
18
|
def [](name)
|
19
19
|
# Try to fetch with the plain key
|
20
|
-
value = super
|
20
|
+
value = super
|
21
21
|
return value if value && !value.empty?
|
22
22
|
|
23
23
|
# If not found, try the Rack-formatted key
|
24
|
-
rack_header = "HTTP-#{name}"
|
24
|
+
rack_header = +"HTTP-#{name}"
|
25
25
|
rack_header.upcase!
|
26
|
-
rack_header.tr!('-'
|
26
|
+
rack_header.tr!('-', '_')
|
27
27
|
|
28
28
|
hdr = super(rack_header)
|
29
29
|
|
@@ -18,10 +18,11 @@ module Datadog
|
|
18
18
|
SPAN_REQUEST = 'http.request'
|
19
19
|
TAG_COMPONENT = 'net/http'
|
20
20
|
TAG_OPERATION_REQUEST = 'request'
|
21
|
-
PEER_SERVICE_SOURCES =
|
21
|
+
PEER_SERVICE_SOURCES = [
|
22
22
|
Tracing::Metadata::Ext::TAG_PEER_HOSTNAME,
|
23
23
|
Tracing::Metadata::Ext::NET::TAG_DESTINATION_NAME,
|
24
|
-
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
24
|
+
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
25
|
+
].freeze
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
@@ -28,7 +28,7 @@ module Datadog
|
|
28
28
|
request_options = datadog_configuration(host)
|
29
29
|
client_config = Datadog.configuration_for(self)
|
30
30
|
|
31
|
-
return super
|
31
|
+
return super if Contrib::HTTP.should_skip_tracing?(req)
|
32
32
|
|
33
33
|
Tracing.trace(Ext::SPAN_REQUEST) do |span, trace|
|
34
34
|
span.service = service_name(host, request_options, client_config)
|
@@ -74,7 +74,7 @@ module Datadog
|
|
74
74
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
75
75
|
span.set_tag(
|
76
76
|
Tracing::Metadata::Ext::HTTP::TAG_URL,
|
77
|
-
Contrib::Utils::Quantization::HTTP.url(request.path, {
|
77
|
+
Contrib::Utils::Quantization::HTTP.url(request.path, {query: {exclude: :all}})
|
78
78
|
)
|
79
79
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, request.method)
|
80
80
|
|
@@ -92,13 +92,13 @@ module Datadog
|
|
92
92
|
)
|
93
93
|
|
94
94
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
95
|
-
rescue
|
95
|
+
rescue => e
|
96
96
|
Datadog.logger.error("error preparing span from http request: #{e}")
|
97
97
|
Datadog::Core::Telemetry::Logger.report(e)
|
98
98
|
end
|
99
99
|
|
100
100
|
def annotate_span_with_response!(span, response, request_options)
|
101
|
-
return unless response
|
101
|
+
return unless response&.code
|
102
102
|
|
103
103
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, response.code)
|
104
104
|
|
@@ -107,7 +107,7 @@ module Datadog
|
|
107
107
|
span.set_tags(
|
108
108
|
Datadog.configuration.tracing.header_tags.response_tags(response)
|
109
109
|
)
|
110
|
-
rescue
|
110
|
+
rescue => e
|
111
111
|
Datadog.logger.error("error preparing span from http response: #{e}")
|
112
112
|
Datadog::Core::Telemetry::Logger.report(e)
|
113
113
|
end
|
@@ -19,10 +19,11 @@ module Datadog
|
|
19
19
|
SPAN_REQUEST = 'httpclient.request'
|
20
20
|
TAG_COMPONENT = 'httpclient'
|
21
21
|
TAG_OPERATION_REQUEST = 'request'
|
22
|
-
PEER_SERVICE_SOURCES =
|
22
|
+
PEER_SERVICE_SOURCES = [
|
23
23
|
Tracing::Metadata::Ext::TAG_PEER_HOSTNAME,
|
24
24
|
Tracing::Metadata::Ext::NET::TAG_DESTINATION_NAME,
|
25
|
-
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
25
|
+
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
26
|
+
].freeze
|
26
27
|
end
|
27
28
|
end
|
28
29
|
end
|
@@ -40,7 +40,7 @@ module Datadog
|
|
40
40
|
|
41
41
|
# Add additional request specific tags to the span.
|
42
42
|
annotate_span_with_request!(span, req, request_options)
|
43
|
-
rescue
|
43
|
+
rescue => e
|
44
44
|
Datadog.logger.error("error preparing span for httpclient request: #{e}, Source: #{e.backtrace}")
|
45
45
|
Datadog::Core::Telemetry::Logger.report(e)
|
46
46
|
ensure
|
@@ -95,7 +95,7 @@ module Datadog
|
|
95
95
|
end
|
96
96
|
|
97
97
|
def annotate_span_with_response!(span, response, request_options)
|
98
|
-
return unless response
|
98
|
+
return unless response&.status
|
99
99
|
|
100
100
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, response.status)
|
101
101
|
|
@@ -106,7 +106,7 @@ module Datadog
|
|
106
106
|
span.set_tags(
|
107
107
|
Datadog.configuration.tracing.header_tags.response_tags(response.header)
|
108
108
|
)
|
109
|
-
rescue
|
109
|
+
rescue => e
|
110
110
|
Datadog.logger.error("error preparing span from httpclient response: #{e}, Source: #{e.backtrace}")
|
111
111
|
Datadog::Core::Telemetry::Logger.report(e)
|
112
112
|
end
|
@@ -18,10 +18,11 @@ module Datadog
|
|
18
18
|
SPAN_REQUEST = 'httprb.request'
|
19
19
|
TAG_COMPONENT = 'httprb'
|
20
20
|
TAG_OPERATION_REQUEST = 'request'
|
21
|
-
PEER_SERVICE_SOURCES =
|
21
|
+
PEER_SERVICE_SOURCES = [
|
22
22
|
Tracing::Metadata::Ext::TAG_PEER_HOSTNAME,
|
23
23
|
Tracing::Metadata::Ext::NET::TAG_DESTINATION_NAME,
|
24
|
-
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
24
|
+
Tracing::Metadata::Ext::NET::TAG_TARGET_HOST,
|
25
|
+
].freeze
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
@@ -40,7 +40,7 @@ module Datadog
|
|
40
40
|
|
41
41
|
# Add additional request specific tags to the span.
|
42
42
|
annotate_span_with_request!(span, req, request_options)
|
43
|
-
rescue
|
43
|
+
rescue => e
|
44
44
|
logger.error("error preparing span for http.rb request: #{e}, Source: #{e.backtrace}")
|
45
45
|
Datadog::Core::Telemetry::Logger.report(e)
|
46
46
|
ensure
|
@@ -74,7 +74,7 @@ module Datadog
|
|
74
74
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
75
75
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
76
76
|
|
77
|
-
if req.verb
|
77
|
+
if req.verb&.is_a?(String) || req.verb.is_a?(Symbol)
|
78
78
|
http_method = req.verb.to_s.upcase
|
79
79
|
span.resource = http_method
|
80
80
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, http_method)
|
@@ -103,7 +103,7 @@ module Datadog
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def annotate_span_with_response!(span, response, request_options)
|
106
|
-
return unless response
|
106
|
+
return unless response&.code
|
107
107
|
|
108
108
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, response.code)
|
109
109
|
|
@@ -116,7 +116,7 @@ module Datadog
|
|
116
116
|
span.set_tags(
|
117
117
|
Datadog.configuration.tracing.header_tags.response_tags(response.headers)
|
118
118
|
)
|
119
|
-
rescue
|
119
|
+
rescue => e
|
120
120
|
logger.error("error preparing span from http.rb response: #{e}, Source: #{e.backtrace}")
|
121
121
|
Datadog::Core::Telemetry::Logger.report(e)
|
122
122
|
end
|
@@ -31,7 +31,7 @@ module Datadog
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def span_options
|
34
|
-
super.merge({
|
34
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_CONNECTION_REQUEST}})
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -38,7 +38,7 @@ module Datadog
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def span_options
|
41
|
-
super.merge({
|
41
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_PROCESS_BATCH}})
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -36,7 +36,7 @@ module Datadog
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def span_options
|
39
|
-
super.merge({
|
39
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_PROCESS_MESSAGE}})
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -36,7 +36,7 @@ module Datadog
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def span_options
|
39
|
-
super.merge({
|
39
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_CONSUMER_HEARTBEAT}})
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -26,7 +26,7 @@ module Datadog
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def span_options
|
29
|
-
super.merge({
|
29
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_CONSUMER_JOIN_GROUP}})
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -26,7 +26,7 @@ module Datadog
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def span_options
|
29
|
-
super.merge({
|
29
|
+
super.merge({tags: {Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_CONSUMER_LEAVE_GROUP}})
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|