ddtrace 1.4.2 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
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