cw-datadog 2.23.0.2 → 2.23.0.4

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/ext/datadog_profiling_native_extension/extconf.rb +4 -2
  3. data/ext/libdatadog_api/library_config.c +12 -11
  4. data/ext/libdatadog_extconf_helpers.rb +1 -1
  5. data/lib/datadog/appsec/api_security/route_extractor.rb +20 -5
  6. data/lib/datadog/appsec/api_security/sampler.rb +3 -1
  7. data/lib/datadog/appsec/assets/blocked.html +8 -0
  8. data/lib/datadog/appsec/assets/blocked.json +1 -1
  9. data/lib/datadog/appsec/assets/blocked.text +3 -1
  10. data/lib/datadog/appsec/assets.rb +1 -1
  11. data/lib/datadog/appsec/remote.rb +4 -0
  12. data/lib/datadog/appsec/response.rb +18 -4
  13. data/lib/datadog/core/cloudwise/client.rb +412 -25
  14. data/lib/datadog/core/cloudwise/component.rb +195 -52
  15. data/lib/datadog/core/cloudwise/docc_heartbeat_worker.rb +105 -0
  16. data/lib/datadog/core/cloudwise/docc_operation_worker.rb +191 -0
  17. data/lib/datadog/core/cloudwise/docc_registration_worker.rb +89 -0
  18. data/lib/datadog/core/cloudwise/license_worker.rb +90 -4
  19. data/lib/datadog/core/cloudwise/probe_state.rb +134 -12
  20. data/lib/datadog/core/configuration/components.rb +10 -9
  21. data/lib/datadog/core/configuration/settings.rb +43 -0
  22. data/lib/datadog/core/configuration/supported_configurations.rb +6 -2
  23. data/lib/datadog/core/remote/client/capabilities.rb +7 -0
  24. data/lib/datadog/core/remote/component.rb +2 -2
  25. data/lib/datadog/core/remote/transport/config.rb +2 -10
  26. data/lib/datadog/core/remote/transport/http/config.rb +9 -9
  27. data/lib/datadog/core/remote/transport/http/negotiation.rb +17 -8
  28. data/lib/datadog/core/remote/transport/http.rb +2 -0
  29. data/lib/datadog/core/remote/transport/negotiation.rb +2 -18
  30. data/lib/datadog/core/remote/worker.rb +23 -35
  31. data/lib/datadog/core/telemetry/component.rb +26 -13
  32. data/lib/datadog/core/telemetry/event/app_started.rb +67 -49
  33. data/lib/datadog/core/telemetry/event/synth_app_client_configuration_change.rb +27 -4
  34. data/lib/datadog/core/telemetry/transport/http/telemetry.rb +5 -6
  35. data/lib/datadog/core/telemetry/transport/telemetry.rb +1 -2
  36. data/lib/datadog/core/telemetry/worker.rb +51 -6
  37. data/lib/datadog/core/transport/http/adapters/net.rb +2 -0
  38. data/lib/datadog/core/transport/http/client.rb +69 -0
  39. data/lib/datadog/core/utils/only_once_successful.rb +6 -2
  40. data/lib/datadog/data_streams/transport/http/client.rb +4 -32
  41. data/lib/datadog/data_streams/transport/stats.rb +1 -1
  42. data/lib/datadog/di/probe_notification_builder.rb +35 -13
  43. data/lib/datadog/di/transport/diagnostics.rb +2 -2
  44. data/lib/datadog/di/transport/http/diagnostics.rb +2 -4
  45. data/lib/datadog/di/transport/http/input.rb +2 -4
  46. data/lib/datadog/di/transport/input.rb +2 -2
  47. data/lib/datadog/open_feature/component.rb +60 -0
  48. data/lib/datadog/open_feature/configuration.rb +27 -0
  49. data/lib/datadog/open_feature/evaluation_engine.rb +59 -0
  50. data/lib/datadog/open_feature/exposures/batch_builder.rb +32 -0
  51. data/lib/datadog/open_feature/exposures/buffer.rb +43 -0
  52. data/lib/datadog/open_feature/exposures/deduplicator.rb +30 -0
  53. data/lib/datadog/open_feature/exposures/event.rb +60 -0
  54. data/lib/datadog/open_feature/exposures/reporter.rb +40 -0
  55. data/lib/datadog/open_feature/exposures/worker.rb +116 -0
  56. data/lib/datadog/open_feature/ext.rb +13 -0
  57. data/lib/datadog/open_feature/noop_evaluator.rb +26 -0
  58. data/lib/datadog/open_feature/provider.rb +134 -0
  59. data/lib/datadog/open_feature/remote.rb +74 -0
  60. data/lib/datadog/open_feature/resolution_details.rb +35 -0
  61. data/lib/datadog/open_feature/transport.rb +72 -0
  62. data/lib/datadog/open_feature.rb +19 -0
  63. data/lib/datadog/profiling/component.rb +6 -0
  64. data/lib/datadog/profiling/profiler.rb +4 -0
  65. data/lib/datadog/profiling.rb +1 -2
  66. data/lib/datadog/single_step_instrument.rb +1 -1
  67. data/lib/datadog/tracing/contrib/cloudwise/propagation.rb +164 -7
  68. data/lib/datadog/tracing/contrib/graphql/unified_trace.rb +22 -17
  69. data/lib/datadog/tracing/contrib/karafka/framework.rb +30 -0
  70. data/lib/datadog/tracing/contrib/karafka/patcher.rb +14 -0
  71. data/lib/datadog/tracing/contrib/rack/middlewares.rb +6 -2
  72. data/lib/datadog/tracing/contrib/waterdrop/configuration/settings.rb +27 -0
  73. data/lib/datadog/tracing/contrib/waterdrop/distributed/propagation.rb +48 -0
  74. data/lib/datadog/tracing/contrib/waterdrop/ext.rb +17 -0
  75. data/lib/datadog/tracing/contrib/waterdrop/integration.rb +43 -0
  76. data/lib/datadog/tracing/contrib/waterdrop/middleware.rb +46 -0
  77. data/lib/datadog/tracing/contrib/waterdrop/patcher.rb +46 -0
  78. data/lib/datadog/tracing/contrib/waterdrop/producer.rb +50 -0
  79. data/lib/datadog/tracing/contrib/waterdrop.rb +37 -0
  80. data/lib/datadog/tracing/contrib.rb +1 -0
  81. data/lib/datadog/tracing/transport/http/api.rb +73 -1
  82. data/lib/datadog/tracing/transport/http/client.rb +12 -26
  83. data/lib/datadog/tracing/transport/http/traces.rb +4 -2
  84. data/lib/datadog/tracing/transport/trace_formatter.rb +16 -0
  85. data/lib/datadog/version.rb +2 -2
  86. data/lib/datadog.rb +1 -0
  87. metadata +38 -15
  88. data/lib/datadog/core/cloudwise/IMPLEMENTATION_V2.md +0 -517
  89. data/lib/datadog/core/cloudwise/QUICKSTART.md +0 -398
  90. data/lib/datadog/core/cloudwise/README.md +0 -722
  91. data/lib/datadog/core/remote/transport/http/client.rb +0 -49
  92. data/lib/datadog/core/telemetry/transport/http/client.rb +0 -49
  93. data/lib/datadog/di/transport/http/client.rb +0 -47
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../../core/transport/http/env'
4
- require_relative '../../../../core/transport/http/response'
5
-
6
- # TODO: Decouple transport/http/client
7
- #
8
- # The standard one does `include Transport::HTTP::Statistics` and performs
9
- # stats updates, which may or may not be desirable in general.
10
-
11
- module Datadog
12
- module Core
13
- module Remote
14
- module Transport
15
- module HTTP
16
- # Routes, encodes, and sends tracer data to the trace agent via HTTP.
17
- class Client
18
- attr_reader :api, :logger
19
-
20
- def initialize(api, logger: Datadog.logger)
21
- @api = api
22
- @logger = logger
23
- end
24
-
25
- def send_request(request, &block)
26
- # Build request into env
27
- env = build_env(request)
28
-
29
- # Get responses from API
30
- yield(api, env)
31
- rescue => e
32
- message =
33
- "Internal error during #{self.class.name} request. Cause: #{e.class.name} #{e.message} " \
34
- "Location: #{Array(e.backtrace).first}"
35
-
36
- logger.debug(message)
37
-
38
- Datadog::Core::Transport::InternalErrorResponse.new(e)
39
- end
40
-
41
- def build_env(request)
42
- Datadog::Core::Transport::HTTP::Env.new(request)
43
- end
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../transport/http/env'
4
- require_relative '../../../transport/http/response'
5
-
6
- # TODO: Decouple transport/http/client
7
- #
8
- # The standard one does `include Transport::HTTP::Statistics` and performs
9
- # stats updates, which may or may not be desirable in general.
10
-
11
- module Datadog
12
- module Core
13
- module Telemetry
14
- module Transport
15
- module HTTP
16
- # Routes, encodes, and sends DI data to the trace agent via HTTP.
17
- class Client
18
- attr_reader :api, :logger
19
-
20
- def initialize(api, logger:)
21
- @api = api
22
- @logger = logger
23
- end
24
-
25
- def send_request(request, &block)
26
- # Build request into env
27
- env = build_env(request)
28
-
29
- # Get responses from API
30
- yield(api, env)
31
- rescue => e
32
- message =
33
- "Internal error during #{self.class.name} request. Cause: #{e.class.name} #{e.message} " \
34
- "Location: #{Array(e.backtrace).first}"
35
-
36
- logger.debug(message)
37
-
38
- Datadog::Core::Transport::InternalErrorResponse.new(e)
39
- end
40
-
41
- def build_env(request)
42
- Datadog::Core::Transport::HTTP::Env.new(request)
43
- end
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../core/transport/http/env'
4
- require_relative '../../../core/transport/http/response'
5
-
6
- # TODO: Decouple transport/http/client
7
- #
8
- # The standard one does `include Transport::HTTP::Statistics` and performs
9
- # stats updates, which may or may not be desirable in general.
10
-
11
- module Datadog
12
- module DI
13
- module Transport
14
- module HTTP
15
- # Routes, encodes, and sends DI data to the trace agent via HTTP.
16
- class Client
17
- attr_reader :api, :logger
18
-
19
- def initialize(api, logger:)
20
- @api = api
21
- @logger = logger
22
- end
23
-
24
- def send_request(request, &block)
25
- # Build request into env
26
- env = build_env(request)
27
-
28
- # Get responses from API
29
- yield(api, env)
30
- rescue => e
31
- message =
32
- "Internal error during #{self.class.name} request. Cause: #{e.class.name} #{e.message} " \
33
- "Location: #{Array(e.backtrace).first}"
34
-
35
- logger.debug(message)
36
-
37
- Datadog::Core::Transport::InternalErrorResponse.new(e)
38
- end
39
-
40
- def build_env(request)
41
- Datadog::Core::Transport::HTTP::Env.new(request)
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end