-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Describe the story, please be clear on scope of the story.
Create a test app runner in GHA that is capable of running a test app (with or without the agent attached) and driving traffic to it.
This is the first part of implementing performance testing in our CI. We are basing this work on what the Ruby agent team has recently done, which in turn was based on the PHP agent team's more elaborate perf/soak tests.
The test app should be a modern .NET ASP.NET Core WebApi. The runner will need to be a Linux runner so we can use Docker to run the test app, as well as the traffic driver (Ruby is using Locust).
The workflow should use parameters to control things like whether or not the agent is attached, which agent version to use, how long to run the test, how much traffic to drive, etc.
See the Ruby team's parallel story: newrelic/newrelic-ruby-agent#3199
See the sandbox repo where Ruby has been working on this before bringing it back into their main repo: https://github.com/tannalynn/agent_perf_testing
Acceptance Criteria
A GHA workflow that can:
- Launch an ASP.NET Core WebApi test app in Docker
- Potentially attach an agent to the test app, reporting to our team's sandbox account in staging
- Drive traffic to the test app from a different Docker container (to isolate the resource usage of the traffic driver from the test app)
- Makes sure the test app runs without error and (if applicable) the agent successfully sent data to staging.
Estimates
Please provide initial t-shirt size
L