Skip to content

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

Merged
merged 27 commits into from
Mar 7, 2024
Merged

Add python EC2 E2E tests. #11

merged 27 commits into from
Mar 7, 2024

Conversation

zzhlogin
Copy link
Contributor

@zzhlogin zzhlogin commented Mar 5, 2024

This PR add python EC2 E2E tests by mainly matching the feature parity with Java EC2 E2E tests. The following resource are created:

  1. App Signals Enablement E2E Testing - Python EC2 Use Case workflow to be called by canary tests and main_build.
  2. terraform/python for setting up configurations to deploy sample app via terraform in EC2 instances.
  3. 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 Python Operation is GET aws-sdk-call, in Java is GET /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 missing subsegments[0].http.request.url data.
  4. validator/src/main/resources/validations/python and PredefinedExpectedTemplate.java, map the validator to expected-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.

Copy link
Contributor

@srprash srprash left a 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.

Copy link
Contributor

@srprash srprash left a 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.

@zzhlogin zzhlogin merged commit 8d012ea into main Mar 7, 2024
zzhlogin added a commit to zzhlogin/aws-application-signals-test-framework that referenced this pull request Jun 6, 2024
zzhlogin added a commit to zzhlogin/aws-application-signals-test-framework that referenced this pull request Jun 6, 2024
zzhlogin added a commit to zzhlogin/aws-application-signals-test-framework that referenced this pull request Jun 6, 2024
zzhlogin added a commit to zzhlogin/aws-application-signals-test-framework that referenced this pull request Jun 6, 2024
georgeboc pushed a commit to georgeboc/aws-application-signals-test-framework that referenced this pull request Jul 8, 2024
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.
zzhlogin added a commit that referenced this pull request Sep 13, 2024
# 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
zzhlogin added a commit that referenced this pull request Sep 17, 2024
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants