ddtrace 1.4.2 → 1.5.1

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +66 -3
  3. data/LICENSE-3rdparty.csv +1 -0
  4. data/ext/ddtrace_profiling_native_extension/native_extension_helpers.rb +0 -2
  5. data/lib/datadog/appsec/assets/waf_rules/recommended.json +1169 -275
  6. data/lib/datadog/appsec/assets/waf_rules/risky.json +78 -78
  7. data/lib/datadog/appsec/assets/waf_rules/strict.json +278 -88
  8. data/lib/datadog/appsec/configuration/settings.rb +0 -2
  9. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +25 -20
  10. data/lib/datadog/appsec/contrib/rack/reactive/request.rb +11 -11
  11. data/lib/datadog/appsec/contrib/rack/reactive/request_body.rb +11 -11
  12. data/lib/datadog/appsec/contrib/rack/reactive/response.rb +11 -11
  13. data/lib/datadog/appsec/contrib/rack/request.rb +3 -0
  14. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +2 -1
  15. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +7 -6
  16. data/lib/datadog/appsec/contrib/rails/integration.rb +1 -1
  17. data/lib/datadog/appsec/contrib/rails/reactive/action.rb +11 -11
  18. data/lib/datadog/appsec/contrib/rails/request.rb +3 -0
  19. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +14 -12
  20. data/lib/datadog/appsec/contrib/sinatra/reactive/routed.rb +11 -11
  21. data/lib/datadog/appsec/event.rb +0 -8
  22. data/lib/datadog/appsec/instrumentation/gateway.rb +16 -2
  23. data/lib/datadog/appsec/processor.rb +18 -2
  24. data/lib/datadog/ci/ext/environment.rb +16 -4
  25. data/lib/datadog/core/configuration/agent_settings_resolver.rb +0 -3
  26. data/lib/datadog/core/configuration/components.rb +8 -2
  27. data/lib/datadog/core/configuration/settings.rb +71 -4
  28. data/lib/datadog/core/configuration.rb +1 -1
  29. data/lib/datadog/core/header_collection.rb +41 -0
  30. data/lib/datadog/core/telemetry/collector.rb +0 -2
  31. data/lib/datadog/core/workers/async.rb +0 -2
  32. data/lib/datadog/profiling/collectors/old_stack.rb +1 -1
  33. data/lib/datadog/profiling.rb +1 -1
  34. data/lib/datadog/tracing/client_ip.rb +153 -0
  35. data/lib/datadog/tracing/configuration/ext.rb +12 -0
  36. data/lib/datadog/tracing/contrib/aws/services.rb +0 -2
  37. data/lib/datadog/tracing/contrib/ethon/easy_patch.rb +0 -2
  38. data/lib/datadog/tracing/contrib/ext.rb +19 -0
  39. data/lib/datadog/tracing/contrib/faraday/middleware.rb +1 -2
  40. data/lib/datadog/tracing/contrib/grape/endpoint.rb +0 -2
  41. data/lib/datadog/tracing/contrib/graphql/configuration/settings.rb +1 -1
  42. data/lib/datadog/tracing/contrib/pg/instrumentation.rb +5 -4
  43. data/lib/datadog/tracing/contrib/rack/header_collection.rb +35 -0
  44. data/lib/datadog/tracing/contrib/rack/middlewares.rb +92 -38
  45. data/lib/datadog/tracing/contrib/utils/quantization/http.rb +92 -10
  46. data/lib/datadog/tracing/flush.rb +57 -35
  47. data/lib/datadog/tracing/metadata/ext.rb +3 -9
  48. data/lib/datadog/tracing/metadata/tagging.rb +9 -0
  49. data/lib/datadog/tracing/sampling/rate_limiter.rb +3 -0
  50. data/lib/datadog/tracing/sampling/rate_sampler.rb +10 -0
  51. data/lib/datadog/tracing/sampling/span/ext.rb +29 -0
  52. data/lib/datadog/tracing/sampling/span/matcher.rb +9 -0
  53. data/lib/datadog/tracing/sampling/span/rule.rb +82 -0
  54. data/lib/datadog/tracing/sampling/span/rule_parser.rb +104 -0
  55. data/lib/datadog/tracing/sampling/span/sampler.rb +64 -0
  56. data/lib/datadog/tracing/span_operation.rb +0 -2
  57. data/lib/datadog/tracing/trace_operation.rb +22 -3
  58. data/lib/datadog/tracing/trace_segment.rb +1 -2
  59. data/lib/datadog/tracing/tracer.rb +31 -5
  60. data/lib/ddtrace/transport/traces.rb +2 -0
  61. data/lib/ddtrace/version.rb +2 -2
  62. metadata +21 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e708799bd5320bcc45e0cd79d9893ef278ea1b30205058cae88ed9409371bd56
