Skip to content

Commit

Permalink
Merge branch 'main' into christophe-papazian/enable_user_blocking_for…
Browse files Browse the repository at this point in the history
…_python
  • Loading branch information
christophe-papazian authored Jan 31, 2025
2 parents f24caf1 + 8519bfb commit cc3482b
Show file tree
Hide file tree
Showing 51 changed files with 1,416 additions and 310 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ jobs:
build_buddies_images: ${{ contains(github.event.pull_request.labels.*.name, 'build-buddies-images') }}
build_proxy_image: ${{ contains(github.event.pull_request.labels.*.name, 'build-proxy-image') }}
build_lib_injection_app_images: ${{ contains(github.event.pull_request.labels.*.name, 'build-lib-injection-app-images') }}
_experimental_parametric_job_count: ${{ matrix.version == 'dev' && 2 || 1 }} # test both use cases
parametric_job_count: ${{ matrix.version == 'dev' && 2 || 1 }} # test both use cases
skip_empty_scenarios: true

system_tests_docker_mode:
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/compute-workflow-parameters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
description: "Comma-separated list of scenarios groups to run"
type: string
default: ""
_experimental_parametric_job_count:
parametric_job_count:
description: "*EXPERIMENTAL* : How many jobs should be used to run PARAMETRIC scenario"
default: 1
required: false
Expand Down Expand Up @@ -55,9 +55,9 @@ on:
externalprocessing_scenarios:
description: ""
value: ${{ jobs.main.outputs.externalprocessing_scenarios }}
_experimental_parametric_job_matrix:
parametric_job_matrix:
description: ""
value: ${{ jobs.main.outputs._experimental_parametric_job_matrix }}
value: ${{ jobs.main.outputs.parametric_job_matrix }}

