-
Notifications
You must be signed in to change notification settings - Fork 711
Add resource usage performance tests for creating a span #1499
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
Add resource usage performance tests for creating a span #1499
Conversation
4529423
to
9a7efe3
Compare
...telemetry-sdk/tests/performance/resource-usage/trace/profile_resource_usage_simple_export.py
Show resolved
Hide resolved
Should we include a README on how to run these tests like you outlined in the description? |
Is this to fulfill the "out-of-process" requirement in the specs? |
Can you create an issue for finding a way to report these perf test results? |
No nothing to do with that. In fact we chose to not include the "receiver" at all and just made it a no-op right now for simplicity sake. Using a m5.xlarge EC2 instance is just to be transparent about where we got these results which should hopefully make it easy to reproduce these results. i.e. if you spin up this type of instance you should get the same results. |
bbfcc4a
to
e888a36
Compare
I updated the README for |
opentelemetry-sdk/README.rst
Outdated
@@ -13,6 +13,23 @@ Installation | |||
|
|||
pip install opentelemetry-sdk | |||
|
|||
Running Performance Tests |
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.
Curious does this belong in the sdk README? I feel like it would be useful in the top level.
Also, unrelated but should be in the same place as a "HOW TO" for writing benchmark tests right?
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.
Yes I agree I think it would be better at the top level! Since running the tests is different from developing tests, I can move it there.
Also, unrelated but should be in the same place as a "HOW TO" for writing benchmark tests right?
Hm, I guess we could write a "How to write Resource Utilization Tests" section like we did for benchmarks here. However, since it doesn't require a specific format like the benchmarks did (because you can just profile any Python program, I just provided examples here) I can't immediately think of any meaningful guidelines to provide.
e888a36
to
6f17cc2
Compare
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.
Nice! Thanks
Description
Adds resource usage tests (testing CPU & Memory) according to the performance tests guideline on the specifications.
This PR adds example files that can be run to see where CPU & Memory allocations are mostly made over simple test cases for the OTel SDK.
We don't have an automated solution for reporting on CPU & Memory usage right now, but I added the tests in this PR description just like how the Java SDK does it as a temporary solution.
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
All tests were run on a m5.xlarge EC2 instance:
2a. Run the
SimpleExportSpanProcessor
scalene
test usingGet the following results:
2b. Run the
BatchExportSpanProcessor
scalene
test usingGet the following results:
Does This PR Require a Contrib Repo Change?
Checklist:
- [ ] Changelogs have been updated- [ ] Unit tests have been added- [ ] Documentation has been updated