datadog 2.46.0 → 2.48.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 +56 -2
- data/LICENSE-3rdparty.csv +1 -0
- data/ext/datadog_profiling_native_extension/collectors_stack.c +143 -86
- data/ext/datadog_profiling_native_extension/collectors_stack.h +9 -1
- data/ext/datadog_profiling_native_extension/collectors_thread_context.c +6 -1
- data/ext/datadog_profiling_native_extension/extconf.rb +7 -13
- data/ext/datadog_profiling_native_extension/native_extension_helpers.rb +3 -3
- data/ext/datadog_profiling_native_extension/private_vm_api_access.c +67 -14
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +8 -1
- data/ext/datadog_profiling_native_extension/profiling.c +1 -1
- data/ext/libdatadog_api/extconf.rb +9 -7
- data/ext/libdatadog_api/trace_exporter.c +34 -7
- data/ext/libdatadog_extconf_helpers.rb +2 -2
- data/lib/datadog/ai_guard/component.rb +1 -1
- data/lib/datadog/ai_guard/contrib/rack/request_middleware.rb +1 -9
- data/lib/datadog/ai_guard/contrib/rails/patcher.rb +1 -1
- data/lib/datadog/ai_guard/contrib/ruby_llm/message_adapter.rb +1 -1
- data/lib/datadog/ai_guard/contrib/ruby_llm/redaction_change_set.rb +3 -3
- data/lib/datadog/ai_guard/evaluation/client.rb +3 -3
- data/lib/datadog/ai_guard/evaluation.rb +2 -2
- data/lib/datadog/ai_guard/http_client.rb +3 -2
- data/lib/datadog/ai_guard/redaction.rb +1 -1
- data/lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb +1 -1
- data/lib/datadog/appsec/assets/waf_rules/README.md +3 -3
- data/lib/datadog/appsec/assets/waf_rules/recommended.json +5366 -1517
- data/lib/datadog/appsec/assets/waf_rules/strict.json +2 -2
- data/lib/datadog/appsec/autoload.rb +1 -1
- data/lib/datadog/appsec/component.rb +1 -1
- data/lib/datadog/appsec/compressed_json.rb +1 -1
- data/lib/datadog/appsec/configuration.rb +3 -3
- data/lib/datadog/appsec/context.rb +1 -1
- data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +11 -1
- data/lib/datadog/appsec/contrib/active_record/patcher.rb +12 -4
- data/lib/datadog/appsec/contrib/aws_lambda/gateway/watcher.rb +2 -2
- data/lib/datadog/appsec/contrib/aws_lambda/waf_addresses.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/configuration.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb +1 -1
- data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +1 -1
- data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +1 -1
- data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +1 -1
- data/lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb +7 -7
- data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +1 -1
- data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +3 -3
- data/lib/datadog/appsec/contrib/rack/request_middleware.rb +5 -5
- data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +31 -4
- data/lib/datadog/appsec/contrib/rails/patcher.rb +2 -2
- data/lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb +8 -7
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +17 -5
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb +8 -7
- data/lib/datadog/appsec/metrics/collector.rb +5 -5
- data/lib/datadog/appsec/metrics/telemetry_exporter.rb +3 -3
- data/lib/datadog/appsec/monitor/gateway/watcher.rb +2 -2
- data/lib/datadog/appsec/processor/rule_loader.rb +1 -1
- data/lib/datadog/appsec/response.rb +1 -1
- data/lib/datadog/appsec/security_engine/engine.rb +8 -7
- data/lib/datadog/appsec/security_engine/runner.rb +2 -2
- data/lib/datadog/appsec/trace_keeper.rb +1 -1
- data/lib/datadog/appsec.rb +1 -1
- data/lib/datadog/core/configuration/agent_settings_resolver.rb +14 -13
- data/lib/datadog/core/configuration/agentless_settings_resolver.rb +2 -2
- data/lib/datadog/core/configuration/components.rb +12 -11
- data/lib/datadog/core/configuration/components_state.rb +8 -1
- data/lib/datadog/core/configuration/settings.rb +5 -2
- data/lib/datadog/core/configuration/supported_configurations.rb +3 -0
- data/lib/datadog/core/configuration.rb +2 -2
- data/lib/datadog/core/crashtracking/component.rb +1 -1
- data/lib/datadog/core/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/core/environment/cgroup.rb +2 -2
- data/lib/datadog/core/environment/container.rb +3 -3
- data/lib/datadog/core/metrics/client.rb +6 -6
- data/lib/datadog/core/process_discovery.rb +1 -1
- data/lib/datadog/core/remote/client.rb +44 -3
- data/lib/datadog/core/remote/dispatcher.rb +34 -3
- data/lib/datadog/core/remote/tie/tracing.rb +4 -3
- data/lib/datadog/core/remote/transport/http.rb +2 -2
- data/lib/datadog/core/runtime/metrics.rb +14 -14
- data/lib/datadog/core/semaphore.rb +3 -1
- data/lib/datadog/core/telemetry/event/app_started.rb +9 -9
- data/lib/datadog/core/telemetry/logger.rb +1 -1
- data/lib/datadog/core/telemetry/logging.rb +1 -1
- data/lib/datadog/core/telemetry/request.rb +9 -3
- data/lib/datadog/core/telemetry/transport/http.rb +2 -2
- data/lib/datadog/core/telemetry/worker.rb +1 -1
- data/lib/datadog/core/transport/http/adapters/net.rb +1 -1
- data/lib/datadog/core/transport/http/adapters/unix_socket.rb +1 -1
- data/lib/datadog/core/transport/http/builder.rb +1 -1
- data/lib/datadog/core/transport/http.rb +3 -3
- data/lib/datadog/core/utils/at_fork_monkey_patch.rb +2 -2
- data/lib/datadog/core/workers/async.rb +1 -1
- data/lib/datadog/core/workers/runtime_metrics.rb +2 -2
- data/lib/datadog/data_streams/pathway_context.rb +1 -1
- data/lib/datadog/data_streams/processor.rb +48 -27
- data/lib/datadog/data_streams/transport/http.rb +1 -1
- data/lib/datadog/data_streams.rb +16 -0
- data/lib/datadog/di/capture_expression_evaluator.rb +48 -11
- data/lib/datadog/di/component.rb +73 -2
- data/lib/datadog/di/configuration.rb +19 -0
- data/lib/datadog/di/contrib/active_record.rb +1 -1
- data/lib/datadog/di/el/compiler.rb +4 -4
- data/lib/datadog/di/el/evaluator.rb +247 -43
- data/lib/datadog/di/el/expression.rb +36 -6
- data/lib/datadog/di/error.rb +16 -0
- data/lib/datadog/di/guardrails_telemetry/reason.rb +3 -2
- data/lib/datadog/di/instrumenter.rb +39 -10
- data/lib/datadog/di/probe_notification_builder.rb +58 -10
- data/lib/datadog/di/probe_notifier_worker.rb +1 -1
- data/lib/datadog/di/remote.rb +46 -2
- data/lib/datadog/di/serializer.rb +47 -13
- data/lib/datadog/di.rb +27 -0
- data/lib/datadog/error_tracking/component.rb +1 -1
- data/lib/datadog/error_tracking/configuration.rb +1 -1
- data/lib/datadog/kit/appsec/events/v2.rb +6 -6
- data/lib/datadog/kit/appsec/events.rb +1 -1
- data/lib/datadog/kit/enable_core_dumps.rb +1 -1
- data/lib/datadog/kit/identity.rb +1 -1
- data/lib/datadog/open_feature/activation.rb +26 -1
- data/lib/datadog/open_feature/agentless/configuration_source.rb +94 -15
- data/lib/datadog/open_feature/component.rb +22 -2
- data/lib/datadog/open_feature/configuration/agentless_endpoint.rb +6 -0
- data/lib/datadog/open_feature/configuration.rb +10 -4
- data/lib/datadog/open_feature/evaluation_engine.rb +62 -4
- data/lib/datadog/open_feature/exposures/buffer.rb +4 -0
- data/lib/datadog/open_feature/exposures/reporter.rb +17 -4
- data/lib/datadog/open_feature/exposures/worker.rb +37 -6
- data/lib/datadog/open_feature/flag_evaluation/aggregator.rb +5 -5
- data/lib/datadog/open_feature/flag_evaluation/writer.rb +1 -1
- data/lib/datadog/open_feature/hooks/debug_logging_hook.rb +56 -0
- data/lib/datadog/open_feature/hooks/evaluation_telemetry_opt_out_hook.rb +25 -0
- data/lib/datadog/open_feature/hooks/span_enrichment_hook.rb +2 -2
- data/lib/datadog/open_feature/metrics/flag_eval_metrics.rb +1 -1
- data/lib/datadog/open_feature/native_evaluator.rb +1 -1
- data/lib/datadog/open_feature/noop_evaluator.rb +1 -1
- data/lib/datadog/open_feature/provider.rb +69 -12
- data/lib/datadog/open_feature/remote.rb +8 -1
- data/lib/datadog/open_feature/resolution_details.rb +2 -2
- data/lib/datadog/open_feature/transport.rb +6 -6
- data/lib/datadog/opentelemetry/api/context.rb +3 -3
- data/lib/datadog/opentelemetry/logs.rb +5 -5
- data/lib/datadog/opentelemetry/metrics.rb +3 -3
- data/lib/datadog/opentelemetry/sdk/propagator.rb +3 -3
- data/lib/datadog/opentelemetry/sdk/span_processor.rb +2 -2
- data/lib/datadog/opentelemetry/sdk/trace/span.rb +1 -1
- data/lib/datadog/profiling/collectors/code_provenance.rb +3 -3
- data/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +4 -4
- data/lib/datadog/profiling/collectors/idle_sampling_helper.rb +1 -1
- data/lib/datadog/profiling/collectors/info.rb +37 -6
- data/lib/datadog/profiling/collectors/thread_context.rb +1 -1
- data/lib/datadog/profiling/component.rb +41 -39
- data/lib/datadog/profiling/exporter.rb +4 -6
- data/lib/datadog/profiling/http_transport.rb +3 -3
- data/lib/datadog/profiling/profiler.rb +2 -2
- data/lib/datadog/profiling/scheduler.rb +2 -2
- data/lib/datadog/profiling/tag_builder.rb +1 -1
- data/lib/datadog/symbol_database/extractor.rb +8 -8
- data/lib/datadog/symbol_database/uploader.rb +1 -1
- data/lib/datadog/tracing/buffer.rb +3 -3
- data/lib/datadog/tracing/client_ip.rb +1 -1
- data/lib/datadog/tracing/component.rb +15 -10
- data/lib/datadog/tracing/configuration/dynamic/option.rb +2 -2
- data/lib/datadog/tracing/configuration/ext.rb +2 -0
- data/lib/datadog/tracing/configuration/settings.rb +14 -3
- data/lib/datadog/tracing/context.rb +1 -1
- data/lib/datadog/tracing/context_provider.rb +8 -0
- data/lib/datadog/tracing/contrib/action_cable/instrumentation.rb +2 -2
- data/lib/datadog/tracing/contrib/active_job/data_streams.rb +27 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/resolver.rb +2 -2
- data/lib/datadog/tracing/contrib/active_record/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/active_record/utils.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb +2 -2
- data/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb +2 -2
- data/lib/datadog/tracing/contrib/aws/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/aws/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/dalli/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/delayed_job/plugin.rb +2 -2
- data/lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/elasticsearch/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/ethon/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +17 -12
- data/lib/datadog/tracing/contrib/ethon/multi_patch.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/excon/middleware.rb +16 -9
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +14 -8
- data/lib/datadog/tracing/contrib/grape/endpoint.rb +4 -4
- data/lib/datadog/tracing/contrib/graphql/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +3 -3
- data/lib/datadog/tracing/contrib/grpc/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb +2 -2
- data/lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb +1 -1
- data/lib/datadog/tracing/contrib/grpc.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/action_tracer.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/plugin.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb +1 -1
- data/lib/datadog/tracing/contrib/hanami/router_tracing.rb +1 -1
- data/lib/datadog/tracing/contrib/http/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/http/instrumentation.rb +21 -6
- data/lib/datadog/tracing/contrib/http.rb +1 -1
- data/lib/datadog/tracing/contrib/httpclient/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/httpclient/instrumentation.rb +14 -8
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +14 -8
- data/lib/datadog/tracing/contrib/kafka/instrumentation/consumer.rb +2 -2
- data/lib/datadog/tracing/contrib/kafka/instrumentation/producer.rb +2 -2
- data/lib/datadog/tracing/contrib/karafka/monitor.rb +1 -1
- data/lib/datadog/tracing/contrib/karafka/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/karafka.rb +1 -1
- data/lib/datadog/tracing/contrib/lograge/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/parsers.rb +1 -1
- data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +1 -1
- data/lib/datadog/tracing/contrib/mysql2/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/mysql2/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/opensearch/configuration/settings.rb +2 -2
- data/lib/datadog/tracing/contrib/opensearch/patcher.rb +3 -3
- data/lib/datadog/tracing/contrib/pg/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/pg/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/presto/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/presto/instrumentation.rb +4 -4
- data/lib/datadog/tracing/contrib/propagation/sql_comment.rb +1 -1
- data/lib/datadog/tracing/contrib/que/tracer.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/batch.rb +1 -1
- data/lib/datadog/tracing/contrib/racecar/events/message.rb +1 -1
- data/lib/datadog/tracing/contrib/rack/middlewares.rb +3 -3
- data/lib/datadog/tracing/contrib/rack/patcher.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/framework.rb +7 -7
- data/lib/datadog/tracing/contrib/rails/log_injection.rb +1 -1
- data/lib/datadog/tracing/contrib/rails/runner.rb +4 -4
- data/lib/datadog/tracing/contrib/redis/configuration/settings.rb +1 -1
- 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/rest_client/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/rest_client/request_patch.rb +17 -10
- data/lib/datadog/tracing/contrib/sequel/database.rb +1 -1
- data/lib/datadog/tracing/contrib/sequel/dataset.rb +1 -1
- data/lib/datadog/tracing/contrib/shoryuken/tracer.rb +1 -1
- data/lib/datadog/tracing/contrib/sidekiq/client_tracer.rb +2 -2
- data/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb +2 -2
- data/lib/datadog/tracing/contrib/sidekiq.rb +1 -1
- data/lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb +1 -1
- data/lib/datadog/tracing/contrib/status_range_env_parser.rb +1 -1
- data/lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb +1 -1
- data/lib/datadog/tracing/contrib/trilogy/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/trilogy/instrumentation.rb +3 -3
- data/lib/datadog/tracing/contrib/utils/quantization/http.rb +102 -0
- data/lib/datadog/tracing/contrib/waterdrop/middleware.rb +2 -2
- data/lib/datadog/tracing/contrib/waterdrop.rb +1 -1
- data/lib/datadog/tracing/diagnostics/environment_logger.rb +1 -1
- data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
- data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
- data/lib/datadog/tracing/distributed/baggage.rb +3 -3
- data/lib/datadog/tracing/distributed/datadog.rb +3 -3
- data/lib/datadog/tracing/distributed/propagation.rb +7 -7
- data/lib/datadog/tracing/distributed/trace_context.rb +1 -1
- data/lib/datadog/tracing/distributed/trace_state/open_telemetry.rb +1 -1
- data/lib/datadog/tracing/otel_thread_context.rb +3 -3
- data/lib/datadog/tracing/pipeline.rb +1 -1
- data/lib/datadog/tracing/remote.rb +50 -19
- data/lib/datadog/tracing/sampling/priority_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/rule.rb +1 -1
- data/lib/datadog/tracing/sampling/rule_sampler.rb +1 -1
- data/lib/datadog/tracing/sampling/span/rule_parser.rb +2 -2
- data/lib/datadog/tracing/span_operation.rb +1 -1
- data/lib/datadog/tracing/trace_digest.rb +1 -1
- data/lib/datadog/tracing/trace_operation.rb +6 -6
- data/lib/datadog/tracing/tracer.rb +6 -6
- data/lib/datadog/tracing/transport/http/telemetry.rb +1 -1
- data/lib/datadog/tracing/transport/http.rb +2 -2
- data/lib/datadog/tracing/transport/io.rb +1 -1
- data/lib/datadog/tracing/transport/native.rb +3 -3
- data/lib/datadog/tracing/transport/statistics.rb +2 -2
- data/lib/datadog/tracing/transport/telemetry.rb +3 -1
- data/lib/datadog/tracing/transport/trace_formatter.rb +12 -12
- data/lib/datadog/tracing/transport/traces.rb +1 -1
- data/lib/datadog/tracing/utils.rb +1 -1
- data/lib/datadog/tracing/workers.rb +1 -1
- data/lib/datadog/version.rb +1 -1
- metadata +9 -8
- data/lib/datadog/appsec/utils/hash_coercion.rb +0 -23
|
@@ -7,6 +7,7 @@ require_relative "../http"
|
|
|
7
7
|
require_relative "../analytics"
|
|
8
8
|
require_relative "ext"
|
|
9
9
|
require_relative "../http_annotation_helper"
|
|
10
|
+
require_relative "../utils/quantization/http"
|
|
10
11
|
require_relative "../../../core/telemetry/logger"
|
|
11
12
|
|
|
12
13
|
module Datadog
|
|
@@ -31,7 +32,7 @@ module Datadog
|
|
|
31
32
|
annotate!(span, env, request_options)
|
|
32
33
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
33
34
|
global_config: request_options,
|
|
34
|
-
trace: trace
|
|
35
|
+
trace: trace,
|
|
35
36
|
)
|
|
36
37
|
propagate!(trace, span, env)
|
|
37
38
|
end
|
|
@@ -45,7 +46,8 @@ module Datadog
|
|
|
45
46
|
|
|
46
47
|
# rubocop:disable Metrics/AbcSize
|
|
47
48
|
def annotate!(span, env, options)
|
|
48
|
-
|
|
49
|
+
path = env[:url].path
|
|
50
|
+
span.resource = resource_name(env, path)
|
|
49
51
|
span.service = service_name(env[:url].host, options)
|
|
50
52
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
51
53
|
span.type = Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND
|
|
@@ -53,7 +55,7 @@ module Datadog
|
|
|
53
55
|
if options[:peer_service]
|
|
54
56
|
span.set_tag(
|
|
55
57
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
56
|
-
options[:peer_service]
|
|
58
|
+
options[:peer_service],
|
|
57
59
|
)
|
|
58
60
|
end
|
|
59
61
|
|
|
@@ -69,12 +71,12 @@ module Datadog
|
|
|
69
71
|
Contrib::Analytics.set_sample_rate(span, options[:analytics_sample_rate])
|
|
70
72
|
end
|
|
71
73
|
|
|
72
|
-
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL,
|
|
74
|
+
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL, path)
|
|
73
75
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, env[:method].to_s.upcase)
|
|
74
76
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_HOST, env[:url].host)
|
|
75
77
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, env[:url].port)
|
|
76
78
|
span.set_tags(
|
|
77
|
-
Datadog.configuration.tracing.header_tags.request_tags(env[:request_headers])
|
|
79
|
+
Datadog.configuration.tracing.header_tags.request_tags(env[:request_headers]),
|
|
78
80
|
)
|
|
79
81
|
|
|
80
82
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -91,7 +93,7 @@ module Datadog
|
|
|
91
93
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, env[:status])
|
|
92
94
|
|
|
93
95
|
span.set_tags(
|
|
94
|
-
Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers])
|
|
96
|
+
Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers]),
|
|
95
97
|
)
|
|
96
98
|
rescue => e
|
|
97
99
|
Datadog.logger.error("#{e.class}: #{e.message}")
|
|
@@ -103,8 +105,12 @@ module Datadog
|
|
|
103
105
|
Contrib::HTTP.inject(trace, env[:request_headers])
|
|
104
106
|
end
|
|
105
107
|
|
|
106
|
-
def resource_name(env)
|
|
107
|
-
|
|
108
|
+
def resource_name(env, path)
|
|
109
|
+
Contrib::Utils::Quantization::HTTP.client_resource(
|
|
110
|
+
env[:method].to_s.upcase,
|
|
111
|
+
path,
|
|
112
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
113
|
+
)
|
|
108
114
|
end
|
|
109
115
|
|
|
110
116
|
def build_request_options!(env)
|
|
@@ -54,7 +54,7 @@ module Datadog
|
|
|
54
54
|
Ext::SPAN_ENDPOINT_RUN,
|
|
55
55
|
service: service_name,
|
|
56
56
|
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
|
|
57
|
-
resource: resource
|
|
57
|
+
resource: resource,
|
|
58
58
|
)
|
|
59
59
|
trace = Tracing.active_trace
|
|
60
60
|
|
|
@@ -75,7 +75,7 @@ module Datadog
|
|
|
75
75
|
# here we are removing the format from the path:
|
|
76
76
|
# e.g. /path/to/resource(.json) => /path/to/resource
|
|
77
77
|
# e.g. /path/to/resource(.:format) => /path/to/resource
|
|
78
|
-
route_path&.gsub(FORMAT_SEGMENT, "")
|
|
78
|
+
route_path&.gsub(FORMAT_SEGMENT, ""),
|
|
79
79
|
)
|
|
80
80
|
|
|
81
81
|
trace.set_tag(Tracing::Metadata::Ext::HTTP::TAG_ROUTE_PATH, env["SCRIPT_NAME"])
|
|
@@ -163,7 +163,7 @@ module Datadog
|
|
|
163
163
|
span = Tracing.trace(
|
|
164
164
|
Ext::SPAN_ENDPOINT_RENDER,
|
|
165
165
|
service: service_name,
|
|
166
|
-
type: Tracing::Metadata::Ext::HTTP::TYPE_TEMPLATE
|
|
166
|
+
type: Tracing::Metadata::Ext::HTTP::TYPE_TEMPLATE,
|
|
167
167
|
)
|
|
168
168
|
|
|
169
169
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -214,7 +214,7 @@ module Datadog
|
|
|
214
214
|
Ext::SPAN_ENDPOINT_RUN_FILTERS,
|
|
215
215
|
service: service_name,
|
|
216
216
|
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
|
|
217
|
-
start_time: start
|
|
217
|
+
start_time: start,
|
|
218
218
|
)
|
|
219
219
|
|
|
220
220
|
begin
|
|
@@ -38,7 +38,7 @@ module Datadog
|
|
|
38
38
|
Datadog.logger.warn(
|
|
39
39
|
"GraphQL version (#{target_version}) does not support GraphQL::Tracing::DataDogTrace" \
|
|
40
40
|
"or Datadog::Tracing::Contrib::GraphQL::UnifiedTrace." \
|
|
41
|
-
"Falling back to GraphQL::Tracing::DataDogTracing."
|
|
41
|
+
"Falling back to GraphQL::Tracing::DataDogTracing.",
|
|
42
42
|
)
|
|
43
43
|
TracingPatcher.patch!(schemas)
|
|
44
44
|
end
|
|
@@ -94,7 +94,7 @@ module Datadog
|
|
|
94
94
|
if query.selected_operation_name
|
|
95
95
|
span.set_tag(
|
|
96
96
|
"graphql.operation.name",
|
|
97
|
-
query.selected_operation_name
|
|
97
|
+
query.selected_operation_name,
|
|
98
98
|
)
|
|
99
99
|
end
|
|
100
100
|
query.variables.instance_variable_get(:@storage).each do |key, value|
|
|
@@ -212,7 +212,7 @@ module Datadog
|
|
|
212
212
|
"graphql.#{trace_key}",
|
|
213
213
|
type: "graphql",
|
|
214
214
|
resource: resource,
|
|
215
|
-
service: @service_name
|
|
215
|
+
service: @service_name,
|
|
216
216
|
) do |span|
|
|
217
217
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
218
218
|
if Contrib::Analytics.enabled?(@analytics_enabled)
|
|
@@ -292,7 +292,7 @@ module Datadog
|
|
|
292
292
|
@locations_key =>
|
|
293
293
|
Datadog::Tracing::Contrib::GraphQL::UnifiedTrace.serialize_error_locations(graphql_error["locations"]),
|
|
294
294
|
@path_key => graphql_error["path"],
|
|
295
|
-
)
|
|
295
|
+
),
|
|
296
296
|
)
|
|
297
297
|
end
|
|
298
298
|
end
|
|
@@ -56,7 +56,7 @@ module Datadog
|
|
|
56
56
|
if datadog_configuration[:peer_service]
|
|
57
57
|
span.set_tag(
|
|
58
58
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
59
|
-
datadog_configuration[:peer_service]
|
|
59
|
+
datadog_configuration[:peer_service],
|
|
60
60
|
)
|
|
61
61
|
end
|
|
62
62
|
|
|
@@ -80,7 +80,7 @@ module Datadog
|
|
|
80
80
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
81
81
|
pin_config: Datadog.configuration_for(self),
|
|
82
82
|
global_config: datadog_configuration,
|
|
83
|
-
trace: trace
|
|
83
|
+
trace: trace,
|
|
84
84
|
)
|
|
85
85
|
GRPC.inject(trace, metadata)
|
|
86
86
|
end
|
|
@@ -55,7 +55,7 @@ module Datadog
|
|
|
55
55
|
Tracing.continue_trace!(GRPC.extract(metadata))
|
|
56
56
|
rescue => e
|
|
57
57
|
Datadog.logger.debug(
|
|
58
|
-
"unable to propagate GRPC metadata to context: #{e.class}: #{e.message}"
|
|
58
|
+
"unable to propagate GRPC metadata to context: #{e.class}: #{e.message}",
|
|
59
59
|
)
|
|
60
60
|
end
|
|
61
61
|
|
|
@@ -37,7 +37,7 @@ module Datadog
|
|
|
37
37
|
propagation_style_inject: tracing.propagation_style_inject,
|
|
38
38
|
propagation_style_extract: tracing.propagation_style_extract,
|
|
39
39
|
propagation_behavior_extract: tracing.propagation_behavior_extract,
|
|
40
|
-
propagation_extract_first: tracing.propagation_extract_first
|
|
40
|
+
propagation_extract_first: tracing.propagation_extract_first,
|
|
41
41
|
)
|
|
42
42
|
end
|
|
43
43
|
end
|
|
@@ -20,7 +20,7 @@ module Datadog
|
|
|
20
20
|
Ext::SPAN_ACTION,
|
|
21
21
|
resource: @action.to_s,
|
|
22
22
|
service: configuration[:service_name],
|
|
23
|
-
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND
|
|
23
|
+
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
|
|
24
24
|
) do |span_op, trace_op|
|
|
25
25
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
26
26
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -22,7 +22,7 @@ module Datadog
|
|
|
22
22
|
Ext::SPAN_RENDER,
|
|
23
23
|
service: configuration[:service_name],
|
|
24
24
|
resource: action_klass.to_s,
|
|
25
|
-
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND
|
|
25
|
+
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
|
|
26
26
|
) do |span_op, _trace_op|
|
|
27
27
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
28
28
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -16,7 +16,7 @@ module Datadog
|
|
|
16
16
|
Tracing.trace(
|
|
17
17
|
Ext::SPAN_ROUTING,
|
|
18
18
|
service: configuration[:service_name],
|
|
19
|
-
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND
|
|
19
|
+
type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
|
|
20
20
|
) do |span_op, trace_op|
|
|
21
21
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
22
22
|
span_op.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -34,12 +34,17 @@ module Datadog
|
|
|
34
34
|
span.service = service_name(host, request_options, client_config)
|
|
35
35
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
36
36
|
span.type = Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND
|
|
37
|
-
|
|
37
|
+
quantize_resource = Datadog.configuration.tracing.http_client_resource_name_quantize
|
|
38
|
+
span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
|
|
39
|
+
req.method,
|
|
40
|
+
quantize_resource ? request_uri_path(req) : nil,
|
|
41
|
+
enabled: quantize_resource,
|
|
42
|
+
)
|
|
38
43
|
|
|
39
44
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
40
45
|
pin_config: client_config,
|
|
41
46
|
global_config: request_options,
|
|
42
|
-
trace: trace
|
|
47
|
+
trace: trace,
|
|
43
48
|
)
|
|
44
49
|
Contrib::HTTP.inject(trace, req)
|
|
45
50
|
end
|
|
@@ -60,7 +65,7 @@ module Datadog
|
|
|
60
65
|
if request_options[:peer_service]
|
|
61
66
|
span.set_tag(
|
|
62
67
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
63
|
-
request_options[:peer_service]
|
|
68
|
+
request_options[:peer_service],
|
|
64
69
|
)
|
|
65
70
|
end
|
|
66
71
|
|
|
@@ -70,7 +75,7 @@ module Datadog
|
|
|
70
75
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
|
71
76
|
span.set_tag(
|
|
72
77
|
Tracing::Metadata::Ext::HTTP::TAG_URL,
|
|
73
|
-
Contrib::Utils::Quantization::HTTP.url(request.path, {query: {exclude: :all}})
|
|
78
|
+
Contrib::Utils::Quantization::HTTP.url(request.path, {query: {exclude: :all}}),
|
|
74
79
|
)
|
|
75
80
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, request.method)
|
|
76
81
|
|
|
@@ -84,7 +89,7 @@ module Datadog
|
|
|
84
89
|
set_analytics_sample_rate(span, request_options)
|
|
85
90
|
|
|
86
91
|
span.set_tags(
|
|
87
|
-
Datadog.configuration.tracing.header_tags.request_tags(request)
|
|
92
|
+
Datadog.configuration.tracing.header_tags.request_tags(request),
|
|
88
93
|
)
|
|
89
94
|
|
|
90
95
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -101,7 +106,7 @@ module Datadog
|
|
|
101
106
|
span.set_error(response) if request_options[:error_status_codes].include? response.code.to_i
|
|
102
107
|
|
|
103
108
|
span.set_tags(
|
|
104
|
-
Datadog.configuration.tracing.header_tags.response_tags(response)
|
|
109
|
+
Datadog.configuration.tracing.header_tags.response_tags(response),
|
|
105
110
|
)
|
|
106
111
|
rescue => e
|
|
107
112
|
Datadog.logger.error("error preparing span from http response: #{e.class}: #{e.message}")
|
|
@@ -116,6 +121,16 @@ module Datadog
|
|
|
116
121
|
|
|
117
122
|
private
|
|
118
123
|
|
|
124
|
+
def request_uri_path(request)
|
|
125
|
+
uri = request.uri if request.respond_to?(:uri)
|
|
126
|
+
return uri.path if uri
|
|
127
|
+
return request.path.split(/[?#]/, 2).first if request.path.start_with?("/")
|
|
128
|
+
|
|
129
|
+
URI.parse(request.path).path
|
|
130
|
+
rescue URI::InvalidURIError
|
|
131
|
+
nil
|
|
132
|
+
end
|
|
133
|
+
|
|
119
134
|
def host_and_port(request)
|
|
120
135
|
if request.respond_to?(:uri) && request.uri
|
|
121
136
|
[request.uri.host, request.uri.port]
|
|
@@ -37,7 +37,7 @@ module Datadog
|
|
|
37
37
|
propagation_style_inject: tracing.propagation_style_inject,
|
|
38
38
|
propagation_style_extract: tracing.propagation_style_extract,
|
|
39
39
|
propagation_behavior_extract: tracing.propagation_behavior_extract,
|
|
40
|
-
propagation_extract_first: tracing.propagation_extract_first
|
|
40
|
+
propagation_extract_first: tracing.propagation_extract_first,
|
|
41
41
|
)
|
|
42
42
|
end
|
|
43
43
|
end
|
|
@@ -4,6 +4,7 @@ require_relative "../../metadata/ext"
|
|
|
4
4
|
require_relative "../http"
|
|
5
5
|
require_relative "../analytics"
|
|
6
6
|
require_relative "../http_annotation_helper"
|
|
7
|
+
require_relative "../utils/quantization/http"
|
|
7
8
|
require_relative "../../../core/telemetry/logger"
|
|
8
9
|
|
|
9
10
|
module Datadog
|
|
@@ -34,7 +35,7 @@ module Datadog
|
|
|
34
35
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
35
36
|
pin_config: client_config,
|
|
36
37
|
global_config: Datadog.configuration.tracing[:httpclient],
|
|
37
|
-
trace: trace
|
|
38
|
+
trace: trace,
|
|
38
39
|
)
|
|
39
40
|
Contrib::HTTP.inject(trace, req.header)
|
|
40
41
|
end
|
|
@@ -43,7 +44,7 @@ module Datadog
|
|
|
43
44
|
annotate_span_with_request!(span, req, request_options)
|
|
44
45
|
rescue => e
|
|
45
46
|
Datadog.logger.error(
|
|
46
|
-
"error preparing span for httpclient request: #{e.class}: #{e.message}, Source: #{e.backtrace}"
|
|
47
|
+
"error preparing span for httpclient request: #{e.class}: #{e.message}, Source: #{e.backtrace}",
|
|
47
48
|
)
|
|
48
49
|
Datadog::Core::Telemetry::Logger.report(e)
|
|
49
50
|
ensure
|
|
@@ -65,7 +66,7 @@ module Datadog
|
|
|
65
66
|
if req_options[:peer_service]
|
|
66
67
|
span.set_tag(
|
|
67
68
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
68
|
-
req_options[:peer_service]
|
|
69
|
+
req_options[:peer_service],
|
|
69
70
|
)
|
|
70
71
|
end
|
|
71
72
|
|
|
@@ -74,10 +75,15 @@ module Datadog
|
|
|
74
75
|
|
|
75
76
|
http_method = req.header.request_method.upcase
|
|
76
77
|
uri = req.header.request_uri
|
|
78
|
+
path = uri.path
|
|
77
79
|
|
|
78
|
-
span.resource =
|
|
80
|
+
span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
|
|
81
|
+
http_method,
|
|
82
|
+
path,
|
|
83
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
84
|
+
)
|
|
79
85
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, http_method)
|
|
80
|
-
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL,
|
|
86
|
+
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL, path)
|
|
81
87
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_HOST, uri.host)
|
|
82
88
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, uri.port)
|
|
83
89
|
|
|
@@ -86,7 +92,7 @@ module Datadog
|
|
|
86
92
|
set_analytics_sample_rate(span, req_options)
|
|
87
93
|
|
|
88
94
|
span.set_tags(
|
|
89
|
-
Datadog.configuration.tracing.header_tags.request_tags(req.http_header)
|
|
95
|
+
Datadog.configuration.tracing.header_tags.request_tags(req.http_header),
|
|
90
96
|
)
|
|
91
97
|
|
|
92
98
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -102,11 +108,11 @@ module Datadog
|
|
|
102
108
|
end
|
|
103
109
|
|
|
104
110
|
span.set_tags(
|
|
105
|
-
Datadog.configuration.tracing.header_tags.response_tags(response.header)
|
|
111
|
+
Datadog.configuration.tracing.header_tags.response_tags(response.header),
|
|
106
112
|
)
|
|
107
113
|
rescue => e
|
|
108
114
|
Datadog.logger.error(
|
|
109
|
-
"error preparing span from httpclient response: #{e.class}: #{e.message}, Source: #{e.backtrace}"
|
|
115
|
+
"error preparing span from httpclient response: #{e.class}: #{e.message}, Source: #{e.backtrace}",
|
|
110
116
|
)
|
|
111
117
|
Datadog::Core::Telemetry::Logger.report(e)
|
|
112
118
|
end
|
|
@@ -4,6 +4,7 @@ require_relative "../../metadata/ext"
|
|
|
4
4
|
require_relative "../http"
|
|
5
5
|
require_relative "../analytics"
|
|
6
6
|
require_relative "../http_annotation_helper"
|
|
7
|
+
require_relative "../utils/quantization/http"
|
|
7
8
|
require_relative "../../../core/telemetry/logger"
|
|
8
9
|
|
|
9
10
|
module Datadog
|
|
@@ -34,7 +35,7 @@ module Datadog
|
|
|
34
35
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
35
36
|
pin_config: client_config,
|
|
36
37
|
global_config: Datadog.configuration.tracing[:httprb],
|
|
37
|
-
trace: trace
|
|
38
|
+
trace: trace,
|
|
38
39
|
)
|
|
39
40
|
Contrib::HTTP.inject(trace, req.headers)
|
|
40
41
|
end
|
|
@@ -63,24 +64,29 @@ module Datadog
|
|
|
63
64
|
if req_options[:peer_service]
|
|
64
65
|
span.set_tag(
|
|
65
66
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
66
|
-
req_options[:peer_service]
|
|
67
|
+
req_options[:peer_service],
|
|
67
68
|
)
|
|
68
69
|
end
|
|
69
70
|
|
|
70
71
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
71
72
|
span.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_REQUEST)
|
|
72
73
|
|
|
74
|
+
uri = req.uri
|
|
75
|
+
path = uri&.path
|
|
73
76
|
if req.verb&.is_a?(String) || req.verb.is_a?(Symbol)
|
|
74
77
|
http_method = req.verb.to_s.upcase
|
|
75
|
-
span.resource =
|
|
78
|
+
span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
|
|
79
|
+
http_method,
|
|
80
|
+
path,
|
|
81
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
82
|
+
)
|
|
76
83
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_METHOD, http_method)
|
|
77
84
|
else
|
|
78
85
|
logger.debug("service #{req_options[:service_name]} span #{Ext::SPAN_REQUEST} missing request verb")
|
|
79
86
|
end
|
|
80
87
|
|
|
81
|
-
if
|
|
82
|
-
|
|
83
|
-
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL, uri.path)
|
|
88
|
+
if uri
|
|
89
|
+
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_URL, path)
|
|
84
90
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_HOST, uri.host)
|
|
85
91
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, uri.port)
|
|
86
92
|
|
|
@@ -92,7 +98,7 @@ module Datadog
|
|
|
92
98
|
set_analytics_sample_rate(span, req_options)
|
|
93
99
|
|
|
94
100
|
span.set_tags(
|
|
95
|
-
Datadog.configuration.tracing.header_tags.request_tags(req.headers)
|
|
101
|
+
Datadog.configuration.tracing.header_tags.request_tags(req.headers),
|
|
96
102
|
)
|
|
97
103
|
|
|
98
104
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -110,7 +116,7 @@ module Datadog
|
|
|
110
116
|
end
|
|
111
117
|
|
|
112
118
|
span.set_tags(
|
|
113
|
-
Datadog.configuration.tracing.header_tags.response_tags(response.headers)
|
|
119
|
+
Datadog.configuration.tracing.header_tags.response_tags(response.headers),
|
|
114
120
|
)
|
|
115
121
|
rescue => e
|
|
116
122
|
logger.error("error preparing span from http.rb response: #{e.class}: #{e.message}, Source: #{e.backtrace}")
|
|
@@ -24,7 +24,7 @@ module Datadog
|
|
|
24
24
|
Datadog::DataStreams.set_consume_checkpoint(
|
|
25
25
|
type: "kafka",
|
|
26
26
|
source: message.topic,
|
|
27
|
-
auto_instrumentation: true
|
|
27
|
+
auto_instrumentation: true,
|
|
28
28
|
) { |key| headers[key] }
|
|
29
29
|
rescue => e
|
|
30
30
|
Datadog.logger.debug("Error setting DSM checkpoint: #{e.class}: #{e.message}")
|
|
@@ -46,7 +46,7 @@ module Datadog
|
|
|
46
46
|
Datadog::DataStreams.set_consume_checkpoint(
|
|
47
47
|
type: "kafka",
|
|
48
48
|
source: batch.topic,
|
|
49
|
-
auto_instrumentation: true
|
|
49
|
+
auto_instrumentation: true,
|
|
50
50
|
)
|
|
51
51
|
rescue => e
|
|
52
52
|
Datadog.logger.debug("Error setting DSM checkpoint: #{e.class}: #{e.message}")
|
|
@@ -23,7 +23,7 @@ module Datadog
|
|
|
23
23
|
Datadog::DataStreams.set_produce_checkpoint(
|
|
24
24
|
type: "kafka",
|
|
25
25
|
destination: message.topic,
|
|
26
|
-
auto_instrumentation: true
|
|
26
|
+
auto_instrumentation: true,
|
|
27
27
|
) do |key, value|
|
|
28
28
|
message.headers[key] = value
|
|
29
29
|
end
|
|
@@ -45,7 +45,7 @@ module Datadog
|
|
|
45
45
|
Datadog::DataStreams.set_produce_checkpoint(
|
|
46
46
|
type: "kafka",
|
|
47
47
|
destination: message[:topic],
|
|
48
|
-
auto_instrumentation: true
|
|
48
|
+
auto_instrumentation: true,
|
|
49
49
|
) do |key, value|
|
|
50
50
|
message[:headers][key] = value
|
|
51
51
|
end
|
|
@@ -46,7 +46,7 @@ module Datadog
|
|
|
46
46
|
Datadog::DataStreams.set_consume_checkpoint(
|
|
47
47
|
type: "kafka",
|
|
48
48
|
source: message.topic,
|
|
49
|
-
auto_instrumentation: true
|
|
49
|
+
auto_instrumentation: true,
|
|
50
50
|
) { |key| headers[key] }
|
|
51
51
|
rescue => e
|
|
52
52
|
Datadog.logger.debug("Error setting DSM checkpoint: #{e.class}: #{e.message}")
|
|
@@ -29,7 +29,7 @@ module Datadog
|
|
|
29
29
|
propagation_style_inject: tracing.propagation_style_inject,
|
|
30
30
|
propagation_style_extract: tracing.propagation_style_extract,
|
|
31
31
|
propagation_behavior_extract: tracing.propagation_behavior_extract,
|
|
32
|
-
propagation_extract_first: tracing.propagation_extract_first
|
|
32
|
+
propagation_extract_first: tracing.propagation_extract_first,
|
|
33
33
|
)
|
|
34
34
|
end
|
|
35
35
|
end
|
|
@@ -33,7 +33,7 @@ module Datadog
|
|
|
33
33
|
"Either: 1. Disable tagged logging in your Rails configuration " \
|
|
34
34
|
"`config.logger = ActiveSupport::Logger.new(STDOUT); " \
|
|
35
35
|
"config.active_job.logger = ActiveSupport::Logger.new(STDOUT)` " \
|
|
36
|
-
"or 2. Use the `semantic_logger` gem instead of `lograge`."
|
|
36
|
+
"or 2. Use the `semantic_logger` gem instead of `lograge`.",
|
|
37
37
|
)
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -31,7 +31,7 @@ module Datadog
|
|
|
31
31
|
if datadog_configuration[:peer_service]
|
|
32
32
|
span.set_tag(
|
|
33
33
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
34
|
-
datadog_configuration[:peer_service]
|
|
34
|
+
datadog_configuration[:peer_service],
|
|
35
35
|
)
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -62,7 +62,7 @@ module Datadog
|
|
|
62
62
|
propagation_mode = Contrib::Propagation::SqlComment::Mode.new(
|
|
63
63
|
datadog_configuration[:comment_propagation],
|
|
64
64
|
datadog_configuration[:append_comment],
|
|
65
|
-
datadog_configuration[:inject_sql_basehash]
|
|
65
|
+
datadog_configuration[:inject_sql_basehash],
|
|
66
66
|
)
|
|
67
67
|
|
|
68
68
|
Contrib::Propagation::SqlComment.annotate!(span, propagation_mode)
|
|
@@ -70,7 +70,7 @@ module Datadog
|
|
|
70
70
|
sql,
|
|
71
71
|
span,
|
|
72
72
|
trace_op,
|
|
73
|
-
propagation_mode
|
|
73
|
+
propagation_mode,
|
|
74
74
|
)
|
|
75
75
|
end
|
|
76
76
|
|