-
Notifications
You must be signed in to change notification settings - Fork 20
Add python EC2 E2E tests. #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looked at the github workflow and the validation templates.
Overall LGTM. some minor comments.
validator/src/main/resources/expected-data-template/python/ec2/aws-sdk-call-log.mustache
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Please test this out thoroughly from the adot python repo.
Add python EC2 E2E tests.
Add python EC2 E2E tests.
Add python EC2 E2E tests.
Add python EC2 E2E tests.
AwsAttributeKeys holds useful attribute keys needed by multiple other classes. This is a roughly-carbon-copy file of https://github.com/aws-observability/aws-otel-java-instrumentation/blob/main/awsagentprovider/src/main/java/software/amazon/opentelemetry/javaagent/providers/AwsAttributeKeys.java Callout: open-telemetry/opentelemetry-java-instrumentation#8710 has been resolved, and a new issue needs to be opened. The larger problem is that the `AWS_*_NAME` attributes only exist in Java. We will either need to add these to Python or (more likely) move away from these attributes and towards ones accepted in the [AWS service specific attributes semantic conventions](https://opentelemetry.io/docs/specs/semconv/cloud-providers/aws-sdk/#aws-service-specific-attributes). I've cut a backlog item for this. By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
# This is the 1st commit message: Test concurency. # The commit message #2 will be skipped: # Dummy commit # The commit message #3 will be skipped: # Dummy commit # The commit message #4 will be skipped: # Dummy commit # The commit message #5 will be skipped: # Dummy commit # The commit message #6 will be skipped: # add push. # The commit message #7 will be skipped: # Dummy commit # The commit message #8 will be skipped: # Dummy commit # The commit message #9 will be skipped: # Dummy commit # The commit message #10 will be skipped: # Add push condition. # The commit message #11 will be skipped: # Dummy commit
# This is the 1st commit message: Test concurency. # The commit message #2 will be skipped: # Dummy commit # The commit message #3 will be skipped: # Dummy commit # The commit message #4 will be skipped: # Dummy commit # The commit message #5 will be skipped: # Dummy commit # The commit message #6 will be skipped: # add push. # The commit message #7 will be skipped: # Dummy commit # The commit message #8 will be skipped: # Dummy commit # The commit message #9 will be skipped: # Dummy commit # The commit message #10 will be skipped: # Add push condition. # The commit message #11 will be skipped: # Dummy commit
This PR add python EC2 E2E tests by mainly matching the feature parity with Java EC2 E2E tests. The following resource are created:
App Signals Enablement E2E Testing - Python EC2 Use Case
workflow to be called by canary tests and main_build.terraform/python
for setting up configurations to deploy sample app via terraform in EC2 instances.validator/src/main/resources/expected-data-template/python
to configure the expected log/trace/metrics emitted by sample app for validation. There are two resource difference between python and Java:1). The
Operation
in python are exclude of/
, for example in PythonOperation
isGET aws-sdk-call
, in Java isGET /aws-sdk-call
2). For traces, Java there has an extra layer of subsegments wrapped around another subsegment, python dosen't.
3). For
aws-sdk-call
, the generated subsegment is missingsubsegments[0].http.request.url
data.validator/src/main/resources/validations/python
andPredefinedExpectedTemplate.java
, map the validator toexpected-data-template
Furthermore, Python EC2 E2E test is using
t2.small
to support required pkg version.The workflow is tested here to confirm its functionality:
https://github.com/aws-observability/aws-application-signals-test-framework/actions/runs/8177354385
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.