4
- data.tar.gz: c34df6aaebb0a8a16b68a6ccd12397b101fe5e74f450b599d9a94bb01cc272b5
3
+ metadata.gz: 256de6fe7c7925b1ba61dcd0e07720c2c791c2938f4f286236ee03f9977e8781
4
+ data.tar.gz: 1dcc87d9a9bfb1b3b534d20132d999a99018f65898f5563e63cebdedd24c6575
5
5
  SHA512:
6
- metadata.gz: f33d2ddfb796efa2dfda6b5b02dab623e8fcfbcf263cb820a0e78d291f49dc06e587e535c7a8afe40e26c830b2b0dac7539c4302ed76aa24579560fa687ea154
7
- data.tar.gz: 7cc6918e72984329af2f5a002a131d8ef965a276b9dc4ca74e1e6bda595f8c106f535c98bc69626e4394ba0f5c6a4e5103606e9946453bbe3ef8eb5d12922e0a
6
+ metadata.gz: c81b5bb700bced32b5b87713c19efdd6e2b14ea43034f83dc24b74d65318c3cc995f42beb601142b7242cc2eb8c470314d932b567d73acfa098dd89964d15211
7
+ data.tar.gz: 48dab08b732e59e87d559026e580a2288e2b10284dbc1550a0c482d19f88a9707103b02b1ca7579604619def1c5b4d30822e5830e75311f98ee157d3d302e9d6
data/CHANGELOG.md CHANGED
@@ -2,11 +2,53 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.5.1] - 2022-10-19
6
+
7
+ ### Changed
8
+
9
+ * Update libddwaf to 1.5.1 ([#2306][])
10
+ * Improve libddwaf extension memory management ([#2306][])
11
+
12
+ ### Fixed
13
+
14
+ * Fix `URI::InvalidURIError` ([#2310][], [#2318][]) ([@yujideveloper][])
15
+ * Handle URLs with invalid characters ([#2311][], [#2319][])
16
+ * Fix missing appsec.event tag ([#2306][])
17
+ * Fix missing Rack and Rails request body parsing for AppSec analysis ([#2306][])
18
+ * Fix unneeded AppSec call in a Rack context when AppSec is disabled ([#2306][])
19
+ * Fix spurious AppSec instrumentation ([#2306][])
20
+
21
+ ## [1.5.0] - 2022-09-29
22
+
23
+ ### Deprecation notice
24
+
25
+ * `c.tracing.instrument :rack, { quantize: { base: ... } }` will change its default from `:exclude` to `:show` in a future version. Voluntarily moving to `:show` is recommended.
26
+ * `c.tracing.instrument :rack, { quantize: { query: { show: ... } }` will change its default to `:all` in a future version, together with `quantize.query.obfuscate` changing to `:internal`. Voluntarily moving to these future values is recommended.
27
+
28
+ ### Added
29
+
30
+ * Feature: Single Span Sampling ([#2128][])
31
+ * Add query string automatic redaction ([#2283][])
32
+ * Use full URL in `http.url` tag ([#2265][])
33
+ * Add `http.useragent` tag ([#2252][])
34
+ * Add `http.client_ip` tag for Rack-based frameworks ([#2248][])
35
+ * Ci-app: CI: Fetch committer and author in Bitrise ([#2258][])
36
+
37
+ ### Changed
38
+
39
+ * Bump allowed version of debase-ruby_core_source to include v0.10.17 ([#2267][])
40
+
41
+ ### Fixed
42
+
43
+ * Bug: Fix `service_nam` typo to `service_name` ([#2296][])
44
+ * Bug: Check AppSec Rails for railties instead of rails meta gem ([#2293][]) ([@seuros][])
45
+ * Ci-app: Correctly extract commit message from AppVeyor ([#2257][])
46
+
5
47
  ## [1.4.2] - 2022-09-27
6
48
 
7
49
  ### Fixed
8
50
 
9
- OpenTracing context propagation (#2191, #2289)
51
+ OpenTracing context propagation ([#2191][], [#2289][])
10
52
 
11
53
  ## [1.4.1] - 2022-09-15
12
54
 
@@ -2103,7 +2145,9 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
2103
2145
 
2104
2146
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2105
2147
 
2106
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.2...master
2148
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.1...master
2149
+ [1.5.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.5.0...v1.5.1
2150
+ [1.5.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.2...v1.5.0
2107
2151
  [1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.1...v1.4.2
2108
2152
  [1.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v1.4.0...v1.4.1
2109
2153
  [1.4.0]: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
@@ -2973,6 +3017,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2973
3017
  [#2113]: https://github.com/DataDog/dd-trace-rb/issues/2113
2974
3018
  [#2118]: https://github.com/DataDog/dd-trace-rb/issues/2118
2975
3019
  [#2125]: https://github.com/DataDog/dd-trace-rb/issues/2125
3020
+ [#2128]: https://github.com/DataDog/dd-trace-rb/issues/2128
2976
3021
  [#2134]: https://github.com/DataDog/dd-trace-rb/issues/2134
2977
3022
  [#2138]: https://github.com/DataDog/dd-trace-rb/issues/2138
2978
3023
  [#2140]: https://github.com/DataDog/dd-trace-rb/issues/2140
@@ -2985,12 +3030,28 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2985
3030
  [#2173]: https://github.com/DataDog/dd-trace-rb/issues/2173
2986
3031
  [#2174]: https://github.com/DataDog/dd-trace-rb/issues/2174
2987
3032
  [#2180]: https://github.com/DataDog/dd-trace-rb/issues/2180
3033
+ [#2191]: https://github.com/DataDog/dd-trace-rb/issues/2191
2988
3034
  [#2200]: https://github.com/DataDog/dd-trace-rb/issues/2200
2989
3035
  [#2201]: https://github.com/DataDog/dd-trace-rb/issues/2201
2990
3036
  [#2219]: https://github.com/DataDog/dd-trace-rb/issues/2219
2991
3037
  [#2229]: https://github.com/DataDog/dd-trace-rb/issues/2229
3038
+ [#2248]: https://github.com/DataDog/dd-trace-rb/issues/2248
2992
3039
  [#2250]: https://github.com/DataDog/dd-trace-rb/issues/2250
3040
+ [#2252]: https://github.com/DataDog/dd-trace-rb/issues/2252
3041
+ [#2257]: https://github.com/DataDog/dd-trace-rb/issues/2257
3042
+ [#2258]: https://github.com/DataDog/dd-trace-rb/issues/2258
3043
+ [#2265]: https://github.com/DataDog/dd-trace-rb/issues/2265
3044
+ [#2267]: https://github.com/DataDog/dd-trace-rb/issues/2267
2993
3045
  [#2279]: https://github.com/DataDog/dd-trace-rb/issues/2279
3046
+ [#2283]: https://github.com/DataDog/dd-trace-rb/issues/2283
3047
+ [#2289]: https://github.com/DataDog/dd-trace-rb/issues/2289
3048
+ [#2293]: https://github.com/DataDog/dd-trace-rb/issues/2293
3049
+ [#2296]: https://github.com/DataDog/dd-trace-rb/issues/2296
3050
+ [#2306]: https://github.com/DataDog/dd-trace-rb/issues/2306
3051
+ [#2310]: https://github.com/DataDog/dd-trace-rb/issues/2310
3052
+ [#2311]: https://github.com/DataDog/dd-trace-rb/issues/2311
3053
+ [#2318]: https://github.com/DataDog/dd-trace-rb/issues/2318
3054
+ [#2319]: https://github.com/DataDog/dd-trace-rb/issues/2319
2994
3055
  [@AdrianLC]: https://github.com/AdrianLC
2995
3056
  [@Azure7111]: https://github.com/Azure7111
2996
3057
  [@BabyGroot]: https://github.com/BabyGroot
@@ -3112,6 +3173,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3112
3173
  [@saturnflyer]: https://github.com/saturnflyer
3113
3174
  [@sco11morgan]: https://github.com/sco11morgan
3114
3175
  [@senny]: https://github.com/senny
3176
+ [@seuros]: https://github.com/seuros
3115
3177
  [@shayonj]: https://github.com/shayonj
3116
3178
  [@sinsoku]: https://github.com/sinsoku
3117
3179
  [@skcc321]: https://github.com/skcc321
@@ -3131,5 +3193,6 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
3131
3193
  [@vramaiah]: https://github.com/vramaiah
3132
3194
  [@walterking]: https://github.com/walterking
3133
3195
  [@y-yagi]: https://github.com/y-yagi
3196
+ [@yujideveloper]: https://github.com/yujideveloper
3134
3197
  [@yukimurasawa]: https://github.com/yukimurasawa
3135
- [@zachmccormick]: https://github.com/zachmccormick
3198
+ [@zachmccormick]: https://github.com/zachmccormick
data/LICENSE-3rdparty.csv CHANGED
@@ -1,6 +1,7 @@
1
1
  Component,Origin,License,Copyright
2
2
  lib/datadog/core/vendor/multipart-post,https://github.com/socketry/multipart-post,MIT,"Copyright (c) 2007-2013 Nick Sieger."
3
3
  lib/datadog/tracing/contrib/active_record/vendor,https://github.com/rails/rails/,MIT,"Copyright (c) 2005-2018 David Heinemeier Hansson"
4
+ lib/datadog/tracing/contrib/utils/quantization/http.rb,https://github.com/ruby/uri,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
4
5
  ext/ddtrace_profiling_native_extension/private_vm_api_access,https://github.com/ruby/ruby,BSD-2-Clause,"Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
5
6
  msgpack,https://rubygems.org/gems/msgpack,Apache-2.0,"Copyright (c) 2008-2015 Sadayuki Furuhashi"
6
7
  debase-ruby_core_source,https://rubygems.org/gems/debase-ruby_core_source,MIT for gem and BSD-2-Clause for Ruby sources,"Copyright (c) 2012 Gabriel Horner. Files from Ruby sources are Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved."
@@ -68,7 +68,6 @@ module Datadog
68
68
 
69
69
  # Used to check if profiler is supported, including user-visible clear messages explaining why their
70
70
  # system may not be supported.
71
- # rubocop:disable Metrics/ModuleLength
72
71
  module Supported
73
72
  private_class_method def self.explain_issue(*reason, suggested:)
74
73
  { reason: reason, suggested: suggested }
@@ -284,7 +283,6 @@ module Datadog
284
283
  no_binaries_for_current_platform unless Libdatadog.pkgconfig_folder
285
284
  end
286
285
  end
287
- # rubocop:enable Metrics/ModuleLength
288
286
  end
289
287
  end
290
288
  end