Following changes are expected in the next official release (v1.1.0).
The Python agent currently uses a number of threads to communicate with SkyWalking OAP, it is planned to be refactored using AsyncIO (Uvloop) along with an async version of gRPC(aio-client)/HTTP(aiohttp/httpx)/Kafka(aio-kafka) to further minimize the cost of thread switching and IO time.
For now, we still have a few points to mention to keep the overhead to your application minimal.
python -c "from google.protobuf.internal import api_implementation; print(api_implementation._implementation_type)", or python -c "from google.protobuf.internal import api_implementation; print(api_implementation._default_implementation_type)" you should either see upb or cpp as the returned value. It means the Protobuf library is using a much faster implementation than Python native. If not, try setting PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION='cpp' or 'upb' or upgrade the gRPC dependency (SkyWalking Python will use whatever version your application uses).config.init(agent_some_reporter_active=False) or environment variables.sw-python CLI or agent debug logging in production, otherwise large amount of log will be produced.sitecustomize.py).