Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
8de63e3
Add CSS obfuscation test
Eldolfin Mar 31, 2026
1a547c7
fix: fmt + don't assert the number of hits
Eldolfin Mar 31, 2026
59964e3
feat: add tests for CSS obfuscation where agent version > sdk version
Eldolfin Apr 2, 2026
7091a66
fix: assert header is >= 1 for later
Eldolfin Apr 2, 2026
f2423d9
fix: fmt
Eldolfin Apr 2, 2026
ae08cbb
feat: add css obfuscation test with config
Eldolfin Apr 3, 2026
be8a29c
fix: ci, rename obfuscation_disabled
Eldolfin Apr 12, 2026
47c6904
fix: disabled test wrong env and quotes in values
Eldolfin Apr 13, 2026
cc4a3e2
fix: remove useless fixmes
Eldolfin Apr 14, 2026
76be75f
fix: assert len(sql_stats) == 4
Eldolfin Apr 14, 2026
c5b16ba
fix: revert assert len(sql_stats) == 4 because they should be aggregated
Eldolfin May 7, 2026
b9fdb19
feat: add tests for obfuscation_version = 0 and missing
Eldolfin May 7, 2026
35a38e2
fix: fmt
Eldolfin May 7, 2026
cb6da35
feat: enable css obfuscation tests for python
Eldolfin Jun 2, 2026
bd96e87
fix: fmt
Eldolfin Jun 2, 2026
1fcdc3a
fix(ci): add new scenarios to run-end-to-end workflow
Eldolfin Jun 4, 2026
ad24599
fix: ci
Eldolfin Jun 4, 2026
e58ae7a
fix(manifests): disable css obfuscation tests for all but python
Eldolfin Jun 4, 2026
cf97552
fix: allow more than 4 entries when no obfuscation is done
Eldolfin Jun 5, 2026
e2c0e37
fix(stats): narrow SQL filter to avoid false positives from SQLite in…
Eldolfin Jun 5, 2026
45e38cc
fix(stats): narrow SQL filter in obfuscation tests to exclude ORM que…
Eldolfin Jun 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/run-end-to-end.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,18 @@ jobs:
- name: Run TRACE_STATS_COMPUTATION scenario
if: steps.build.outcome == 'success' && !cancelled() && contains(inputs.scenarios, '"TRACE_STATS_COMPUTATION"')
run: ./run.sh TRACE_STATS_COMPUTATION
- name: Run TRACE_STATS_COMPUTATION_OBFUSCATION_DISABLED scenario
if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"TRACE_STATS_COMPUTATION_OBFUSCATION_DISABLED"')
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve failure gating for obfuscation scenario steps

In this workflow section, the existing scenario steps use the default successful-previous-steps gating plus !cancelled(), but these new steps add always() and omit !cancelled(). GitHub Actions treats always() as a status override, so when an earlier scenario in this job fails or a run is cancelled, these obfuscation scenarios can still start instead of skipping like the surrounding scenario steps, wasting CI time and making cancellations less responsive. Use the same steps.build.outcome == 'success' && !cancelled() && ... pattern unless these are intentionally post-failure cleanup steps.

Useful? React with 👍 / 👎.

