Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
240 commits
Select commit Hold shift + click to select a range
a4d5eb2
initial implementation
ZStriker19 Feb 11, 2025
e617a7e
Merge branch 'master' into zachg/baggage_support
ZStriker19 Feb 11, 2025
9d38187
changelog
ZStriker19 Feb 11, 2025
751ca10
trace_digest and ext
ZStriker19 Feb 11, 2025
d993b90
Merge branch 'master' into zachg/baggage_support
ZStriker19 Feb 12, 2025
f7292b3
settings_spec
ZStriker19 Feb 12, 2025
1fdf926
include in already existing tests
ZStriker19 Feb 12, 2025
bcc92f9
check for nil value and merge correctly
ZStriker19 Feb 12, 2025
fce842b
begin baggage specific testing
ZStriker19 Feb 12, 2025
1482be0
modify decoding and encoding logic and add tests
ZStriker19 Feb 13, 2025
bf52570
testing complete
ZStriker19 Feb 19, 2025
64cb8a6
add rbs
ZStriker19 Feb 19, 2025
7b1f1f4
starting point
ZStriker19 Feb 19, 2025
4dbe74b
change to inject if either trace_id or baggage is present in digest
ZStriker19 Feb 19, 2025
383eeea
Merge branch 'master' into zachg/baggage_support
ZStriker19 Feb 19, 2025
5e720e5
Update CHANGELOG.md
ZStriker19 Feb 20, 2025
244b42f
add public method to access baggage hash
ZStriker19 Feb 20, 2025
11c8256
Merge branch 'zachg/baggage_support' of github.com:DataDog/dd-trace-r…
ZStriker19 Feb 20, 2025
166ea2e
update encoding to fit system-tests
ZStriker19 Feb 20, 2025
53087f8
init new TraceOperation for baggage if there is no active_trace already
ZStriker19 Feb 20, 2025
ec0d718
handle the potential of setting baggage before active trace
ZStriker19 Mar 12, 2025
3b1d0a3
don't parse any baggage if malformed items
ZStriker19 Mar 13, 2025
eb4bde6
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 13, 2025
9ec3406
syntax recs
ZStriker19 Mar 13, 2025
641fc9f
ensure valid keys and values while encoding for inject
ZStriker19 Mar 13, 2025
2af054b
Merge branch 'zachg/baggage_support' into zachg/baggage_otel_api
ZStriker19 Mar 13, 2025
ef24446
first full implementation and tests
ZStriker19 Mar 13, 2025
0c3910b
update docstring
ZStriker19 Mar 13, 2025
7b19184
[NO-TICKET] Fix profiling flaky tests due to monotonic-to-system cloc…
ivoanjo Mar 14, 2025
7fbe7b8
docstring for baggage, resolving comments
ZStriker19 Mar 14, 2025
be1a49c
Merge branch 'zachg/baggage_support' into zachg/baggage_otel_api
ZStriker19 Mar 14, 2025
5b99284
typing for steepcheck
ZStriker19 Mar 14, 2025
9809c3f
update tests
ZStriker19 Mar 14, 2025
45a1518
document bagage methods better
ZStriker19 Mar 14, 2025
a1a727b
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 14, 2025
cba6d6e
patch baggage otel class
ZStriker19 Mar 14, 2025
917a711
need to fix two tests still
ZStriker19 Mar 14, 2025
f02fc4c
Bump the gh-actions-packages group across 1 directory with 2 updates
dependabot[bot] Mar 17, 2025
f9d6f18
Merge branch 'master' into dependabot/github_actions/gh-actions-packa…
TonyCTHsu Mar 17, 2025
087b856
refactor
ZStriker19 Mar 17, 2025
8efab4f
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 17, 2025
fe971d7
Merge pull request #4371 from DataDog/zachg/baggage_support
ZStriker19 Mar 17, 2025
6bfa046
revert baggage pr merge
ZStriker19 Mar 17, 2025
c733ba6
revert baggage pr merge (#4504)
ZStriker19 Mar 17, 2025
47152f2
Merge branch 'master' of github.com:DataDog/dd-trace-rb
ZStriker19 Mar 17, 2025
874e602
Update rubocop for ruby 2.7+ (#4448)
p-datadog Mar 17, 2025
9f082c5
use URI, fix typing issue, update log message
ZStriker19 Mar 17, 2025
cf70019
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 17, 2025
d4acb77
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 17, 2025
8577dca
syntax
ZStriker19 Mar 17, 2025
75d8fc4
Merge branch 'master' of github.com:DataDog/dd-trace-rb
ZStriker19 Mar 17, 2025
21583c2
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 17, 2025
cdfb9e6
syntax
ZStriker19 Mar 17, 2025
5e223c5
Add byebug to configurations referencing debug (#4503)
p-datadog Mar 18, 2025
9e655a8
remove unusured import and comment, do not init baggage on traceop init
ZStriker19 Mar 18, 2025
1810659
Merge branch 'zachg/baggage_support' into zachg/baggage_otel_api
ZStriker19 Mar 18, 2025
7d88b81
lock steep to 1.9.x (#4510)
p-datadog Mar 18, 2025
7ca2b63
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 18, 2025
0e2b32c
Add SerializableBacktrace for serializing stack trace
y9v Mar 13, 2025
e5aafee
Add configuration for stack trace max depth and top percentage
y9v Mar 14, 2025
531efb6
Add specs for AppSec stack trace collection config
y9v Mar 14, 2025
fa94230
Add type signatures for ActionsHandler::SerializableBacktrace
y9v Mar 14, 2025
05ddede
Add logic of writing serializable stack trace to metastruct
y9v Mar 18, 2025
ef00489
Fix stack trace reporting via metatrace
y9v Mar 18, 2025
d234fef
Add usr.login to Kit::AppSec::Events
Strech Mar 18, 2025
cbd2721
Fix apm disablement tag when appsec is disabled
vpellan Feb 24, 2025
df380fb
Add method to skip upstream sampling priority
vpellan Mar 5, 2025
e16e109
Add APM disablement integration tests
vpellan Mar 5, 2025
0dcfc6c
Fix propagate_sampling_priority with no upstream_tags
vpellan Mar 6, 2025
247a628
Fix asm standalone integration tests
vpellan Mar 6, 2025
d603133
Remove appsec_standalone_reject method
vpellan Mar 6, 2025
477668a
Skip distributed tracing if APM is disabled on all HTTP/GRPC/Sidekiq …
vpellan Mar 7, 2025
39256eb
Delete unnecessary default sample rate (as we match all traces agains…
vpellan Mar 7, 2025
4dc496a
Add test to check heartbeat traces
vpellan Mar 7, 2025
2971a23
Fix Datadog-Computed-Client-Stats tests
vpellan Mar 7, 2025
d206fb2
Simplify Datadog-Client-Computed-Stats test
vpellan Mar 7, 2025
844279b
Add separate method to generate APM disablement post_sampler
vpellan Mar 10, 2025
dd8e5d2
Cleaned appsec standalone tests for rack
vpellan Mar 10, 2025
f0117e4
Delete ASM Standalone tests on Rails and Sinatra (ASM Standalone has …
vpellan Mar 10, 2025
0ee8566
Remove forced-tests from git conflict resolution
vpellan Mar 10, 2025
edec9f5
Rename build_above_second_post_sampler to build_rate_limit_post_sampler
vpellan Mar 11, 2025
71a940a
Move before block in context
vpellan Mar 11, 2025
554c409
Rubocop
vpellan Mar 11, 2025
e75c89c
Changed system-tests scenarios to Experimental mode
vpellan Mar 11, 2025
0cbcd34
Add should_skip_distributed_tracing? method
vpellan Mar 12, 2025
bb53227
Fix circuit breaker spec
vpellan Mar 12, 2025
f581672
Fix typo in comment
vpellan Mar 13, 2025
149fbbb
Rename client_config and datadog_config to contrib_*_config
vpellan Mar 13, 2025
4306938
Merge pull request #4508 from DataDog/appsec-57032-add-user-login-to-…
Strech Mar 19, 2025
6c53e33
Rename method to clarify that it doesn't always reset
ivoanjo Mar 19, 2025
144f69b
Merge branch 'master' into ivoanjo/fix-clock-conversion-flaky-specs
ivoanjo Mar 19, 2025
5544d29
Merge pull request #4495 from DataDog/ivoanjo/fix-clock-conversion-fl…
ivoanjo Mar 19, 2025
f5c5f4e
Rename CircuitBreaker.should_skip_distributed_tracing? to SkipPolicy.…
vpellan Mar 19, 2025
e827430
Merge branch 'master' into zachg/baggage_support
ZStriker19 Mar 19, 2025
0236167
Collect headers on request finish for Identity
Strech Mar 12, 2025
d6b3e6d
Merge pull request #4505 from DataDog/zachg/baggage_support
ZStriker19 Mar 19, 2025
872abbc
Change apm_tracing_disabled to apm_tracing_enabled
vpellan Mar 19, 2025
9e4eda6
Add frozen_string_literals in APM Disablement tests
vpellan Mar 19, 2025
58a9761
Merge branch 'master' into appsec-56960-collect-additional-request-he…
Strech Mar 19, 2025
b27ad8d
DEBUG-3568 DRY transport exceptions (#4484)
p-datadog Mar 19, 2025
f151293
Define subject in place in skip_policy_spec
vpellan Mar 19, 2025
ba1bfbf
Fix GRPC distributed tracing skipping
vpellan Mar 19, 2025
4bab1cd
Fix handling of zero limits for AppSec stack trace collection
y9v Mar 19, 2025
bce6c64
DEBUG-3568 DRY transport options, remove HTTP.new method (#4469)
p-datadog Mar 19, 2025
665f668
Merge branch 'master' into appsec-56960-collect-additional-request-he…
Strech Mar 19, 2025
0d8e709
Move frame dropping from SerializableBacktrace initializer
y9v Mar 19, 2025
4f13111
Merge pull request #4527 from DataDog/appsec-56960-collect-additional…
Strech Mar 19, 2025
f0b85e8
Change SkipPolicy.skip? parameters name
vpellan Mar 19, 2025
bf5323c
Use Thread::Backtrace::Location instance double in tests
y9v Mar 19, 2025
1938f14
Merge branch 'master' into vpellan/fix-sca-standalone
vpellan Mar 19, 2025
a04dfda
Add option to override span events serialization (#4507)
marcotc Mar 19, 2025
07852cb
update methods and tests
ZStriker19 Mar 19, 2025
a5aaa4b
Merge branch 'master' into zachg/baggage_otel_api
ZStriker19 Mar 19, 2025
fea594d
Revert adding rack in ruby-3.3.gemfile
vpellan Mar 19, 2025
7cd23e8
linting and rbs file
ZStriker19 Mar 19, 2025
92d1843
Merge branch 'zachg/baggage_otel_api' of github.com:DataDog/dd-trace-…
ZStriker19 Mar 19, 2025
8728d96
rbs
ZStriker19 Mar 19, 2025
f723c82
use untyped for rbs Context object
ZStriker19 Mar 19, 2025
97354cd
Merge pull request #4526 from DataDog/appsec-stack-trace-reporting
y9v Mar 20, 2025
b9185f5
Merge branch 'master' into dependabot/github_actions/gh-actions-packa…
TonyCTHsu Mar 20, 2025
1c8e284
Merge pull request #4500 from DataDog/dependabot/github_actions/gh-ac…
TonyCTHsu Mar 20, 2025
9201090
fix rubocop and standard linting battle
ZStriker19 Mar 20, 2025
b2c1370
Merge branch 'master' into zachg/baggage_otel_api
ZStriker19 Mar 20, 2025
9b0476b
update ddtags to align with other sdks
mabdinur Mar 19, 2025
012b762
fix for 2.6 and 2.7
ZStriker19 Mar 20, 2025
498e925
typing
ZStriker19 Mar 20, 2025
8ef0a67
touch up types
ZStriker19 Mar 20, 2025
dc106cf
update default
mabdinur Mar 20, 2025
146df88
Merge pull request #4493 from DataDog/zachg/baggage_otel_api
ZStriker19 Mar 20, 2025
e9ace02
Add devise gem to the matrix as min/latest
Strech Mar 12, 2025
50eecd2
[🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/r…
Strech Mar 21, 2025
ff67d53
[🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/r…
TonyCTHsu Mar 21, 2025
535244c
Merge pull request #4529 from DataDog/appsec-57042-update-devise-gem-…
Strech Mar 21, 2025
d685456
fix failing tests
mabdinur Mar 21, 2025
ce1292d
fix failing tests
mabdinur Mar 21, 2025
460f9e0
update one more test
mabdinur Mar 21, 2025
5dae125
fix helper
mabdinur Mar 21, 2025
f2af53f
fmt
mabdinur Mar 21, 2025
3a97563
make this more concise
mabdinur Mar 21, 2025
4c220be
fix double wrap
mabdinur Mar 21, 2025
785c64b
remove redundant to_s
mabdinur Mar 21, 2025
02deec3
rename function
mabdinur Mar 21, 2025
366b434
Add comment to explain build_rate_limit_post_sampler
vpellan Mar 24, 2025
ab38041
Rename SkipPolicy.skip? to PropagationPolicy.enabled? and inverted it…
vpellan Mar 24, 2025
9712b3f
Add guard clause if Tracing is disabled in PropagationPolicy.enabled?
vpellan Mar 24, 2025
2eac1e8
Invert check order for PropagationPolicy.enabled?
vpellan Mar 24, 2025
41d76f4
fix broken logger test
mabdinur Mar 24, 2025
32cb25a
fix 128bit logging edge case
mabdinur Mar 24, 2025
c433494
Add appsec_enabled method in tracer
vpellan Mar 24, 2025
c727d6a
Apply comment suggestions
vpellan Mar 24, 2025
913522f
Fix steep error for Tracing.enabled?
vpellan Mar 24, 2025
855b4ab
Update lib/datadog/tracing/distributed/datadog.rb
mabdinur Mar 24, 2025
f8005b9
Merge pull request #4530 from DataDog/munir/update-ddtags
mabdinur Mar 24, 2025
88a2db6
Merge pull request #4534 from DataDog/munir/fix-128-trace-id-validations
mabdinur Mar 24, 2025
a72fca5
Adjust build coverage matrix method
Strech Mar 25, 2025
151553e
[🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/r…
Strech Mar 25, 2025
39172da
DEBUG-3568 Remove transport API instance/spec branching (#4480)
p-datadog Mar 25, 2025
7dc9766
Add Rack integration tests with deny/pass list
Strech Mar 25, 2025
e54dfda
Merge pull request #4535 from DataDog/add-meta-version-into-build-matrix
Strech Mar 25, 2025
849baad
Merge pull request #4536 from DataDog/add-passlist-and-denylist-integ…
Strech Mar 25, 2025
0f21972
don't cache logger
ZStriker19 Mar 25, 2025
560d6ba
Add a new experimental flag DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED …
zacharycmontoya Mar 25, 2025
839e483
Add comment to explain apm_tracing_enabled
vpellan Mar 26, 2025
ef85993
Merge pull request #4479 from DataDog/vpellan/fix-sca-standalone
vpellan Mar 26, 2025
93f92af
Update libddwaf dependency to 1.21.0.0.1
y9v Mar 25, 2025
44c1f87
Update gemfile.lock for devise min in Ruby 2.5 and 2.6
y9v Mar 26, 2025
f55aafb
[🤖] Lock Dependency: https://github.com/DataDog/dd-trace-rb/actions/r…
y9v Mar 26, 2025
b17dba9
Changed c.appsec.standalone.enabled to c.apm.tracing.enabled
vpellan Mar 14, 2025
709af2b
Change dd.p.appsec to dd.p.ts bitmask
vpellan Mar 18, 2025
5c51119
Add set_distributed_source spec
vpellan Mar 18, 2025
e532928
Replace experimental APM disablement system-tests with V2 tests
vpellan Mar 18, 2025
6f2d92a
Fix conflict merging issues
vpellan Mar 19, 2025
18a0a6d
Merge pull request #4537 from DataDog/appsec-update-libddwaf-to-1-21
y9v Mar 26, 2025
6a5300b
Move to nixpkgs 24.11 release
lloeki Mar 18, 2025
93bd5f1
Update ruby, clang, gcc in nix shell
lloeki Mar 18, 2025
aefb4a1
Use pinned clang (via llvm)
lloeki Mar 18, 2025
ed0126c
Add more Ruby versions to devshells
lloeki Mar 18, 2025
0c03ef4
Factor out deps
lloeki Mar 18, 2025
18c76ce
Find `datadog` spec even when extensions are not built
lloeki Mar 26, 2025
f057d9f
Fix and improve PropagationPolicy.enabled? after rebase to master
vpellan Mar 26, 2025
e3b94b8
Merge pull request #4538 from DataDog/zachg/avoid_caching_logger_inst…
ZStriker19 Mar 27, 2025
2398051
Rename AppSec::Ext::PRODUCT_BIT_APPSEC to AppSec::Ext::PRODUCT_BIT
vpellan Mar 27, 2025
da349c6
Add comments for DD_APM_TRACING_ENABLED
vpellan Mar 27, 2025
8a6e86a
Add documentation for DD_APM_TRACING_ENABLED
vpellan Mar 27, 2025
1fa3344
Merge pull request #4511 from DataDog/lloeki/update-nix
lloeki Mar 27, 2025
7c06def
Change names of #set_distributed_source tests and test with 32 bit
vpellan Mar 27, 2025
20fc935
remove spec mocking
mabdinur Mar 27, 2025
5c65c0c
format for correlation
mabdinur Mar 27, 2025
3e2d0d1
Update docs/GettingStarted.md
vpellan Mar 27, 2025
c0a829b
DEBUG-3568 Inject logger into transport code (#4487)
p-datadog Mar 27, 2025
3e1dd58
Add RBS for `Datadog::Tracing.correlation`
euglena1215 Mar 16, 2025
7c1b8f5
enable type checking of the changed files
p Mar 27, 2025
ba3bf08
regenerate these files keeping the existing types
p Mar 27, 2025
9d54d42
regenerate
p Mar 27, 2025
1769d01
make steep happy
p Mar 27, 2025
641d1b9
block argument to continue_trace! is optional
p Mar 27, 2025
7700190
Merge pull request #4498 from DataDog/vpellan/apm-disablement-v2
vpellan Mar 27, 2025
afad677
Merge pull request #4499 from euglena1215/add-correlation-rbs
marcotc Mar 27, 2025
58da147
Update CODEOWNERS
marcotc Mar 27, 2025
679838e
Merge pull request #4542 from DataDog/marcotc/tracing-owners
sarahchen6 Mar 28, 2025
e239a85
Merge pull request #4528 from DataDog/munir/enable-128bit-logging-by-…
mabdinur Mar 28, 2025
e26fe3c
Reproducer for loading core only and configuring the library
p Mar 30, 2025
b91e0ad
add format_trace_id_128 to types
p Mar 30, 2025
48f0a70
Fix a warning in AppSec::ActionsHandler::SerializableBacktrace
y9v Mar 31, 2025
fda0cae
Merge pull request #4548 from DataDog/appsec-fix-regex-warning
y9v Mar 31, 2025
b539362
Merge pull request #4545 from DataDog/fix-type-check
TonyCTHsu Mar 31, 2025
5a26ab5
Rename registration into singup tracking
Strech Feb 14, 2025
732a43d
Rename authentication into signin
Strech Feb 14, 2025
9e7154f
Rename rememberable into skip signin tracking
Strech Feb 14, 2025
903b615
Split devise integration tests into 3 scenarios
Strech Feb 17, 2025
2e05e74
Delete unused classes and modules
Strech Feb 18, 2025
aeada0f
Add signin tracking scenario with HTTP-based auth
Strech Feb 19, 2025
c30f2b8
Rename Patcher patches into Patches instead
Strech Feb 21, 2025
3a25cb7
Add authenticated user tracking implementation
Strech Feb 20, 2025
f26ed7c
Add tests for SDK and automated instrumentation
Strech Feb 25, 2025
3949228
Set AppSec collection mode tag in identity kit
Strech Feb 25, 2025
e4aa734
Update auto_user_instrumentation configuration
Strech Feb 26, 2025
8d20cac
Add Devise::DataExtractor to extract id and login
Strech Feb 26, 2025
153fccf
Refactor Devise patches and middleware
Strech Feb 27, 2025
36b9703
Adjust AppSec::Anonymizer interface
Strech Feb 27, 2025
add2fbb
Add libddwaf into user tracking
Strech Feb 28, 2025
894e7cf
Add multi-user support in signin/signup tracking
Strech Feb 28, 2025
326e597
Change login success/failure by set usr.login
Strech Mar 4, 2025
e5a4fc8
Switch into update system-tests
Strech Mar 4, 2025
48779d3
Add debug logging into patches and middleware
Strech Mar 12, 2025
45ba3b5
Push AppSec identity event into gateway
Strech Mar 12, 2025
e0745ff
Add prefix in ID extraction for Hash-like objects
Strech Mar 12, 2025
aefe95d
Fix gateway push of identity.set_user
Strech Mar 20, 2025
526c93d
Add signature for devise tracking middleware
Strech Mar 21, 2025
1e96189
Improve devise instrumentation
Strech Mar 21, 2025
905407c
Add telemetry to tracking middleware patcher
Strech Mar 27, 2025
871297f
Merge branch 'master' into repro-core-loading
p-datadog Mar 31, 2025
25669fd
Fix warnings in DI and tracing generated with -w (#4547)
p-datadog Mar 31, 2025
1f877ff
Fix method override warning in profiler (#4549)
p-datadog Mar 31, 2025
23fb133
Merge pull request #4433 from DataDog/appsec-56683-change-devise-auto…
Strech Mar 31, 2025
1e58013
Merge pull request #4544 from DataDog/repro-core-loading
vpellan Apr 1, 2025
d5d0b43
Add 2.13.0 to CHANGELOG.md
vpellan Apr 2, 2025
38d2d1a
Bump version 2.12.2 to 2.13.0
vpellan Apr 2, 2025
e79da21
Update lockfiles for release 2.13.0
vpellan Apr 2, 2025
7014021
Merge pull request #4553 from DataDog/bump_to_version_2.13.0
vpellan Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ docs/GettingStarted.md @DataDog/documentation
lib/datadog/appsec/ @DataDog/asm-ruby
lib/datadog/appsec.rb @DataDog/asm-ruby
lib/datadog/tracing/ @DataDog/tracing-ruby
lib/datadog/tracing/contrib/ @DataDog/apm-idm-ruby
lib/datadog/tracing/contrib/ @DataDog/tracing-ruby
lib/datadog/tracing.rb @DataDog/tracing-ruby
lib/datadog/opentelemetry/ @DataDog/tracing-ruby
lib/datadog/opentelemetry.rb @DataDog/tracing-ruby
Expand All @@ -21,7 +21,7 @@ ext/ @DataDog/profiling-rb @DataDog/ruby-guild
sig/datadog/appsec/ @DataDog/asm-ruby
sig/datadog/appsec.rbs @DataDog/asm-ruby
sig/datadog/tracing/ @DataDog/tracing-ruby
sig/datadog/tracing/contrib/ @DataDog/apm-idm-ruby
sig/datadog/tracing/contrib/ @DataDog/tracing-ruby
sig/datadog/tracing.rbs @DataDog/tracing-ruby
sig/datadog/opentelemetry/ @DataDog/tracing-ruby
sig/datadog/opentelemetry.rbs @DataDog/tracing-ruby
Expand All @@ -31,7 +31,7 @@ sig/datadog/profiling.rbs @DataDog/profiling-rb @DataDog/ruby-guild
# Specs
spec/datadog/appsec/ @DataDog/asm-ruby
spec/datadog/tracing/ @DataDog/tracing-ruby
spec/datadog/tracing/contrib/ @DataDog/apm-idm-ruby
spec/datadog/tracing/contrib/ @DataDog/tracing-ruby
spec/datadog/tracing_spec.rb @DataDog/tracing-ruby
spec/datadog/opentelemetry/ @DataDog/tracing-ruby
spec/datadog/opentelemetry_spec.rb @DataDog/tracing-ruby
Expand Down
9 changes: 7 additions & 2 deletions .github/forced-tests-list.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
{

}
"SCA_STANDALONE": [
"tests/appsec/test_asm_standalone.py::Test_SCAStandalone_Telemetry_V2"
],
"APPSEC_STANDALONE": [
"tests/appsec/test_asm_standalone.py::Test_AppSecStandalone_UpstreamPropagation_V2"
]
}
4 changes: 2 additions & 2 deletions .github/workflows/build-gem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: '3.2'
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
- name: List gem
run: |
find pkg
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: '3.2'
- name: Install gem
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate-supported-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
persist-credentials: false

- name: Set up Ruby
uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: "3.3"

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: '3.3.7'

Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
with:
persist-credentials: false # `rubygems/release-gem` action handles credentials itself
- name: Set up Ruby
uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: '3.3.7'
- run: bundle install
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
persist-credentials: false
fetch-depth: 0
- name: Set up Ruby
uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: '3.3.7'
- run: bundle install
Expand Down
21 changes: 13 additions & 8 deletions .github/workflows/system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ permissions: {}
env:
REGISTRY: ghcr.io
REPO: ghcr.io/datadog/dd-trace-rb
SYSTEM_TESTS_REF: main # This must always be set to `main` on dd-trace-rb's master branch
SYSTEM_TESTS_REF: appsec-56683-rewrite-rails-devise-application

jobs:
changes:
Expand Down Expand Up @@ -76,7 +76,7 @@ jobs:
ref: ${{ env.SYSTEM_TESTS_REF }}
persist-credentials: false
- name: Login to Docker Hub
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand All @@ -97,7 +97,7 @@ jobs:
run: |
docker image list
- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:
printf "\nEOF\n"
} >> "$GITHUB_OUTPUT"
- name: Login to Docker Hub
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand All @@ -197,7 +197,7 @@ jobs:
docker pull "${{ env.REPO }}/system-tests/${{ matrix.library.name }}/${{ matrix.image }}-${{ matrix.app }}:g${sha}" || true
done
- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
Expand Down Expand Up @@ -268,7 +268,6 @@ jobs:
- APPSEC_DISABLED
- APPSEC_BLOCKING_FULL_DENYLIST
- APPSEC_REQUEST_BLOCKING
- APPSEC_STANDALONE
- APPSEC_BLOCKING
include:
- library: ruby
Expand Down Expand Up @@ -325,6 +324,12 @@ jobs:
- library: ruby
app: rails70
scenario: DEBUGGER_PII_REDACTION
- library: ruby
app: rails70
scenario: SCA_STANDALONE
- library: ruby
app: rails70
scenario: APPSEC_STANDALONE
- library: ruby
app: rack
scenario: SAMPLING
Expand Down Expand Up @@ -359,7 +364,7 @@ jobs:
ref: ${{ env.SYSTEM_TESTS_REF }}
persist-credentials: false
- name: Login to Docker Hub
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down Expand Up @@ -493,7 +498,7 @@ jobs:
name: Cleanup (${{ matrix.image }})
steps:
- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
# head rubies
- if: ${{ matrix.ruby == 'head' }}
run: sed -i~ -e '/spec\.required_ruby_version/d' datadog.gemspec
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: ${{ matrix.ruby }}
rubygems: 3.3.26
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-memory-leaks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: 3.4.1
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
Expand All @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # Adds 3.4-asan builds
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # Adds 3.4-asan builds
with:
ruby-version: 3.4-asan
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-yjit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
# head rubies
- if: ${{ matrix.ruby == 'head' }}
run: sed -i~ -e '/spec\.required_ruby_version/d' datadog.gemspec
- uses: ruby/setup-ruby@bbda85882f33075a3727c01e3c8d0de0be6146ce # v1.224.0
- uses: ruby/setup-ruby@922ebc4c5262cd14e07bb0e1db020984b6c064fe # v1.226.0
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
Expand Down
9 changes: 9 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,11 @@ Performance/Squeeze: # (new in 1.7)
Enabled: true
Performance/StringInclude: # (new in 1.7)
Enabled: true
# These complain about strings that contain interpolation, demanding
# additional conversion to symbol which is extra overhead:
# https://github.com/rubocop/rubocop/issues/13955
Performance/StringIdentifierArgument:
Enabled: false

# Requires Ruby 2.2
Style/HashSyntax:
Expand Down Expand Up @@ -379,6 +384,10 @@ RSpec/DescribeClass:
RSpec/LetSetup:
Enabled: false

# Botches example descriptions. https://github.com/rubocop/rubocop/issues/13956
RSpec/ExampleWording:
Enabled: false

# Identifies where `fetch(key) { value }` can be replaced by `fetch(key, value)`.
# Can't differentiate between `Hash#fetch` and `RailsCache#fetch`,
# passing in wrong parameters to these methods.
Expand Down
5 changes: 5 additions & 0 deletions .standard_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ ignore:
- Style/TrailingCommaInArrayLiteral
- Style/TrailingCommaInHashLiteral
- Style/StringLiterals
# These complain about strings that contain interpolation, demanding
# additional conversion to symbol which is extra overhead:
# https://github.com/rubocop/rubocop/issues/13955
- Performance/StringIdentifierArgument

# This disables standardrb for the rest of dd-trace-rb (other than profiling)
- .pryrc
Expand Down Expand Up @@ -40,6 +44,7 @@ ignore:
- spec/datadog/core/**/**
- spec/datadog/di/integration/*_test_class*.rb
- spec/datadog/kit/**/**
- spec/datadog/opentelemetry/**/**
- spec/datadog/tracing/**/**
- spec/support/**/**
- tasks/**/**
Expand Down
37 changes: 36 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,28 @@

## [Unreleased]

## [2.13.0] - 2025-04-02

### Added

* Core: Add `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` experimental option to enable runtime ID collection for runtime metrics. ([#4473][])
* Tracing: Add support for W3C Baggage API along with automatic extraction and injection, and OpenTelemetry support. ([#4493][], [#4505][])
* Tracing: Add `DD_APM_TRACING_ENABLED` option to disable APM tracing while keeping other products traces. ([#4498][])
* Tracing: Add `DD_TRACE_NATIVE_SPAN_EVENTS` option to override span events serialization for agent-less environments. ([#4507][])
* AppSec: Add stack trace reporting for security events. ([#4526][])
* AppSec: Improve `devise` instrumentation to support latest Account Takeover (ATO) detection. ([#4433][])

### Changed

* Core: Improve `DD_TAGS` configuration handling to be more consistent across Datadog libraries and Agent. ([#4530][])
* Tracing: Enable by default 128-bit trace ID logging so that trace IDs are consistent across logs and the Datadog UI. ([#4528][])

### Fixed

* Core: Fix initialization when the library is partially loaded. ([#4498][])
* Tracing: Fix trace ID propagation by ensuring extraction of 16-character hex values from the `_dd.p.tid` tag in `x-datadog-tags` header. ([#4534][])
* Tracing: Profiling: Fix warnings printed by `ruby -w`. ([#4547][], [#4549][])

## [2.12.2] - 2025-03-17

### Fixed
Expand Down Expand Up @@ -3145,7 +3167,8 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1


[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.2...master
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v2.13.0...master
[2.13.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.2...v2.13.0
[2.12.2]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.1...v2.12.2
[2.12.1]: https://github.com/DataDog/dd-trace-rb/compare/v2.12.0...v2.12.1
[2.12.0]: https://github.com/DataDog/dd-trace-rb/compare/v2.11.0...v2.12.0
Expand Down Expand Up @@ -4649,8 +4672,20 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
[#4424]: https://github.com/DataDog/dd-trace-rb/issues/4424
[#4425]: https://github.com/DataDog/dd-trace-rb/issues/4425
[#4426]: https://github.com/DataDog/dd-trace-rb/issues/4426
[#4433]: https://github.com/DataDog/dd-trace-rb/issues/4433
[#4437]: https://github.com/DataDog/dd-trace-rb/issues/4437
[#4473]: https://github.com/DataDog/dd-trace-rb/issues/4473
[#4493]: https://github.com/DataDog/dd-trace-rb/issues/4493
[#4497]: https://github.com/DataDog/dd-trace-rb/issues/4497
[#4498]: https://github.com/DataDog/dd-trace-rb/issues/4498
[#4505]: https://github.com/DataDog/dd-trace-rb/issues/4505
[#4507]: https://github.com/DataDog/dd-trace-rb/issues/4507
[#4526]: https://github.com/DataDog/dd-trace-rb/issues/4526
[#4528]: https://github.com/DataDog/dd-trace-rb/issues/4528
[#4530]: https://github.com/DataDog/dd-trace-rb/issues/4530
[#4534]: https://github.com/DataDog/dd-trace-rb/issues/4534
[#4547]: https://github.com/DataDog/dd-trace-rb/issues/4547
[#4549]: https://github.com/DataDog/dd-trace-rb/issues/4549
[@AdrianLC]: https://github.com/AdrianLC
[@Azure7111]: https://github.com/Azure7111
[@BabyGroot]: https://github.com/BabyGroot
Expand Down
5 changes: 4 additions & 1 deletion Matrixfile
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,10 @@
'sinatra-4' => '❌ 2.5 / ❌ 2.6 / ❌ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby',
},
'appsec:devise' => {
'' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby'
# NOTE: JRuby bundler failed to install some dependencies https://github.com/ruby/psych/issues/700
# and it could be re-enabled when upstream fix the issue
'devise-min' => '✅ 2.5 / ✅ 2.6 / ❌ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ 3.3 / ❌ 3.4 / ❌ jruby',
'devise-latest' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ❌ jruby'
},
'appsec:rails' => {
'rails4-mysql2' => '✅ 2.5 / ❌ 2.6 / ❌ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ 3.3 / ❌ 3.4 / ❌ jruby',
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace :test do
RuntimeMatcher.match?(rubies)
end

candidates.each do |group, _|
candidates.each_key do |group|
env = if group.empty?
{}
else
Expand Down
9 changes: 7 additions & 2 deletions Steepfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ target :datadog do
ignore 'lib/datadog/core/metrics/options.rb'
# steep fails in this file due to https://github.com/soutaro/steep/issues/1231
ignore 'lib/datadog/core/remote/tie.rb'
# steep gets lost in module inclusions
ignore 'lib/datadog/core/remote/transport/http/config.rb'
ignore 'lib/datadog/core/remote/transport/http/negotiation.rb'
ignore 'lib/datadog/core/runtime/ext.rb'
ignore 'lib/datadog/core/runtime/metrics.rb'
ignore 'lib/datadog/core/transport/http/adapters/net.rb'
Expand All @@ -95,6 +98,10 @@ target :datadog do
ignore 'lib/datadog/di/transport/http/api.rb'
ignore 'lib/datadog/di/transport/http/diagnostics.rb'
ignore 'lib/datadog/di/transport/http/input.rb'
# steep thinks the type of the class is 'self', whatever that is,
# and then complains that this type doesn't have any methods including
# language basics like 'send' and 'raise'.
ignore 'lib/datadog/di/probe_notifier_worker.rb'
ignore 'lib/datadog/kit/appsec/events.rb' # disabled because of https://github.com/soutaro/steep/issues/701
ignore 'lib/datadog/kit/identity.rb' # disabled because of https://github.com/soutaro/steep/issues/701
ignore 'lib/datadog/opentelemetry.rb'
Expand All @@ -108,15 +115,13 @@ target :datadog do
ignore 'lib/datadog/profiling/scheduler.rb'
ignore 'lib/datadog/profiling/tag_builder.rb'
ignore 'lib/datadog/profiling/tasks/setup.rb'
ignore 'lib/datadog/tracing.rb'
ignore 'lib/datadog/tracing/buffer.rb'
ignore 'lib/datadog/tracing/client_ip.rb'
ignore 'lib/datadog/tracing/component.rb'
ignore 'lib/datadog/tracing/configuration/ext.rb'
ignore 'lib/datadog/tracing/configuration/settings.rb'
ignore 'lib/datadog/tracing/context.rb'
ignore 'lib/datadog/tracing/contrib/'
ignore 'lib/datadog/tracing/correlation.rb'
ignore 'lib/datadog/tracing/diagnostics/environment_logger.rb'
ignore 'lib/datadog/tracing/diagnostics/health.rb'
ignore 'lib/datadog/tracing/distributed/datadog.rb'
Expand Down
Loading
Loading