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
data/lib/datadog/appsec.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Datadog
|
|
|
17
17
|
def rasp_enabled?
|
|
18
18
|
# TODO this should take rasp_enabled flag from the settings in
|
|
19
19
|
# the appsec component rather than reading global configuration.
|
|
20
|
-
enabled? && Datadog.configuration.appsec.rasp_enabled
|
|
20
|
+
!!(enabled? && Datadog.configuration.appsec.rasp_enabled)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def active_context
|
|
@@ -60,16 +60,16 @@ module Datadog
|
|
|
60
60
|
@configured_hostname = pick_from(
|
|
61
61
|
DetectedConfiguration.new(
|
|
62
62
|
friendly_name: "'c.agent.host'",
|
|
63
|
-
value: settings.agent.host
|
|
63
|
+
value: settings.agent.host,
|
|
64
64
|
),
|
|
65
65
|
DetectedConfiguration.new(
|
|
66
66
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
|
|
67
|
-
value: parsed_http_url&.hostname
|
|
67
|
+
value: parsed_http_url&.hostname,
|
|
68
68
|
),
|
|
69
69
|
DetectedConfiguration.new(
|
|
70
70
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST} environment variable",
|
|
71
|
-
value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST]
|
|
72
|
-
)
|
|
71
|
+
value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_HOST],
|
|
72
|
+
),
|
|
73
73
|
)
|
|
74
74
|
end
|
|
75
75
|
|
|
@@ -88,7 +88,7 @@ module Datadog
|
|
|
88
88
|
try_parsing_as_integer(
|
|
89
89
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_PORT} environment variable",
|
|
90
90
|
value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_PORT],
|
|
91
|
-
)
|
|
91
|
+
),
|
|
92
92
|
)
|
|
93
93
|
end
|
|
94
94
|
|
|
@@ -103,7 +103,7 @@ module Datadog
|
|
|
103
103
|
DetectedConfiguration.new(
|
|
104
104
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
|
|
105
105
|
value: parsed_url_ssl?,
|
|
106
|
-
)
|
|
106
|
+
),
|
|
107
107
|
)
|
|
108
108
|
end
|
|
109
109
|
|
|
@@ -119,7 +119,7 @@ module Datadog
|
|
|
119
119
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_TIMEOUT_SECONDS} " \
|
|
120
120
|
"environment variable",
|
|
121
121
|
value: DATADOG_ENV[Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_TIMEOUT_SECONDS],
|
|
122
|
-
)
|
|
122
|
+
),
|
|
123
123
|
)
|
|
124
124
|
end
|
|
125
125
|
|
|
@@ -129,12 +129,12 @@ module Datadog
|
|
|
129
129
|
@configured_uds_path = pick_from(
|
|
130
130
|
DetectedConfiguration.new(
|
|
131
131
|
friendly_name: "'c.agent.uds_path'",
|
|
132
|
-
value: settings.agent.uds_path
|
|
132
|
+
value: settings.agent.uds_path,
|
|
133
133
|
),
|
|
134
134
|
DetectedConfiguration.new(
|
|
135
135
|
friendly_name: "#{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} environment variable",
|
|
136
|
-
value: parsed_url_uds_path
|
|
137
|
-
)
|
|
136
|
+
value: parsed_url_uds_path,
|
|
137
|
+
),
|
|
138
138
|
)
|
|
139
139
|
end
|
|
140
140
|
|
|
@@ -239,7 +239,7 @@ module Datadog
|
|
|
239
239
|
friendly_name: "configuration of hostname/port for http/https use",
|
|
240
240
|
value: "hostname: '#{hostname}', port: '#{port}'",
|
|
241
241
|
),
|
|
242
|
-
]
|
|
242
|
+
],
|
|
243
243
|
)
|
|
244
244
|
end
|
|
245
245
|
|
|
@@ -269,7 +269,7 @@ module Datadog
|
|
|
269
269
|
log_warning(
|
|
270
270
|
"Invalid URI scheme '#{parsed.scheme}' for #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL} " \
|
|
271
271
|
"environment variable ('#{unparsed_url_from_env}'). " \
|
|
272
|
-
"Ignoring the contents of #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL}."
|
|
272
|
+
"Ignoring the contents of #{Datadog::Core::Configuration::Ext::Agent::ENV_DEFAULT_URL}.",
|
|
273
273
|
)
|
|
274
274
|
# rubocop:enable Layout/LineLength
|
|
275
275
|
|
|
@@ -297,7 +297,8 @@ module Datadog
|
|
|
297
297
|
"Configuration mismatch: values differ between " \
|
|
298
298
|
"#{detected_configurations_in_priority_order
|
|
299
299
|
.map { |config| "#{config.friendly_name} (#{config.value.inspect})" }.join(" and ")}" \
|
|
300
|
-
". Using #{detected_configurations_in_priority_order.first.value.inspect} and ignoring
|
|
300
|
+
". Using #{detected_configurations_in_priority_order.first.value.inspect} and ignoring " \
|
|
301
|
+
"other configuration.",
|
|
301
302
|
)
|
|
302
303
|
end
|
|
303
304
|
|
|
@@ -48,7 +48,7 @@ module Datadog
|
|
|
48
48
|
host_prefix: host_prefix,
|
|
49
49
|
url_override: url_override,
|
|
50
50
|
url_override_source: url_override_source,
|
|
51
|
-
logger: logger
|
|
51
|
+
logger: logger,
|
|
52
52
|
).send(:call)
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -162,7 +162,7 @@ module Datadog
|
|
|
162
162
|
else
|
|
163
163
|
log_warning(
|
|
164
164
|
"Invalid URI scheme '#{parsed.scheme}' for #{url_override_source}. " \
|
|
165
|
-
"Ignoring the contents of #{url_override_source}."
|
|
165
|
+
"Ignoring the contents of #{url_override_source}.",
|
|
166
166
|
)
|
|
167
167
|
nil
|
|
168
168
|
end
|
|
@@ -129,7 +129,7 @@ module Datadog
|
|
|
129
129
|
logger: logger,
|
|
130
130
|
settings: settings,
|
|
131
131
|
agent_settings: agent_settings,
|
|
132
|
-
agent_info: agent_info
|
|
132
|
+
agent_info: agent_info,
|
|
133
133
|
)
|
|
134
134
|
rescue => e
|
|
135
135
|
logger.warn("Failed to initialize Data Streams Monitoring: #{e.class}: #{e.message}")
|
|
@@ -519,7 +519,7 @@ module Datadog
|
|
|
519
519
|
Datadog.logger.warn(
|
|
520
520
|
"The profiling.advanced.preview_gvl_enabled setting has been deprecated for removal and " \
|
|
521
521
|
"no longer does anything. Please remove it from your Datadog.configure block. " \
|
|
522
|
-
"GVL profiling is now controlled by the profiling.advanced.gvl_enabled setting instead."
|
|
522
|
+
"GVL profiling is now controlled by the profiling.advanced.gvl_enabled setting instead.",
|
|
523
523
|
)
|
|
524
524
|
end
|
|
525
525
|
end
|
|
@@ -646,10 +646,13 @@ module Datadog
|
|
|
646
646
|
end
|
|
647
647
|
|
|
648
648
|
# Whether the profiler samples include the class/module name in stack frames, like `Foo::Bar#baz`, or not (`baz`)
|
|
649
|
+
#
|
|
650
|
+
# @default `DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED` environment variable as a boolean, otherwise `true`
|
|
649
651
|
option :experimental_show_classes_enabled do |o|
|
|
650
652
|
o.type :bool
|
|
651
653
|
o.env "DD_PROFILING_EXPERIMENTAL_SHOW_CLASSES_ENABLED"
|
|
652
|
-
|
|
654
|
+
# Keep in sync with latest_show_classes in collectors_thread_context.c
|
|
655
|
+
o.default true
|
|
653
656
|
end
|
|
654
657
|
end
|
|
655
658
|
|
|
@@ -53,6 +53,7 @@ module Datadog
|
|
|
53
53
|
"DD_DISABLE_DATADOG_RAILS",
|
|
54
54
|
"DD_DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT_MS",
|
|
55
55
|
"DD_DYNAMIC_INSTRUMENTATION_ENABLED",
|
|
56
|
+
"DD_DYNAMIC_INSTRUMENTATION_EVALUATION_TIMEOUT_MS",
|
|
56
57
|
"DD_DYNAMIC_INSTRUMENTATION_MAX_TIME_TO_SERIALIZE",
|
|
57
58
|
"DD_DYNAMIC_INSTRUMENTATION_PROBE_FILE",
|
|
58
59
|
"DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS",
|
|
@@ -90,7 +90,7 @@ module Datadog
|
|
|
90
90
|
replace_components!(configuration, @components)
|
|
91
91
|
else
|
|
92
92
|
build_components(configuration)
|
|
93
|
-
end
|
|
93
|
+
end,
|
|
94
94
|
)
|
|
95
95
|
end
|
|
96
96
|
|
|
@@ -240,7 +240,7 @@ module Datadog
|
|
|
240
240
|
logger_without_components.error(
|
|
241
241
|
"Detected deadlock during datadog initialization: #{e.class}: #{e.message}. " \
|
|
242
242
|
"Please report this at https://github.com/datadog/dd-trace-rb/blob/master/CONTRIBUTING.md#found-a-bug" \
|
|
243
|
-
"\n\tSource:\n\t#{Array(e.backtrace).join("\n\t")}"
|
|
243
|
+
"\n\tSource:\n\t#{Array(e.backtrace).join("\n\t")}",
|
|
244
244
|
)
|
|
245
245
|
nil
|
|
246
246
|
end
|
|
@@ -53,7 +53,7 @@ module Datadog
|
|
|
53
53
|
end
|
|
54
54
|
rescue => e
|
|
55
55
|
logger.warn(
|
|
56
|
-
"Failed to collect core environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
|
|
56
|
+
"Failed to collect core environment information: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
|
|
57
57
|
)
|
|
58
58
|
end
|
|
59
59
|
end
|
|
@@ -15,7 +15,7 @@ module Datadog
|
|
|
15
15
|
:hierarchy,
|
|
16
16
|
:controllers,
|
|
17
17
|
:path,
|
|
18
|
-
:inode
|
|
18
|
+
:inode,
|
|
19
19
|
)
|
|
20
20
|
|
|
21
21
|
module_function
|
|
@@ -52,7 +52,7 @@ module Datadog
|
|
|
52
52
|
hierarchy,
|
|
53
53
|
controllers,
|
|
54
54
|
path,
|
|
55
|
-
inode_for(controllers, path)
|
|
55
|
+
inode_for(controllers, path),
|
|
56
56
|
)
|
|
57
57
|
end
|
|
58
58
|
|
|
@@ -27,7 +27,7 @@ module Datadog
|
|
|
27
27
|
:platform,
|
|
28
28
|
:task_uid,
|
|
29
29
|
:container_id,
|
|
30
|
-
:inode
|
|
30
|
+
:inode,
|
|
31
31
|
)
|
|
32
32
|
|
|
33
33
|
module_function
|
|
@@ -108,7 +108,7 @@ module Datadog
|
|
|
108
108
|
end
|
|
109
109
|
rescue => e
|
|
110
110
|
Datadog.logger.debug(
|
|
111
|
-
"Error while checking cgroup namespace. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
|
|
111
|
+
"Error while checking cgroup namespace. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
|
|
112
112
|
)
|
|
113
113
|
false
|
|
114
114
|
end
|
|
@@ -172,7 +172,7 @@ module Datadog
|
|
|
172
172
|
@entry = Entry.new # Empty entry if no valid cgroup entry is found
|
|
173
173
|
rescue => e
|
|
174
174
|
Datadog.logger.debug(
|
|
175
|
-
"Error while reading container entry. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}"
|
|
175
|
+
"Error while reading container entry. Cause: #{e.class}: #{e.message} Location: #{Array(e.backtrace).first}",
|
|
176
176
|
)
|
|
177
177
|
@entry = Entry.new unless defined?(@entry)
|
|
178
178
|
@entry
|
|
@@ -101,7 +101,7 @@ module Datadog
|
|
|
101
101
|
statsd.count(stat, value, metric_options(options))
|
|
102
102
|
rescue => e
|
|
103
103
|
logger.error(
|
|
104
|
-
"Failed to send count stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
104
|
+
"Failed to send count stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
105
105
|
)
|
|
106
106
|
telemetry.report(e, description: "Failed to send count stat")
|
|
107
107
|
end
|
|
@@ -115,7 +115,7 @@ module Datadog
|
|
|
115
115
|
statsd.distribution(stat, value, metric_options(options))
|
|
116
116
|
rescue => e
|
|
117
117
|
logger.error(
|
|
118
|
-
"Failed to send distribution stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
118
|
+
"Failed to send distribution stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
119
119
|
)
|
|
120
120
|
telemetry.report(e, description: "Failed to send distribution stat")
|
|
121
121
|
end
|
|
@@ -128,7 +128,7 @@ module Datadog
|
|
|
128
128
|
statsd.increment(stat, metric_options(options))
|
|
129
129
|
rescue => e
|
|
130
130
|
logger.error(
|
|
131
|
-
"Failed to send increment stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
131
|
+
"Failed to send increment stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
132
132
|
)
|
|
133
133
|
telemetry.report(e, description: "Failed to send increment stat")
|
|
134
134
|
end
|
|
@@ -142,7 +142,7 @@ module Datadog
|
|
|
142
142
|
statsd.gauge(stat, value, metric_options(options))
|
|
143
143
|
rescue => e
|
|
144
144
|
logger.error(
|
|
145
|
-
"Failed to send gauge stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
145
|
+
"Failed to send gauge stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
146
146
|
)
|
|
147
147
|
telemetry.report(e, description: "Failed to send gauge stat")
|
|
148
148
|
end
|
|
@@ -162,7 +162,7 @@ module Datadog
|
|
|
162
162
|
rescue => e
|
|
163
163
|
# TODO: Likely to be redundant, since `distribution` handles its own errors.
|
|
164
164
|
logger.error(
|
|
165
|
-
"Failed to send time stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}"
|
|
165
|
+
"Failed to send time stat. Cause: #{e.class}: #{e.message} Source: #{Array(e.backtrace).first}",
|
|
166
166
|
)
|
|
167
167
|
telemetry.report(e, description: "Failed to send time stat")
|
|
168
168
|
end
|
|
@@ -196,7 +196,7 @@ module Datadog
|
|
|
196
196
|
IGNORED_STATSD_ONLY_ONCE.run do
|
|
197
197
|
logger.warn(
|
|
198
198
|
"Ignoring user-supplied statsd instance as currently-installed version of dogstastd-ruby is incompatible. " \
|
|
199
|
-
"To fix this, ensure that you have `gem 'dogstatsd-ruby', '~> 5.3'` on your Gemfile or gems.rb file."
|
|
199
|
+
"To fix this, ensure that you have `gem 'dogstatsd-ruby', '~> 5.3'` on your Gemfile or gems.rb file.",
|
|
200
200
|
)
|
|
201
201
|
end
|
|
202
202
|
end
|
|
@@ -13,13 +13,14 @@ module Datadog
|
|
|
13
13
|
return if boot.nil?
|
|
14
14
|
return if span.nil?
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
remote = Datadog::Core::Remote.active_remote
|
|
17
|
+
return if remote.nil?
|
|
17
18
|
|
|
18
19
|
# TODO: this is not thread-consistent
|
|
19
|
-
ready =
|
|
20
|
+
ready = remote.healthy
|
|
20
21
|
status = ready ? "ready" : "disconnected"
|
|
21
22
|
|
|
22
|
-
span.set_tag("_dd.rc.client_id",
|
|
23
|
+
span.set_tag("_dd.rc.client_id", remote.client.id)
|
|
23
24
|
span.set_tag("_dd.rc.status", status)
|
|
24
25
|
|
|
25
26
|
if boot.barrier != :pass
|
|
@@ -40,7 +40,7 @@ module Datadog
|
|
|
40
40
|
Core::Transport::HTTP.build(
|
|
41
41
|
agent_settings: agent_settings,
|
|
42
42
|
logger: logger,
|
|
43
|
-
headers: headers
|
|
43
|
+
headers: headers,
|
|
44
44
|
) do |transport|
|
|
45
45
|
transport.api "root", ROOT
|
|
46
46
|
|
|
@@ -59,7 +59,7 @@ module Datadog
|
|
|
59
59
|
Core::Transport::HTTP.build(
|
|
60
60
|
agent_settings: agent_settings,
|
|
61
61
|
logger: logger,
|
|
62
|
-
headers: headers
|
|
62
|
+
headers: headers,
|
|
63
63
|
) do |transport|
|
|
64
64
|
transport.api "v7", V7
|
|
65
65
|
|
|
@@ -67,23 +67,23 @@ module Datadog
|
|
|
67
67
|
# Only on Ruby < 3.2
|
|
68
68
|
gauge_if_not_nil(
|
|
69
69
|
Core::Runtime::Ext::Metrics::METRIC_GLOBAL_CONSTANT_STATE,
|
|
70
|
-
Core::Environment::VMCache.global_constant_state
|
|
70
|
+
Core::Environment::VMCache.global_constant_state,
|
|
71
71
|
)
|
|
72
72
|
|
|
73
73
|
# Only on Ruby 2.x
|
|
74
74
|
gauge_if_not_nil(
|
|
75
75
|
Core::Runtime::Ext::Metrics::METRIC_GLOBAL_METHOD_STATE,
|
|
76
|
-
Core::Environment::VMCache.global_method_state
|
|
76
|
+
Core::Environment::VMCache.global_method_state,
|
|
77
77
|
)
|
|
78
78
|
|
|
79
79
|
# Only on Ruby >= 3.2
|
|
80
80
|
gauge_if_not_nil(
|
|
81
81
|
Core::Runtime::Ext::Metrics::METRIC_CONSTANT_CACHE_INVALIDATIONS,
|
|
82
|
-
Core::Environment::VMCache.constant_cache_invalidations
|
|
82
|
+
Core::Environment::VMCache.constant_cache_invalidations,
|
|
83
83
|
)
|
|
84
84
|
gauge_if_not_nil(
|
|
85
85
|
Core::Runtime::Ext::Metrics::METRIC_CONSTANT_CACHE_MISSES,
|
|
86
|
-
Core::Environment::VMCache.constant_cache_misses
|
|
86
|
+
Core::Environment::VMCache.constant_cache_misses,
|
|
87
87
|
)
|
|
88
88
|
end
|
|
89
89
|
end
|
|
@@ -163,43 +163,43 @@ module Datadog
|
|
|
163
163
|
if Core::Environment::YJIT.available?
|
|
164
164
|
gauge_if_not_nil(
|
|
165
165
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_CODE_GC_COUNT,
|
|
166
|
-
Core::Environment::YJIT.code_gc_count
|
|
166
|
+
Core::Environment::YJIT.code_gc_count,
|
|
167
167
|
)
|
|
168
168
|
gauge_if_not_nil(
|
|
169
169
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_CODE_REGION_SIZE,
|
|
170
|
-
Core::Environment::YJIT.code_region_size
|
|
170
|
+
Core::Environment::YJIT.code_region_size,
|
|
171
171
|
)
|
|
172
172
|
gauge_if_not_nil(
|
|
173
173
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_FREED_CODE_SIZE,
|
|
174
|
-
Core::Environment::YJIT.freed_code_size
|
|
174
|
+
Core::Environment::YJIT.freed_code_size,
|
|
175
175
|
)
|
|
176
176
|
gauge_if_not_nil(
|
|
177
177
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_FREED_PAGE_COUNT,
|
|
178
|
-
Core::Environment::YJIT.freed_page_count
|
|
178
|
+
Core::Environment::YJIT.freed_page_count,
|
|
179
179
|
)
|
|
180
180
|
gauge_if_not_nil(
|
|
181
181
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_INLINE_CODE_SIZE,
|
|
182
|
-
Core::Environment::YJIT.inline_code_size
|
|
182
|
+
Core::Environment::YJIT.inline_code_size,
|
|
183
183
|
)
|
|
184
184
|
gauge_if_not_nil(
|
|
185
185
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_LIVE_PAGE_COUNT,
|
|
186
|
-
Core::Environment::YJIT.live_page_count
|
|
186
|
+
Core::Environment::YJIT.live_page_count,
|
|
187
187
|
)
|
|
188
188
|
gauge_if_not_nil(
|
|
189
189
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_OBJECT_SHAPE_COUNT,
|
|
190
|
-
Core::Environment::YJIT.object_shape_count
|
|
190
|
+
Core::Environment::YJIT.object_shape_count,
|
|
191
191
|
)
|
|
192
192
|
gauge_if_not_nil(
|
|
193
193
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_OUTLINED_CODE_SIZE,
|
|
194
|
-
Core::Environment::YJIT.outlined_code_size
|
|
194
|
+
Core::Environment::YJIT.outlined_code_size,
|
|
195
195
|
)
|
|
196
196
|
gauge_if_not_nil(
|
|
197
197
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_YJIT_ALLOC_SIZE,
|
|
198
|
-
Core::Environment::YJIT.yjit_alloc_size
|
|
198
|
+
Core::Environment::YJIT.yjit_alloc_size,
|
|
199
199
|
)
|
|
200
200
|
gauge_if_not_nil(
|
|
201
201
|
Core::Runtime::Ext::Metrics::METRIC_YJIT_RATIO_IN_YJIT,
|
|
202
|
-
Core::Environment::YJIT.ratio_in_yjit
|
|
202
|
+
Core::Environment::YJIT.ratio_in_yjit,
|
|
203
203
|
)
|
|
204
204
|
end
|
|
205
205
|
end
|
|
@@ -20,7 +20,9 @@ module Datadog
|
|
|
20
20
|
|
|
21
21
|
def wait(timeout = nil)
|
|
22
22
|
wake_lock.synchronize do
|
|
23
|
-
|
|
23
|
+
# ConditionVariable#wait accepts Numeric seconds at runtime; the
|
|
24
|
+
# bundled core signatures only model the Timeouts module form.
|
|
25
|
+
wake.wait(wake_lock, timeout) # steep:ignore ArgumentTypeMismatch
|
|
24
26
|
end
|
|
25
27
|
end
|
|
26
28
|
|
|
@@ -85,12 +85,12 @@ module Datadog
|
|
|
85
85
|
conf_value(
|
|
86
86
|
"DD_GIT_REPOSITORY_URL",
|
|
87
87
|
Core::Environment::Git.git_repository_url,
|
|
88
|
-
(Core::Environment::Git.git_repository_url ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
|
|
88
|
+
(Core::Environment::Git.git_repository_url ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
|
|
89
89
|
),
|
|
90
90
|
conf_value(
|
|
91
91
|
"DD_GIT_COMMIT_SHA",
|
|
92
92
|
Core::Environment::Git.git_commit_sha,
|
|
93
|
-
(Core::Environment::Git.git_commit_sha ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
|
|
93
|
+
(Core::Environment::Git.git_commit_sha ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
|
|
94
94
|
),
|
|
95
95
|
|
|
96
96
|
# Mix of env var, programmatic and default config, so we use unknown
|
|
@@ -102,13 +102,13 @@ module Datadog
|
|
|
102
102
|
list << conf_value(
|
|
103
103
|
"tracing.auto_instrument.enabled",
|
|
104
104
|
auto_instrument_enabled,
|
|
105
|
-
auto_instrument_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
|
|
105
|
+
auto_instrument_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
|
|
106
106
|
)
|
|
107
107
|
opentelemetry_enabled = !defined?(Datadog::OpenTelemetry::LOADED).nil?
|
|
108
108
|
list << conf_value(
|
|
109
109
|
"tracing.opentelemetry.enabled",
|
|
110
110
|
opentelemetry_enabled,
|
|
111
|
-
opentelemetry_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
|
|
111
|
+
opentelemetry_enabled ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
|
|
112
112
|
)
|
|
113
113
|
|
|
114
114
|
# Track ssi configurations
|
|
@@ -124,17 +124,17 @@ module Datadog
|
|
|
124
124
|
conf_value(
|
|
125
125
|
"instrumentation_source",
|
|
126
126
|
instrumentation_source,
|
|
127
|
-
(instrumentation_source == "ssi") ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT
|
|
127
|
+
(instrumentation_source == "ssi") ? Configuration::Option::Precedence::PROGRAMMATIC : Configuration::Option::Precedence::DEFAULT,
|
|
128
128
|
),
|
|
129
129
|
conf_value(
|
|
130
130
|
"DD_INJECT_FORCE",
|
|
131
131
|
Core::Environment::VariableHelpers.env_to_bool("DD_INJECT_FORCE", false),
|
|
132
|
-
(DATADOG_ENV.key?("DD_INJECT_FORCE") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
|
|
132
|
+
(DATADOG_ENV.key?("DD_INJECT_FORCE") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
|
|
133
133
|
),
|
|
134
134
|
conf_value(
|
|
135
135
|
"DD_INJECTION_ENABLED",
|
|
136
136
|
DATADOG_ENV["DD_INJECTION_ENABLED"] || "",
|
|
137
|
-
(DATADOG_ENV.key?("DD_INJECTION_ENABLED") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT)
|
|
137
|
+
(DATADOG_ENV.key?("DD_INJECTION_ENABLED") ? Configuration::Option::Precedence::ENVIRONMENT : Configuration::Option::Precedence::DEFAULT),
|
|
138
138
|
),
|
|
139
139
|
)
|
|
140
140
|
|
|
@@ -144,13 +144,13 @@ module Datadog
|
|
|
144
144
|
"tracing.writer_options.buffer_size",
|
|
145
145
|
# Steep: Value is always a hash for writer_options (ensured by o.type :hash)
|
|
146
146
|
to_telemetry_value(value[:buffer_size]), # steep:ignore NoMethod
|
|
147
|
-
precedence
|
|
147
|
+
precedence,
|
|
148
148
|
)
|
|
149
149
|
list << conf_value(
|
|
150
150
|
"tracing.writer_options.flush_interval",
|
|
151
151
|
# Steep: Value is always a hash for writer_options (ensured by o.type :hash)
|
|
152
152
|
to_telemetry_value(value[:flush_interval]), # steep:ignore NoMethod
|
|
153
|
-
precedence
|
|
153
|
+
precedence,
|
|
154
154
|
)
|
|
155
155
|
end
|
|
156
156
|
|
|
@@ -42,7 +42,7 @@ module Datadog
|
|
|
42
42
|
telemetry
|
|
43
43
|
else
|
|
44
44
|
Datadog.logger.warn(
|
|
45
|
-
"Failed to send telemetry before components initialization or within components lifecycle"
|
|
45
|
+
"Failed to send telemetry before components initialization or within components lifecycle",
|
|
46
46
|
)
|
|
47
47
|
nil
|
|
48
48
|
end
|
|
@@ -28,6 +28,14 @@ module Datadog
|
|
|
28
28
|
|
|
29
29
|
private
|
|
30
30
|
|
|
31
|
+
# The `ci` settings member exists only when the datadog-ci gem is
|
|
32
|
+
# loaded, so check for it before reading.
|
|
33
|
+
def datadog_ci_enabled?(config)
|
|
34
|
+
return false unless defined?(::Datadog::CI::VERSION) && config.respond_to?(:ci)
|
|
35
|
+
|
|
36
|
+
config.ci.enabled # steep:ignore NoMethod
|
|
37
|
+
end
|
|
38
|
+
|
|
31
39
|
def application
|
|
32
40
|
config = Datadog.configuration
|
|
33
41
|
|
|
@@ -38,9 +46,7 @@ module Datadog
|
|
|
38
46
|
#
|
|
39
47
|
# This code checks that Datadog::CI is loaded and ci mode is enabled and adds
|
|
40
48
|
# "-ci-X.Y.Z" suffix to the tracer version.
|
|
41
|
-
|
|
42
|
-
tracer_version = "#{tracer_version}-ci-#{::Datadog::CI::VERSION::STRING}"
|
|
43
|
-
end
|
|
49
|
+
tracer_version = "#{tracer_version}-ci-#{::Datadog::CI::VERSION::STRING}" if datadog_ci_enabled?(config)
|
|
44
50
|
|
|
45
51
|
app = {
|
|
46
52
|
env: config.env,
|
|
@@ -33,7 +33,7 @@ module Datadog
|
|
|
33
33
|
Core::Transport::HTTP.build(
|
|
34
34
|
logger: logger,
|
|
35
35
|
agent_settings: agent_settings,
|
|
36
|
-
headers: headers
|
|
36
|
+
headers: headers,
|
|
37
37
|
) do |transport|
|
|
38
38
|
transport.api "agentless_telemetry", AGENTLESS_TELEMETRY
|
|
39
39
|
# Call block to apply any customization, if provided
|
|
@@ -53,7 +53,7 @@ module Datadog
|
|
|
53
53
|
Core::Transport::HTTP.build(
|
|
54
54
|
logger: logger,
|
|
55
55
|
agent_settings: agent_settings,
|
|
56
|
-
headers: headers
|
|
56
|
+
headers: headers,
|
|
57
57
|
) do |transport|
|
|
58
58
|
transport.api "agent_telemetry", AGENT_TELEMETRY
|
|
59
59
|
|
|
@@ -286,7 +286,7 @@ module Datadog
|
|
|
286
286
|
# 2) don't want to keep a permanent reference to in any case.
|
|
287
287
|
# Therefore we have this +reset!+ method that changes the
|
|
288
288
|
# event type while keeping the payload.
|
|
289
|
-
@initial_event.reset!
|
|
289
|
+
@initial_event.reset!
|
|
290
290
|
end
|
|
291
291
|
|
|
292
292
|
if enabled? && !worker.nil?
|
|
@@ -15,15 +15,15 @@ module Datadog
|
|
|
15
15
|
# Add adapters to registry
|
|
16
16
|
Builder::REGISTRY.set(
|
|
17
17
|
Core::Transport::HTTP::Adapters::Net,
|
|
18
|
-
Core::Configuration::Ext::Agent::HTTP::ADAPTER
|
|
18
|
+
Core::Configuration::Ext::Agent::HTTP::ADAPTER,
|
|
19
19
|
)
|
|
20
20
|
Builder::REGISTRY.set(
|
|
21
21
|
Core::Transport::HTTP::Adapters::Test,
|
|
22
|
-
Core::Transport::Ext::Test::ADAPTER
|
|
22
|
+
Core::Transport::Ext::Test::ADAPTER,
|
|
23
23
|
)
|
|
24
24
|
Builder::REGISTRY.set(
|
|
25
25
|
Core::Transport::HTTP::Adapters::UnixSocket,
|
|
26
|
-
Core::Transport::Ext::UnixSocket::ADAPTER
|
|
26
|
+
Core::Transport::Ext::UnixSocket::ADAPTER,
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
module_function
|