-
Notifications
You must be signed in to change notification settings - Fork 101
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
feat: add GreenletProfiler #246
Conversation
it is a draft, but it can profiling with threading model and greenlet model automatically now. it needs more things: |
Verifying through e2e profiling case would be a good place to start. |
Profiling e2e has been included in the main repo, https://github.com/apache/skywalking/blob/317d539371c588c4754029134ad76087ecb6d0cd/.github/workflows/skywalking.yaml#L435-L454 powered by our e2e-infra tool, https://skywalking.apache.org/docs/skywalking-infra-e2e/next/readme/ You could learn how we run tests using the latest agent with real OAP/SkyWalking backend, and verify the result through SkyWalking CLI through this tool. |
|
29d0adb
to
98f2d81
Compare
|
||
if __name__ == '__main__': | ||
# noinspection PyTypeChecker | ||
app.run(host='0.0.0.0', port=9090) |
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.
hardcoded_bind_all_interfaces: Possible binding to all interfaces.
ℹ️ Learn about @sonatype-lift commands
You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.
Command | Usage |
---|---|
@sonatype-lift ignore |
Leave out the above finding from this PR |
@sonatype-lift ignoreall |
Leave out all the existing findings from this PR |
@sonatype-lift exclude <file|issue|path|tool> |
Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file |
Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.
Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]
@@ -0,0 +1,3 @@ | |||
set -ex |
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.
SC2148: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.
ℹ️ Learn about @sonatype-lift commands
You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.
Command | Usage |
---|---|
@sonatype-lift ignore |
Leave out the above finding from this PR |
@sonatype-lift ignoreall |
Leave out all the existing findings from this PR |
@sonatype-lift exclude <file|issue|path|tool> |
Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file |
Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.
Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]
there is something wrong when profiling start:
this Exception will raise when gevent upgrade to version>1.4.0, and before the greenlet quit and switch to the hub. |
Generally looks good to me. @kezhenxu94 can you take a look? I'm not very familiar with the profiling feature. |
The sonatype bug can be ignored, since it's testing code. |
We will need documentation. The original documentation for threading-profiling was posted to here https://skywalking.apache.org/blog/2021-09-12-skywalking-python-profiling/, now with the addition of Greenlet Profiler, it will be better to move it back to our repository and add the corresponding part for greenlet. @westarest, can you work on the docs in the next PR? |
no problem. I can post a document about the difference between the Threading profiler and the Greenlet profiler that I committed. |
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.
Thanks!
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.
Cool. @westarest Would you like to write a new blog for this feature, to introduce why it is important, and how you implement this, and use it?
I believe this is a very important and valuable blog.
No description provided.