run: ./run.sh TRACE_STATS_COMPUTATION_OBFUSCATION_DISABLED
- name: Run TRACE_STATS_COMPUTATION_FUTURE_OBFUSCATION_VERSION scenario
if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"TRACE_STATS_COMPUTATION_FUTURE_OBFUSCATION_VERSION"')
run: ./run.sh TRACE_STATS_COMPUTATION_FUTURE_OBFUSCATION_VERSION
- name: Run TRACE_STATS_COMPUTATION_MISSING_OBFUSCATION_VERSION scenario
if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"TRACE_STATS_COMPUTATION_MISSING_OBFUSCATION_VERSION"')
run: ./run.sh TRACE_STATS_COMPUTATION_MISSING_OBFUSCATION_VERSION
- name: Run TRACE_STATS_COMPUTATION_OBFUSCATION_VERSION_ZERO scenario
if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"TRACE_STATS_COMPUTATION_OBFUSCATION_VERSION_ZERO"')
run: ./run.sh TRACE_STATS_COMPUTATION_OBFUSCATION_VERSION_ZERO
- name: Run IAST_STANDALONE scenario
if: steps.build.outcome == 'success' && !cancelled() && contains(inputs.scenarios, '"IAST_STANDALONE"')
run: ./run.sh IAST_STANDALONE
Expand Down
5 changes: 5 additions & 0 deletions manifests/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,11 @@ manifest:
tests/parametric/test_tracer_flare.py::TestTracerFlareV1::test_tracer_flare_content_with_debug: missing_feature # Created by easy win activation script
tests/parametric/test_tracer_flare.py::TestTracerFlareV1::test_tracer_flare_with_debug: missing_feature # Created by easy win activation script
tests/parametric/test_tracer_flare.py::TestTracerFlareV1::test_tracer_profiling_notracing_flare_content: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_library_conf.py::Test_ExtractBehavior_Default::test_multiple_tracecontexts: missing_feature (baggage is not implemented, also remove DD_TRACE_PROPAGATION_STYLE_EXTRACT workaround in containers.py)
tests/test_library_conf.py::Test_ExtractBehavior_Default::test_single_tracecontext: missing_feature (baggage is not implemented, also remove DD_TRACE_PROPAGATION_STYLE_EXTRACT workaround in containers.py)
Expand Down
5 changes: 5 additions & 0 deletions manifests/cpp_httpd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,11 @@ manifest:
tests/stats/test_stats.py::Test_Client_Stats::test_is_trace_root: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Client_Stats::test_obfuscation: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Client_Stats::test_top_level_service: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Peer_Tags: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/stats/test_stats.py::Test_Time_Bucketing::test_client_side_stats: missing_feature # Created by easy win activation script
Expand Down
5 changes: 5 additions & 0 deletions manifests/cpp_nginx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,11 @@ manifest:
tests/stats/test_stats.py::Test_Client_Stats::test_is_trace_root: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Client_Stats::test_obfuscation: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Client_Stats::test_top_level_service: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Peer_Tags: missing_feature # Created by easy win activation script
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/stats/test_stats.py::Test_Time_Bucketing::test_client_side_stats: missing_feature # Created by easy win activation script
Expand Down
5 changes: 5 additions & 0 deletions manifests/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1067,6 +1067,11 @@ manifest:
- weblog_declaration:
uds: '>=3.43.0'
poc: '>=3.43.0'
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Peer_Tags:
- weblog_declaration:
uds: '>=3.43.0'
Expand Down
5 changes: 5 additions & 0 deletions manifests/golang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1290,6 +1290,11 @@ manifest:
tests/stats/test_stats.py::Test_Client_Drop_P0s::test_client_drop_p0s_false: v2.6.0
tests/stats/test_stats.py::Test_Client_Stats::test_grpc_status_code: irrelevant (variant has no gRPC endpoint)
tests/stats/test_stats.py::Test_Client_Stats::test_top_level_service: missing_feature (Go does not set top-level Service field in stats payload)
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_baggage.py::Test_Baggage_Headers_Api_Datadog: incomplete_test_app (/otel_drop_in_baggage_api_datadog endpoint is not implemented)
tests/test_baggage.py::Test_Baggage_Headers_Api_OTel: incomplete_test_app (/otel_drop_in_baggage_api_otel endpoint is not implemented)
Expand Down
5 changes: 5 additions & 0 deletions manifests/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3925,6 +3925,11 @@ manifest:
- weblog_declaration:
"*": v1.54.0
spring-boot-3-native: missing_feature (rasp endpoint not implemented)
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source:
- weblog_declaration:
"*": v0.0.0
Expand Down
5 changes: 5 additions & 0 deletions manifests/java_otel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ manifest:
tests/parametric/test_tracer.py::Test_ProcessTags_ServiceName: missing_feature
tests/parametric/test_tracer.py::Test_TracerServiceNameSource: irrelevant
tests/parametric/test_tracer.py::Test_TracerUniversalServiceTagging::test_tracer_service_name_environment_variable: "missing_feature (FIXME: library test client sets empty string as the service name)"
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_library_conf.py::Test_HeaderTags_DynamicConfig::test_tracing_client_http_header_tags_apm_multiconfig: missing_feature (APM_TRACING_MULTICONFIG is not supported in any language yet)
tests/test_library_logs.py::Test_NoExceptions::test_dotnet: irrelevant (only for .NET)
Expand Down
5 changes: 5 additions & 0 deletions manifests/nodejs_otel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ manifest:
tests/parametric/test_tracer.py::Test_ProcessTags_ServiceName: missing_feature
tests/parametric/test_tracer.py::Test_TracerServiceNameSource: irrelevant
tests/parametric/test_tracer.py::Test_TracerUniversalServiceTagging::test_tracer_service_name_environment_variable: "missing_feature (FIXME: library test client sets empty string as the service name)"
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_library_conf.py::Test_HeaderTags_DynamicConfig::test_tracing_client_http_header_tags_apm_multiconfig: missing_feature (APM_TRACING_MULTICONFIG is not supported in any language yet)
tests/test_library_logs.py::Test_NoExceptions::test_dotnet: irrelevant (only for .NET)
Expand Down
5 changes: 5 additions & 0 deletions manifests/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -967,6 +967,11 @@ manifest:
tests/stats/test_stats.py::Test_Client_Stats::test_disable: v1.17.0
tests/stats/test_stats.py::Test_Client_Stats::test_grpc_status_code: missing_feature (PHP does not support gRPC)
tests/stats/test_stats.py::Test_Client_Stats::test_obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_baggage.py::Test_Baggage_Headers_Basic: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
tests/test_baggage.py::Test_Baggage_Headers_Malformed: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Expand Down
5 changes: 5 additions & 0 deletions manifests/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2090,6 +2090,11 @@ manifest:
- weblog_declaration:
"*": v2.8.0
tests/stats/test_stats.py::Test_Client_Stats::test_top_level_service: missing_feature (Python does not set top-level Service field in stats payload)
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: '>=4.11.0'
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: '>=4.11.0'
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: '>=4.11.0'
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: '>=4.11.0'
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: '>=4.11.0'
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/stats/test_stats.py::Test_Time_Bucketing::test_client_side_stats_bucket_alignment: # Modified by easy win activation script
- weblog_declaration:
Expand Down
5 changes: 5 additions & 0 deletions manifests/python_lambda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,11 @@ manifest:
tests/parametric/test_tracer.py::Test_ProcessTags_ServiceName: missing_feature
tests/parametric/test_tracer.py::Test_TracerServiceNameSource: irrelevant
tests/parametric/test_tracer.py::Test_TracerUniversalServiceTagging::test_tracer_service_name_environment_variable: "missing_feature (FIXME: library test client sets empty string as the service name)"
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_library_conf.py::Test_HeaderTags_DynamicConfig::test_tracing_client_http_header_tags_apm_multiconfig: missing_feature (APM_TRACING_MULTICONFIG is not supported in any language yet)
tests/test_library_logs.py::Test_NoExceptions::test_dotnet: irrelevant (only for .NET)
Expand Down
5 changes: 5 additions & 0 deletions manifests/python_otel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@ manifest:
tests/parametric/test_tracer.py::Test_ProcessTags_ServiceName: missing_feature
tests/parametric/test_tracer.py::Test_TracerServiceNameSource: irrelevant
tests/parametric/test_tracer.py::Test_TracerUniversalServiceTagging::test_tracer_service_name_environment_variable: "missing_feature (FIXME: library test client sets empty string as the service name)"
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/test_library_conf.py::Test_HeaderTags_DynamicConfig::test_tracing_client_http_header_tags_apm_multiconfig: missing_feature (APM_TRACING_MULTICONFIG is not supported in any language yet)
tests/test_library_logs.py::Test_NoExceptions::test_dotnet: irrelevant (only for .NET)
Expand Down
5 changes: 5 additions & 0 deletions manifests/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2426,6 +2426,11 @@ manifest:
sinatra41: missing_feature
sinatra22: missing_feature
tests/stats/test_stats.py::Test_Client_Stats::test_top_level_service: missing_feature (Ruby does not set top-level Service field in stats payload)
tests/stats/test_stats.py::Test_Client_Stats_Future_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Missing_Obfuscation_Version: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_Obfuscation_Version_Zero: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation: missing_feature
tests/stats/test_stats.py::Test_Client_Stats_With_Client_Obfuscation_Disabled: missing_feature
tests/stats/test_stats.py::Test_Stats_Service_Source: irrelevant (Only implemented for Java)
tests/stats/test_stats.py::Test_Time_Bucketing::test_client_side_stats: # Created by easy win activation script
- weblog_declaration:
Expand Down
Loading
Loading