jobs:
main:
Expand All @@ -73,7 +73,8 @@ jobs:
opentelemetry_weblogs: ${{ steps.main.outputs.opentelemetry_weblogs }}
parametric_scenarios: ${{ steps.main.outputs.parametric_scenarios }}
externalprocessing_scenarios: ${{ steps.main.outputs.externalprocessing_scenarios }}
_experimental_parametric_job_matrix: ${{ steps.main.outputs._experimental_parametric_job_matrix }}
parametric_job_matrix: ${{ steps.main.outputs.parametric_job_matrix }}
parametric_job_count: ${{ steps.main.outputs.parametric_job_count }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -88,7 +89,7 @@ jobs:
python utils/scripts/compute-workflow-parameters.py ${{ inputs.library }} \
-s "${{ inputs.scenarios }}" \
-g "${{ inputs.scenarios_groups }}" \
--parametric-job-count ${{ inputs.parametric_job_count }} \
--ci-environment "${{ inputs._ci_environment }}" >> $GITHUB_OUTPUT
env:
PYTHONPATH: "."
_EXPERIMENTAL_PARAMETRIC_JOB_COUNT: ${{ inputs._experimental_parametric_job_count }}
20 changes: 15 additions & 5 deletions .github/workflows/run-parametric.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,25 @@ on:
default: 'custom'
required: false
type: string
_experimental_job_count:
job_count:
description: "How many job should be spawned for the parametric test"
default: 1
required: false
type: number
_experimental_job_matrix:
job_matrix:
# github action syntax is not very powerfull, it require a job to compute this.
# => save on job, by asking the caller to compute this list
description: "Job matrix, JSON array of number from 1 to _experimental_job_count"
description: "Job matrix, JSON array of number from 1 to job_count"
default: '[1]'
required: false
type: string
_experimental_job_count:
description: "DEPRECATED"
default: 1
required: false
type: number
_experimental_job_matrix:
description: "DEPRECATED"
default: '[1]'
required: false
type: string
Expand All @@ -39,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
job_instance: ${{ fromJson( inputs._experimental_job_matrix ) }}
job_instance: ${{ fromJson( inputs.job_matrix ) }}
env:
SYSTEM_TESTS_REPORT_ENVIRONMENT: ${{ inputs.ci_environment }}
SYSTEM_TESTS_REPORT_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Expand All @@ -57,7 +67,7 @@ jobs:
name: ${{ inputs.binaries_artifact }}
path: binaries/
- name: Run PARAMETRIC scenario
run: ./run.sh PARAMETRIC -L ${{ inputs.library }} --splits=${{ inputs._experimental_job_count }} --group=${{ matrix.job_instance }}
run: ./run.sh PARAMETRIC -L ${{ inputs.library }} --splits=${{ inputs.job_count }} --group=${{ matrix.job_instance }}
- name: Compress logs
id: compress_logs
if: always()
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,13 @@ on:
default: false
required: false
type: boolean
parametric_job_count:
description: "How many jobs should be used to run PARAMETRIC scenario"
default: 1
required: false
type: number
_experimental_parametric_job_count:
description: "*EXPERIMENTAL* : How many jobs should be used to run PARAMETRIC scenario"
description: "*DEPRECATED*"
default: 1
required: false
type: number
Expand All @@ -70,7 +75,7 @@ jobs:
library: ${{ inputs.library }}
scenarios: ${{ inputs.scenarios }}
scenarios_groups: ${{ inputs.scenarios_groups }}
_experimental_parametric_job_count: ${{ inputs._experimental_parametric_job_count }}
parametric_job_count: ${{ inputs.parametric_job_count }}
_ci_environment: ${{ inputs.ci_environment }}

parametric:
Expand All @@ -83,8 +88,8 @@ jobs:
library: ${{ inputs.library }}
binaries_artifact: ${{ inputs.binaries_artifact }}
ci_environment: ${{ inputs.ci_environment }}
_experimental_job_count: ${{ inputs._experimental_parametric_job_count }}
_experimental_job_matrix: ${{ needs.compute_parameters.outputs._experimental_parametric_job_matrix }}
job_count: ${{ inputs.parametric_job_count }}
job_matrix: ${{ needs.compute_parameters.outputs.parametric_job_matrix }}

graphql:
needs:
Expand Down
8 changes: 5 additions & 3 deletions manifests/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,10 @@ tests/:
test_inferred_proxy.py:
Test_AWS_API_Gateway_Inferred_Span_Creation: missing_feature
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
Test_Otel_Drop_In: irrelevant (library does not implement OpenTelemetry)
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api: irrelevant (library does not implement OpenTelemetry)
parametric/:
test_128_bit_traceids.py:
Test_128_Bit_Traceids: v1.0.1.dev
Expand Down Expand Up @@ -261,8 +264,7 @@ tests/:
test_distributed.py:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: missing_feature
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: missing_feature
Test_Span_Links_From_Conflicting_Contexts: missing_feature (baggage should be implemented and conflicting trace contexts should generate span link)
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
test_graphql.py: missing_feature
test_identify.py: irrelevant
Expand Down
10 changes: 8 additions & 2 deletions manifests/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,9 @@ tests/:
Test_AWS_API_Gateway_Inferred_Span_Creation: missing_feature
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api: v3.9.0
parametric/:
test_config_consistency.py:
Test_Config_Dogstatsd: missing_feature (does not support hostname)
Expand Down Expand Up @@ -512,8 +515,7 @@ tests/:
test_distributed.py:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: missing_feature
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: missing_feature
Test_Span_Links_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
test_graphql.py: missing_feature
test_identify.py:
Expand All @@ -522,6 +524,10 @@ tests/:
Test_Propagate_Legacy: v2.26.0
test_ipv6.py: missing_feature (APMAPI-869)
test_library_conf.py:
Test_ExtractBehavior_Default: missing_feature (conflicting trace contexts should generate span link)
Test_ExtractBehavior_Ignore: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart_With_Extract_First: missing_feature (extract behavior not implemented)
Test_HeaderTags: v2.27.0
Test_HeaderTags_Colon_Leading: v2.1.0
Test_HeaderTags_Colon_Trailing: v3.0.0
Expand Down
10 changes: 9 additions & 1 deletion manifests/golang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,11 @@ tests/:
Test_AWS_API_Gateway_Inferred_Span_Creation: missing_feature
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api:
'*': incomplete_test_app (endpoint not implemented)
net-http: v1.70.1
parametric/:
test_config_consistency.py:
Test_Config_Dogstatsd: v1.72.0-dev
Expand Down Expand Up @@ -641,7 +646,6 @@ tests/:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: missing_feature
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: missing_feature
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Synthetics_APM_Datadog: bug (APMAPI-901) # the incoming headers are considered invalid
test_graphql.py: missing_feature
Expand All @@ -650,6 +654,10 @@ tests/:
Test_Propagate: v1.48.0-rc.1
Test_Propagate_Legacy: v1.41.0
test_library_conf.py:
Test_ExtractBehavior_Default: missing_feature (baggage should be implemented and conflicting trace contexts should generate span link in v1.71.0)
Test_ExtractBehavior_Ignore: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart_With_Extract_First: missing_feature (extract behavior not implemented)
Test_HeaderTags: v1.53.0
Test_HeaderTags_Colon_Leading: v1.53.0
Test_HeaderTags_Colon_Trailing: v1.70.0
Expand Down
10 changes: 9 additions & 1 deletion manifests/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1597,6 +1597,11 @@ tests/:
spring-boot: v1.39.0
test_sql.py:
Test_Sql: bug (APMAPI-729)
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api:
'*': incomplete_test_app (endpoint not implemented)
spring-boot: v1.39.0
parametric/:
test_config_consistency.py:
Test_Config_Dogstatsd: missing_feature (default hostname is inconsistent)
Expand Down Expand Up @@ -1728,7 +1733,6 @@ tests/:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: v1.43.0
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: v1.43.0
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
test_graphql.py: missing_feature
test_identify.py:
Expand All @@ -1737,6 +1741,10 @@ tests/:
Test_Propagate_Legacy: missing_feature
test_ipv6.py: missing_feature (APMAPI-869)
test_library_conf.py:
Test_ExtractBehavior_Default: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Ignore: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart_With_Extract_First: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_HeaderTags: missing_feature
Test_HeaderTags_Colon_Leading: v0.102.0
Test_HeaderTags_Colon_Trailing: v0.102.0
Expand Down
11 changes: 10 additions & 1 deletion manifests/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,12 @@ tests/:
express5: *ref_5_26_0
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api:
'*': incomplete_test_app (endpoint not implemented)
express4: *ref_5_26_0
express5: *ref_5_26_0
parametric/:
test_128_bit_traceids.py:
Test_128_Bit_Traceids: *ref_3_0_0
Expand Down Expand Up @@ -908,7 +914,6 @@ tests/:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: v5.27.0
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: v5.27.0
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Synthetics_APM_Datadog:
'*': *ref_5_25_0
Expand All @@ -924,6 +929,10 @@ tests/:
Test_Propagate: *ref_3_2_0
Test_Propagate_Legacy: *ref_3_2_0
test_library_conf.py:
Test_ExtractBehavior_Default: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Ignore: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart_With_Extract_First: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_HeaderTags: *ref_4_11_0
Test_HeaderTags_Colon_Leading: *ref_4_11_0
Test_HeaderTags_Colon_Trailing: *ref_4_11_0
Expand Down
46 changes: 26 additions & 20 deletions manifests/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,17 +167,17 @@ tests/:
Test_Cmdi_UrlQuery: missing_feature
Test_Cmdi_Waf_Version: v1.6.2
test_lfi.py:
Test_Lfi_BodyJson: missing_feature
Test_Lfi_BodyUrlEncoded: missing_feature
Test_Lfi_BodyXml: missing_feature
Test_Lfi_Capability: missing_feature
Test_Lfi_Mandatory_SpanTags: missing_feature
Test_Lfi_Optional_SpanTags: missing_feature
Test_Lfi_RC_CustomAction: missing_feature
Test_Lfi_BodyJson: v1.6.2
Test_Lfi_BodyUrlEncoded: v1.6.2
Test_Lfi_BodyXml: v1.6.2
Test_Lfi_Capability: v1.7.0
Test_Lfi_Mandatory_SpanTags: v1.6.2
Test_Lfi_Optional_SpanTags: v1.6.2
Test_Lfi_RC_CustomAction: missing_feature # It works but missing this APPSEC-56457
Test_Lfi_Rules_Version: v1.6.2
Test_Lfi_StackTrace: missing_feature
Test_Lfi_StackTrace: v1.6.2
Test_Lfi_Telemetry: missing_feature
Test_Lfi_UrlQuery: missing_feature
Test_Lfi_UrlQuery: v1.6.2
Test_Lfi_Waf_Version: v1.6.2
test_shi.py:
Test_Shi_BodyJson: missing_feature
Expand Down Expand Up @@ -205,17 +205,17 @@ tests/:
Test_Sqli_UrlQuery: missing_feature
Test_Sqli_Waf_Version: v1.6.2
test_ssrf.py:
Test_Ssrf_BodyJson: missing_feature
Test_Ssrf_BodyUrlEncoded: missing_feature
Test_Ssrf_BodyXml: missing_feature
Test_Ssrf_Capability: missing_feature
Test_Ssrf_Mandatory_SpanTags: missing_feature
Test_Ssrf_Optional_SpanTags: missing_feature
Test_Ssrf_Rules_Version: v1.6.2
Test_Ssrf_StackTrace: missing_feature
Test_Ssrf_BodyJson: v1.7.0
Test_Ssrf_BodyUrlEncoded: v1.7.0
Test_Ssrf_BodyXml: v1.7.0
Test_Ssrf_Capability: v1.7.0
Test_Ssrf_Mandatory_SpanTags: v1.7.0
Test_Ssrf_Optional_SpanTags: v1.7.0
Test_Ssrf_Rules_Version: v1.7.0
Test_Ssrf_StackTrace: v1.7.0
Test_Ssrf_Telemetry: missing_feature
Test_Ssrf_UrlQuery: missing_feature
Test_Ssrf_Waf_Version: v1.6.2
Test_Ssrf_UrlQuery: v1.7.0
Test_Ssrf_Waf_Version: v1.7.0
waf/:
test_addresses.py:
Test_BodyJson: v0.98.1 # TODO what is the earliest version?
Expand Down Expand Up @@ -382,6 +382,9 @@ tests/:
Test_AWS_API_Gateway_Inferred_Span_Creation: missing_feature
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api: incomplete_test_app (endpoint not implemented)
parametric/:
test_128_bit_traceids.py:
Test_128_Bit_Traceids: v0.84.0
Expand Down Expand Up @@ -493,14 +496,17 @@ tests/:
Test_DistributedHttp: missing_feature
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: missing_feature
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: missing_feature
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
test_graphql.py: missing_feature
test_identify.py:
Test_Basic: v0.85.0
Test_Propagate: v0.85.0
Test_Propagate_Legacy: v0.85.0
test_library_conf.py:
Test_ExtractBehavior_Default: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Ignore: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_ExtractBehavior_Restart_With_Extract_First: incomplete_test_app (/make_distant_call endpoint is not correctly implemented)
Test_HeaderTags: v0.68.2
Test_HeaderTags_Colon_Leading: v0.74.0
Test_HeaderTags_Colon_Trailing: v0.74.0
Expand Down
14 changes: 11 additions & 3 deletions manifests/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -761,6 +761,11 @@ tests/:
Test_AWS_API_Gateway_Inferred_Span_Creation: missing_feature
test_otel_drop_in.py:
Test_Otel_Drop_In: missing_feature
otel/:
test_context_propagation.py:
Test_Otel_Context_Propagation_Default_Propagator_Api:
'*': incomplete_test_app (endpoint not implemented)
flask-poc: v2.19.0
parametric/:
test_128_bit_traceids.py:
Test_128_Bit_Traceids: v2.6.0
Expand Down Expand Up @@ -910,16 +915,19 @@ tests/:
Test_DistributedHttp:
'*': missing_feature (Missing on weblog)
flask-poc: v1.5.0-rc2 # actual version unknown
Test_Span_Links_Flags_From_Conflicting_Contexts: v2.17.0
Test_Span_Links_Flags_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
Test_Span_Links_From_Conflicting_Contexts: v2.17.0
Test_Span_Links_From_Conflicting_Contexts_Datadog_Precedence: v2.17.0
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: v2.17.0
Test_Span_Links_Omit_Tracestate_From_Conflicting_Contexts: missing_feature (implementation specs have not been determined)
test_graphql.py: missing_feature
test_identify.py:
Test_Basic: v1.5.0-rc1
Test_Propagate: v1.9.0
Test_Propagate_Legacy: v1.5.0-rc1
test_library_conf.py:
Test_ExtractBehavior_Default: missing_feature (trace context with only baggage should still be propagated)
Test_ExtractBehavior_Ignore: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart: missing_feature (extract behavior not implemented)
Test_ExtractBehavior_Restart_With_Extract_First: missing_feature (extract behavior not implemented)
Test_HeaderTags: v0.53
Test_HeaderTags_Colon_Leading: v1.2.1 # actual version unknown
Test_HeaderTags_Colon_Trailing: v2.8.0
Expand Down
Loading

0 comments on commit cc3482b

Please sign in to comment.