datadog 2.47.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 +30 -1
- data/LICENSE-3rdparty.csv +1 -0
- data/ext/datadog_profiling_native_extension/collectors_stack.c +141 -101
- 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 +66 -13
- data/ext/datadog_profiling_native_extension/private_vm_api_access.h +5 -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 +1 -1
- 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 +2 -2
- data/lib/datadog/appsec/contrib/rails/patcher.rb +2 -2
- data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +1 -1
- data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +3 -3
- data/lib/datadog/appsec/contrib/sinatra/patcher.rb +1 -1
- 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 +6 -6
- 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 +1 -1
- data/lib/datadog/core/configuration/settings.rb +5 -2
- data/lib/datadog/core/configuration/supported_configurations.rb +1 -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/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 +1 -1
- 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 +3 -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/serializer.rb +20 -2
- 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 +4 -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/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 +50 -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/thread_context.rb +1 -1
- data/lib/datadog/profiling/component.rb +19 -19
- data/lib/datadog/profiling/exporter.rb +1 -1
- 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 +8 -8
- data/lib/datadog/tracing/configuration/dynamic/option.rb +2 -2
- data/lib/datadog/tracing/configuration/settings.rb +3 -3
- data/lib/datadog/tracing/context.rb +1 -1
- 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 +8 -8
- 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 +7 -7
- data/lib/datadog/tracing/contrib/faraday/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/faraday/middleware.rb +5 -5
- 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 +6 -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 +7 -7
- data/lib/datadog/tracing/contrib/httprb/configuration/settings.rb +1 -1
- data/lib/datadog/tracing/contrib/httprb/instrumentation.rb +5 -5
- 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 +8 -8
- 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/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/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 +4 -3
|
@@ -55,7 +55,7 @@ module Datadog
|
|
|
55
55
|
def build_trace_flush(settings)
|
|
56
56
|
if settings.tracing.partial_flush.enabled
|
|
57
57
|
Tracing::Flush::Partial.new(
|
|
58
|
-
min_spans_before_partial_flush: settings.tracing.partial_flush.min_spans_threshold
|
|
58
|
+
min_spans_before_partial_flush: settings.tracing.partial_flush.min_spans_threshold,
|
|
59
59
|
)
|
|
60
60
|
else
|
|
61
61
|
Tracing::Flush::Finished.new
|
|
@@ -98,7 +98,7 @@ module Datadog
|
|
|
98
98
|
post_sampler = Tracing::Sampling::RuleSampler.parse(
|
|
99
99
|
rules,
|
|
100
100
|
settings.tracing.sampling.rate_limit,
|
|
101
|
-
settings.tracing.sampling.default_rate
|
|
101
|
+
settings.tracing.sampling.default_rate,
|
|
102
102
|
)
|
|
103
103
|
end
|
|
104
104
|
|
|
@@ -106,12 +106,12 @@ module Datadog
|
|
|
106
106
|
# Used if no custom sampler is provided, or if sampling rule parsing fails.
|
|
107
107
|
post_sampler ||= Tracing::Sampling::RuleSampler.new(
|
|
108
108
|
rate_limit: settings.tracing.sampling.rate_limit,
|
|
109
|
-
default_sample_rate: settings.tracing.sampling.default_rate
|
|
109
|
+
default_sample_rate: settings.tracing.sampling.default_rate,
|
|
110
110
|
)
|
|
111
111
|
|
|
112
112
|
Tracing::Sampling::PrioritySampler.new(
|
|
113
113
|
base_sampler: Tracing::Sampling::AllSampler.new,
|
|
114
|
-
post_sampler: post_sampler
|
|
114
|
+
post_sampler: post_sampler,
|
|
115
115
|
)
|
|
116
116
|
end
|
|
117
117
|
|
|
@@ -138,14 +138,14 @@ module Datadog
|
|
|
138
138
|
unless Transport::Native.supported?
|
|
139
139
|
Datadog.logger.warn(
|
|
140
140
|
"Native transport requested but not available: #{Transport::Native::UNSUPPORTED_REASON}. " \
|
|
141
|
-
"Falling back to default HTTP transport."
|
|
141
|
+
"Falling back to default HTTP transport.",
|
|
142
142
|
)
|
|
143
143
|
return nil
|
|
144
144
|
end
|
|
145
145
|
|
|
146
146
|
Transport::Native::Transport.new(
|
|
147
147
|
agent_settings: agent_settings,
|
|
148
|
-
logger: Datadog.logger
|
|
148
|
+
logger: Datadog.logger,
|
|
149
149
|
)
|
|
150
150
|
end
|
|
151
151
|
|
|
@@ -235,7 +235,7 @@ module Datadog
|
|
|
235
235
|
def build_rate_limit_post_sampler(seconds:)
|
|
236
236
|
Tracing::Sampling::RuleSampler.new(
|
|
237
237
|
rate_limiter: Datadog::Core::TokenBucket.new(1.0 / seconds, 1.0),
|
|
238
|
-
default_sample_rate: 1.0
|
|
238
|
+
default_sample_rate: 1.0,
|
|
239
239
|
)
|
|
240
240
|
end
|
|
241
241
|
|
|
@@ -251,7 +251,7 @@ module Datadog
|
|
|
251
251
|
# Set priority sampler to ensure the agent doesn't drop any traces.
|
|
252
252
|
Tracing::Sampling::PrioritySampler.new(
|
|
253
253
|
base_sampler: Tracing::Sampling::AllSampler.new,
|
|
254
|
-
post_sampler: Tracing::Sampling::AllSampler.new
|
|
254
|
+
post_sampler: Tracing::Sampling::AllSampler.new,
|
|
255
255
|
)
|
|
256
256
|
end
|
|
257
257
|
|
|
@@ -49,13 +49,13 @@ module Datadog
|
|
|
49
49
|
# Restore the local configuration value
|
|
50
50
|
configuration_object.unset_option(
|
|
51
51
|
@setting_key,
|
|
52
|
-
precedence: Core::Configuration::Option::Precedence::REMOTE_CONFIGURATION
|
|
52
|
+
precedence: Core::Configuration::Option::Precedence::REMOTE_CONFIGURATION,
|
|
53
53
|
)
|
|
54
54
|
else
|
|
55
55
|
configuration_object.set_option(
|
|
56
56
|
@setting_key,
|
|
57
57
|
value,
|
|
58
|
-
precedence: Core::Configuration::Option::Precedence::REMOTE_CONFIGURATION
|
|
58
|
+
precedence: Core::Configuration::Option::Precedence::REMOTE_CONFIGURATION,
|
|
59
59
|
)
|
|
60
60
|
end
|
|
61
61
|
|
|
@@ -57,7 +57,7 @@ module Datadog
|
|
|
57
57
|
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG,
|
|
58
58
|
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_TRACE_CONTEXT,
|
|
59
59
|
Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_BAGGAGE,
|
|
60
|
-
]
|
|
60
|
+
],
|
|
61
61
|
)
|
|
62
62
|
o.after_set do |styles|
|
|
63
63
|
# Make values case-insensitive
|
|
@@ -446,7 +446,7 @@ module Datadog
|
|
|
446
446
|
"Both DD_SPAN_SAMPLING_RULES and DD_SPAN_SAMPLING_RULES_FILE were provided: only " \
|
|
447
447
|
"DD_SPAN_SAMPLING_RULES will be used. Please do not provide DD_SPAN_SAMPLING_RULES_FILE when " \
|
|
448
448
|
"also providing DD_SPAN_SAMPLING_RULES as their configuration conflicts. " \
|
|
449
|
-
"DD_SPAN_SAMPLING_RULES_FILE=#{rules_file} DD_SPAN_SAMPLING_RULES=#{rules}"
|
|
449
|
+
"DD_SPAN_SAMPLING_RULES_FILE=#{rules_file} DD_SPAN_SAMPLING_RULES=#{rules}",
|
|
450
450
|
)
|
|
451
451
|
end
|
|
452
452
|
rules
|
|
@@ -457,7 +457,7 @@ module Datadog
|
|
|
457
457
|
# `File#read` errors have clear and actionable messages, no need to add extra exception info.
|
|
458
458
|
Datadog.logger.warn(
|
|
459
459
|
"Cannot read span sampling rules file `#{rules_file}`: #{e.class}: #{e.message}." \
|
|
460
|
-
"No span sampling rules will be applied."
|
|
460
|
+
"No span sampling rules will be applied.",
|
|
461
461
|
)
|
|
462
462
|
nil
|
|
463
463
|
end
|
|
@@ -39,14 +39,14 @@ module Datadog
|
|
|
39
39
|
:subscribe,
|
|
40
40
|
:around,
|
|
41
41
|
->(channel, block) { Tracer.trace(channel, :subscribe, &block) },
|
|
42
|
-
prepend: true
|
|
42
|
+
prepend: true,
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
set_callback(
|
|
46
46
|
:unsubscribe,
|
|
47
47
|
:around,
|
|
48
48
|
->(channel, block) { Tracer.trace(channel, :unsubscribe, &block) },
|
|
49
|
-
prepend: true
|
|
49
|
+
prepend: true,
|
|
50
50
|
)
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -27,7 +27,7 @@ module Datadog
|
|
|
27
27
|
Datadog::DataStreams.set_produce_checkpoint(
|
|
28
28
|
type: Ext::TAG_COMPONENT,
|
|
29
29
|
destination: queue_name,
|
|
30
|
-
auto_instrumentation: true
|
|
30
|
+
auto_instrumentation: true,
|
|
31
31
|
) do |key, value|
|
|
32
32
|
job_data[key] = value
|
|
33
33
|
end
|
|
@@ -44,10 +44,14 @@ module Datadog
|
|
|
44
44
|
return unless Datadog::DataStreams.enabled?
|
|
45
45
|
|
|
46
46
|
begin
|
|
47
|
+
# false stands in for "thread had no context", leaving nil to mean nothing to restore.
|
|
48
|
+
@datadog_pathway_context_before_job = Datadog::DataStreams.pathway_context || false
|
|
49
|
+
# A headerless job would otherwise checkpoint into, and mutate, the saved context.
|
|
50
|
+
Datadog::DataStreams.pathway_context = nil
|
|
47
51
|
Datadog::DataStreams.set_consume_checkpoint(
|
|
48
52
|
type: Ext::TAG_COMPONENT,
|
|
49
53
|
source: queue_name,
|
|
50
|
-
auto_instrumentation: true
|
|
54
|
+
auto_instrumentation: true,
|
|
51
55
|
) do |key|
|
|
52
56
|
job_data[key]
|
|
53
57
|
end
|
|
@@ -55,6 +59,27 @@ module Datadog
|
|
|
55
59
|
Datadog.logger.debug { "Error setting DSM consume checkpoint: #{e.class}: #{e.message}" }
|
|
56
60
|
end
|
|
57
61
|
end
|
|
62
|
+
|
|
63
|
+
# Adapters run `deserialize` then `perform_now` on a pooled worker thread. Restoring the
|
|
64
|
+
# pre-job context stops the job's pathway leaking into the thread's later, unrelated work.
|
|
65
|
+
def perform_now
|
|
66
|
+
super
|
|
67
|
+
ensure
|
|
68
|
+
restore_datadog_pathway_context
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
private
|
|
72
|
+
|
|
73
|
+
def restore_datadog_pathway_context
|
|
74
|
+
return if @datadog_pathway_context_before_job.nil?
|
|
75
|
+
|
|
76
|
+
# `|| nil` undoes the false sentinel set in `deserialize`.
|
|
77
|
+
context_before_job = @datadog_pathway_context_before_job || nil
|
|
78
|
+
@datadog_pathway_context_before_job = nil
|
|
79
|
+
Datadog::DataStreams.pathway_context = context_before_job
|
|
80
|
+
rescue => e
|
|
81
|
+
Datadog.logger.debug { "Error restoring DSM pathway context: #{e.class}: #{e.message}" }
|
|
82
|
+
end
|
|
58
83
|
end
|
|
59
84
|
end
|
|
60
85
|
end
|
|
@@ -76,7 +76,7 @@ module Datadog
|
|
|
76
76
|
#
|
|
77
77
|
Datadog.logger.error(
|
|
78
78
|
"Failed to resolve ActiveRecord database configuration. " \
|
|
79
|
-
"Cause: #{e.class} Source: #{Array(e.backtrace).first}"
|
|
79
|
+
"Cause: #{e.class} Source: #{Array(e.backtrace).first}",
|
|
80
80
|
)
|
|
81
81
|
Core::Telemetry::Logger.report(e, description: "Failed to resolve ActiveRecord database configuration")
|
|
82
82
|
|
|
@@ -96,7 +96,7 @@ module Datadog
|
|
|
96
96
|
rescue => e
|
|
97
97
|
Datadog.logger.error(
|
|
98
98
|
"Failed to resolve key #{matcher.inspect}. " \
|
|
99
|
-
"Cause: #{e.class} Source: #{Array(e.backtrace).first}"
|
|
99
|
+
"Cause: #{e.class} Source: #{Array(e.backtrace).first}",
|
|
100
100
|
)
|
|
101
101
|
Core::Telemetry::Logger.report(e, description: "Failed to resolve key")
|
|
102
102
|
|
|
@@ -77,7 +77,7 @@ module Datadog
|
|
|
77
77
|
# in case.
|
|
78
78
|
Datadog.logger.debug(
|
|
79
79
|
"connection_id #{connection_id} does not represent a valid object. " \
|
|
80
|
-
"Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
80
|
+
"Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
81
81
|
)
|
|
82
82
|
end
|
|
83
83
|
else
|
|
@@ -49,7 +49,7 @@ module Datadog
|
|
|
49
49
|
Ext::SPAN_CACHE,
|
|
50
50
|
type: Ext::SPAN_TYPE_CACHE,
|
|
51
51
|
service: Datadog.configuration.tracing[:active_support][:cache_service],
|
|
52
|
-
resource: action
|
|
52
|
+
resource: action,
|
|
53
53
|
) do |span|
|
|
54
54
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
55
55
|
span.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT)
|
|
@@ -51,7 +51,7 @@ module Datadog
|
|
|
51
51
|
span_options,
|
|
52
52
|
on_start: on_start,
|
|
53
53
|
on_finish: on_finish,
|
|
54
|
-
trace: trace
|
|
54
|
+
trace: trace,
|
|
55
55
|
).tap do |subscription|
|
|
56
56
|
subscription.subscribe(pattern)
|
|
57
57
|
end
|
|
@@ -65,7 +65,7 @@ module Datadog
|
|
|
65
65
|
span_options,
|
|
66
66
|
on_start: on_start,
|
|
67
67
|
on_finish: on_finish,
|
|
68
|
-
trace: trace
|
|
68
|
+
trace: trace,
|
|
69
69
|
).tap do |subscription|
|
|
70
70
|
subscriptions << subscription
|
|
71
71
|
end
|
|
@@ -125,7 +125,7 @@ module Datadog
|
|
|
125
125
|
@block&.call(span, name, id, payload)
|
|
126
126
|
rescue => e
|
|
127
127
|
Datadog.logger.debug(
|
|
128
|
-
"ActiveSupport::Notifications handler for '#{name}' failed: #{e.class}: #{e.message}"
|
|
128
|
+
"ActiveSupport::Notifications handler for '#{name}' failed: #{e.class}: #{e.message}",
|
|
129
129
|
)
|
|
130
130
|
end
|
|
131
131
|
end
|
|
@@ -147,7 +147,7 @@ module Datadog
|
|
|
147
147
|
callback.call(event, key, *args)
|
|
148
148
|
rescue => e
|
|
149
149
|
Datadog.logger.debug(
|
|
150
|
-
"ActiveSupport::Notifications '#{key}' callback for '#{event}' failed: #{e.class}: #{e.message}"
|
|
150
|
+
"ActiveSupport::Notifications '#{key}' callback for '#{event}' failed: #{e.class}: #{e.message}",
|
|
151
151
|
)
|
|
152
152
|
end
|
|
153
153
|
end
|
|
@@ -19,7 +19,7 @@ module Datadog
|
|
|
19
19
|
Ext::SPAN_JOB,
|
|
20
20
|
service: configuration[:service_name],
|
|
21
21
|
resource: job_name(job),
|
|
22
|
-
on_error: configuration[:on_error]
|
|
22
|
+
on_error: configuration[:on_error],
|
|
23
23
|
) do |span|
|
|
24
24
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
25
25
|
set_sample_rate(span)
|
|
@@ -50,7 +50,7 @@ module Datadog
|
|
|
50
50
|
Tracing.trace(
|
|
51
51
|
Ext::SPAN_ENQUEUE,
|
|
52
52
|
service: configuration[:client_service_name],
|
|
53
|
-
resource: job_name(job)
|
|
53
|
+
resource: job_name(job),
|
|
54
54
|
) do |span|
|
|
55
55
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
56
56
|
set_sample_rate(span)
|
|
@@ -53,7 +53,7 @@ module Datadog
|
|
|
53
53
|
Tracing.trace(
|
|
54
54
|
Datadog::Tracing::Contrib::Elasticsearch::Ext::SPAN_QUERY,
|
|
55
55
|
service: service,
|
|
56
|
-
on_error: on_error
|
|
56
|
+
on_error: on_error,
|
|
57
57
|
) do |span|
|
|
58
58
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
59
59
|
connection = transport.connections.first
|
|
@@ -63,7 +63,7 @@ module Datadog
|
|
|
63
63
|
if datadog_configuration[:peer_service]
|
|
64
64
|
span.set_tag(
|
|
65
65
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
66
|
-
datadog_configuration[:peer_service]
|
|
66
|
+
datadog_configuration[:peer_service],
|
|
67
67
|
)
|
|
68
68
|
end
|
|
69
69
|
|
|
@@ -121,7 +121,7 @@ module Datadog
|
|
|
121
121
|
quantize_options = datadog_configuration[:quantize]
|
|
122
122
|
quantized_body = Datadog::Tracing::Contrib::Elasticsearch::Quantize.format_body(
|
|
123
123
|
body,
|
|
124
|
-
quantize_options
|
|
124
|
+
quantize_options,
|
|
125
125
|
)
|
|
126
126
|
span.set_tag(Datadog::Tracing::Contrib::Elasticsearch::Ext::TAG_BODY, quantized_body)
|
|
127
127
|
end
|
|
@@ -68,8 +68,8 @@ module Datadog
|
|
|
68
68
|
|
|
69
69
|
@datadog_span.set_tags(
|
|
70
70
|
Datadog.configuration.tracing.header_tags.response_tags(
|
|
71
|
-
Core::Utils::Hash::CaseInsensitiveWrapper.new(parse_response_headers)
|
|
72
|
-
)
|
|
71
|
+
Core::Utils::Hash::CaseInsensitiveWrapper.new(parse_response_headers),
|
|
72
|
+
),
|
|
73
73
|
)
|
|
74
74
|
ensure
|
|
75
75
|
@datadog_span.finish
|
|
@@ -108,7 +108,7 @@ module Datadog
|
|
|
108
108
|
Ext::SPAN_REQUEST,
|
|
109
109
|
service: uri ? service_name(uri.host, datadog_configuration) : datadog_configuration[:service_name],
|
|
110
110
|
type: Tracing::Metadata::Ext::HTTP::TYPE_OUTBOUND,
|
|
111
|
-
**trace_options
|
|
111
|
+
**trace_options,
|
|
112
112
|
)
|
|
113
113
|
datadog_trace = Tracing.active_trace
|
|
114
114
|
|
|
@@ -116,7 +116,7 @@ module Datadog
|
|
|
116
116
|
|
|
117
117
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
118
118
|
global_config: datadog_configuration,
|
|
119
|
-
trace: datadog_trace
|
|
119
|
+
trace: datadog_trace,
|
|
120
120
|
)
|
|
121
121
|
@datadog_original_headers ||= {}
|
|
122
122
|
Contrib::HTTP.inject(datadog_trace, @datadog_original_headers)
|
|
@@ -141,13 +141,13 @@ module Datadog
|
|
|
141
141
|
span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
|
|
142
142
|
method,
|
|
143
143
|
path,
|
|
144
|
-
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize
|
|
144
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
145
145
|
)
|
|
146
146
|
|
|
147
147
|
if datadog_configuration[:peer_service]
|
|
148
148
|
span.set_tag(
|
|
149
149
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
150
|
-
datadog_configuration[:peer_service]
|
|
150
|
+
datadog_configuration[:peer_service],
|
|
151
151
|
)
|
|
152
152
|
end
|
|
153
153
|
|
|
@@ -170,8 +170,8 @@ module Datadog
|
|
|
170
170
|
if @datadog_original_headers
|
|
171
171
|
span.set_tags(
|
|
172
172
|
Datadog.configuration.tracing.header_tags.request_tags(
|
|
173
|
-
Core::Utils::Hash::CaseInsensitiveWrapper.new(@datadog_original_headers)
|
|
174
|
-
)
|
|
173
|
+
Core::Utils::Hash::CaseInsensitiveWrapper.new(@datadog_original_headers),
|
|
174
|
+
),
|
|
175
175
|
)
|
|
176
176
|
end
|
|
177
177
|
|
|
@@ -33,7 +33,7 @@ module Datadog
|
|
|
33
33
|
annotate!(span, datum)
|
|
34
34
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
35
35
|
global_config: @options,
|
|
36
|
-
trace: trace
|
|
36
|
+
trace: trace,
|
|
37
37
|
)
|
|
38
38
|
propagate!(trace, span, datum)
|
|
39
39
|
end
|
|
@@ -123,7 +123,7 @@ module Datadog
|
|
|
123
123
|
span.resource = Contrib::Utils::Quantization::HTTP.client_resource(
|
|
124
124
|
http_method,
|
|
125
125
|
path,
|
|
126
|
-
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize
|
|
126
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
127
127
|
)
|
|
128
128
|
span.service = service_name(datum[:host], @options)
|
|
129
129
|
span.set_tag(Tracing::Metadata::Ext::TAG_SVC_SRC, Ext::TAG_COMPONENT)
|
|
@@ -132,7 +132,7 @@ module Datadog
|
|
|
132
132
|
if @options[:peer_service]
|
|
133
133
|
span.set_tag(
|
|
134
134
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
135
|
-
@options[:peer_service]
|
|
135
|
+
@options[:peer_service],
|
|
136
136
|
)
|
|
137
137
|
end
|
|
138
138
|
|
|
@@ -152,8 +152,8 @@ module Datadog
|
|
|
152
152
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, datum[:port])
|
|
153
153
|
span.set_tags(
|
|
154
154
|
Datadog.configuration.tracing.header_tags.request_tags(
|
|
155
|
-
Core::Utils::Hash::CaseInsensitiveWrapper.new(datum[:headers])
|
|
156
|
-
)
|
|
155
|
+
Core::Utils::Hash::CaseInsensitiveWrapper.new(datum[:headers]),
|
|
156
|
+
),
|
|
157
157
|
)
|
|
158
158
|
|
|
159
159
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -173,8 +173,8 @@ module Datadog
|
|
|
173
173
|
|
|
174
174
|
span.set_tags(
|
|
175
175
|
Datadog.configuration.tracing.header_tags.response_tags(
|
|
176
|
-
Core::Utils::Hash::CaseInsensitiveWrapper.new(response[:headers])
|
|
177
|
-
)
|
|
176
|
+
Core::Utils::Hash::CaseInsensitiveWrapper.new(response[:headers]),
|
|
177
|
+
),
|
|
178
178
|
)
|
|
179
179
|
end
|
|
180
180
|
on_error.call(span, datum[:error]) if datum.key?(:error)
|
|
@@ -32,7 +32,7 @@ module Datadog
|
|
|
32
32
|
annotate!(span, env, request_options)
|
|
33
33
|
if Tracing::Distributed::PropagationPolicy.enabled?(
|
|
34
34
|
global_config: request_options,
|
|
35
|
-
trace: trace
|
|
35
|
+
trace: trace,
|
|
36
36
|
)
|
|
37
37
|
propagate!(trace, span, env)
|
|
38
38
|
end
|
|
@@ -55,7 +55,7 @@ module Datadog
|
|
|
55
55
|
if options[:peer_service]
|
|
56
56
|
span.set_tag(
|
|
57
57
|
Tracing::Metadata::Ext::TAG_PEER_SERVICE,
|
|
58
|
-
options[:peer_service]
|
|
58
|
+
options[:peer_service],
|
|
59
59
|
)
|
|
60
60
|
end
|
|
61
61
|
|
|
@@ -76,7 +76,7 @@ module Datadog
|
|
|
76
76
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_HOST, env[:url].host)
|
|
77
77
|
span.set_tag(Tracing::Metadata::Ext::NET::TAG_TARGET_PORT, env[:url].port)
|
|
78
78
|
span.set_tags(
|
|
79
|
-
Datadog.configuration.tracing.header_tags.request_tags(env[:request_headers])
|
|
79
|
+
Datadog.configuration.tracing.header_tags.request_tags(env[:request_headers]),
|
|
80
80
|
)
|
|
81
81
|
|
|
82
82
|
Contrib::SpanAttributeSchema.set_peer_service!(span, Ext::PEER_SERVICE_SOURCES)
|
|
@@ -93,7 +93,7 @@ module Datadog
|
|
|
93
93
|
span.set_tag(Tracing::Metadata::Ext::HTTP::TAG_STATUS_CODE, env[:status])
|
|
94
94
|
|
|
95
95
|
span.set_tags(
|
|
96
|
-
Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers])
|
|
96
|
+
Datadog.configuration.tracing.header_tags.response_tags(env[:response_headers]),
|
|
97
97
|
)
|
|
98
98
|
rescue => e
|
|
99
99
|
Datadog.logger.error("#{e.class}: #{e.message}")
|
|
@@ -109,7 +109,7 @@ module Datadog
|
|
|
109
109
|
Contrib::Utils::Quantization::HTTP.client_resource(
|
|
110
110
|
env[:method].to_s.upcase,
|
|
111
111
|
path,
|
|
112
|
-
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize
|
|
112
|
+
enabled: Datadog.configuration.tracing.http_client_resource_name_quantize,
|
|
113
113
|
)
|
|
114
114
|
end
|
|
115
115
|
|
|
@@ -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
|