skywalking
skywalking copied to clipboard
[OSPP] Collect PVM metrics and display in the WebUI dashboard
Tracing distributed systems is one of the main features of SkyWalking, with those traces, it can analyze some service metrics such as CPM, success rate, error rate, apdex, etc. SkyWalking also supports receiving metrics from the agent side directly. In this task, we expect the Python agent to report its Python Virtual Machine (PVM) metrics, including (but not limited to, whatever metrics useful are also acceptable) CPU usage (%), memory used (MB), (active) thread/coroutine counts, garbage collection count, etc.
Hi This looks like an interesting project. Can you provide some resources which would help me get started, especially the link for java-agent so that I can get a good idea about how to make the meter APIs with python-agent and send data to the backend?
so far I have gone through the skywalking docs and skywalker agent test tool ( which I suppose is used to test all the agents )
Thanks
JVM reporting through some native API, https://github.com/apache/skywalking/blob/master/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/JVMService.java. The JVM specific API is https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/JVMMetric.proto
Right now, it is better to use a more general meter API to report all metrics, https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/Meter.proto.
After you reported, you could work on MAL to do metric generation. https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-meter/
Hi
This looks like an interesting project. Can you provide some resources which would help me get started, especially the link for java-agent so that I can get a good idea about how to make the meter APIs with python-agent and send data to the backend?
so far I have gone through the skywalking docs and skywalker agent test tool ( which I suppose is used to test all the agents )
Thanks
Hi @tushar5526 , the issue description is outdated and I just now updated it.
Thanks, @kezhenxu94 @wu-sheng. I am able to connect the dots now. This is my first exposure to monitoring tools and I am loving the idea and this project.
So currently we can trace some libraries and this issue's task is to also send the PVM metrics to be displayed on the dashboard and then use MAL for metric generation using the reported metrics. (Please correct me if I am wrong somewhere in my understanding )
Also, can you mention any project which is using skywalking-python for monitoring purposes? (Any project that shows the complete process of setting up skywalking using python agent)
It would help me get a stronger understanding. Any blog or related article would also suffice. ( I tried googling, but couldn't get any )
can you mention any project which is using skywalking-python for monitoring purposes? (Any project that shows the complete process of setting up skywalking using python agent)
I think you could write any server app(with some HTTP/RPC listening) in python, by using the libraries we documented in the supported list. Then follow the python agent log to install. After the app is up and running, send some traffic to your app, SkyWalking UI could visualize your access and traffic statistic.
I thought #7084 was a part of this. I think I might have to wait for gloria-veg to complete it before working on this.
Please Assign this to me....
@mihir1739 I think this is on-going, https://github.com/apache/skywalking-python/pull/238
Please Assign this to me....
Hi, this is working in process already
Please Assign this to me....
Hello there! if you would like to work on something else please take a look at good first issues, there's other Python based tasks. This one is already undertaken by a OSPP student.
OSPP task PR merged, this issue is completed
The UI configurations are not yet submitted to the main repo 😄
The UI configurations are not yet submitted to the main repo 😄
Ohooo I totally forgot about it :|