Skip to content
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 benchmark tests for common operations #335

Closed
toumorokoshi opened this issue Dec 12, 2019 · 7 comments
Closed

Add benchmark tests for common operations #335

toumorokoshi opened this issue Dec 12, 2019 · 7 comments
Assignees
Labels
build & infra Issues related to build & infrastructure. discussion Issue or PR that needs/is extended discussion. release:required-for-ga To be resolved before GA release tests

Comments

@toumorokoshi
Copy link
Member

A common concern in instrumentation is the performance hit on applications. To help us quantify and measure how well we're doing there, we should add some benchmark tests that run as part of the CI.

There is a pytest module that could help here: https://pypi.org/project/pytest-benchmark/

@toumorokoshi toumorokoshi added build & infra Issues related to build & infrastructure. discussion Issue or PR that needs/is extended discussion. labels Dec 12, 2019
@toumorokoshi toumorokoshi changed the title Add benchmark tests for common operation Add benchmark tests for common operations Dec 12, 2019
@rajibmitra
Copy link

I would like to work on this. @toumorokoshi

@toumorokoshi
Copy link
Member Author

toumorokoshi commented Dec 13, 2019

@rajibmitra sounds great! I think just getting the pattern established would be a good first task.
I just took a quick look and there's not a lot of machinery for what I'm thinking, but my thought just getting a timing marker on a common task: extracting / injecting trace information. Probably exercising a complex case of tracecontext extraction/injection:

https://github.com/open-telemetry/opentelemetry-python/blob/master/opentelemetry-api/src/opentelemetry/context/propagation/tracecontexthttptextformat.py

We don't have any targets right now, so I think just having the timing run during CI (by adding to tox) would be great.

@mauriciovasquezbernal
Copy link
Member

@rmitr are you still interested in working in this one?

@mauriciovasquezbernal
Copy link
Member

As a part of #514 I did some research and I think pytest-benchmark is a good framework to use. It integrates nicely with pytest and provides some useful features to make the implementation of performance tests easier.

@codeboten codeboten added the release:required-for-ga To be resolved before GA release label Jul 20, 2020
@codeboten
Copy link
Contributor

Follow up to ensure its part of GA

@ffe4
Copy link
Contributor

ffe4 commented Sep 10, 2020

Here also a link to a related PR open-telemetry/opentelemetry-specification#748

srikanthccv pushed a commit to srikanthccv/opentelemetry-python that referenced this issue Nov 1, 2020
* fix: dont trace ourselves

closes open-telemetry#332

Signed-off-by: Olivier Albertini <[email protected]>

* fix: add mayurkale22 recommendations

Signed-off-by: Olivier Albertini <[email protected]>
@aabmass aabmass self-assigned this Dec 3, 2020
@codeboten
Copy link
Contributor

Closing in favour of #1767

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build & infra Issues related to build & infrastructure. discussion Issue or PR that needs/is extended discussion. release:required-for-ga To be resolved before GA release tests
Projects
None yet
Development

No branches or pull requests

6 participants