I have a standalone Python application.
The python process is not using any framework. And is a simple standalone python process.
This has been successfully integrated with Elastic APM (+ElasticSearch +Kibana) for capturing telemetries.
Python version: 3.7
elastic-apm python agent: 5.8.0
Elastic Search, APM and Kibana Version: 7.7.1
As mentioned in the official doc, I have used the following statements to start capturing metrics from my python process
client = elasticapm.Client(service_name="MY_SERVICE",service_node_name="MY_SERVICE_NODE",server_url="=http:///apm-server:8200",recording="true",environment="PROD")
elasticapm.instrument()
But on Kibana, I am able to see only the following 3 system metrics (under 2 visualizations):
- Host's CPU Usage in percentage
- Process specific CPU Usage in percentage
- Host's Memory Usage in percentage
As per the python code analysis, as well as per what I have read. Elastic APM Agent collects other process related metrics like:
- Memory used by Process
- Process uptime
These I am unable to see on the Kibana - APM - Metrics Visualization
Refer the screenshot
Additionally, I expect the Elastic APM Python agent to collect other informations like:
- Process's thread level CPU Usage
- Number of threads in process
- Garbage collection stats
- IO Stats
Which are already available for Elastic APM Java agent.
Refer the screenshot