newrelic / newrelic/newrelic-python-agent
Support for grpcio-aio (Async gRPC)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 210
- Forks
- 137
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 12
Description
Is your feature request related to a problem? Please describe.
We're currently in the process of moving from our PHP based Legacy/Monolith system to a Python based Micro-services environment with a React Micro-frontend. We've been using New Relic for our performance monitoring, logging, alerts, profiling, problem debugging, etc. We've been noticing that we're having performance issues with our services at high traffic load and have been looking at ways to improve performance. One of the things that was identified that would improve performance, would be switching from using synchronous grpc to asynchronous grpc (https://grpc.github.io/grpc/python/grpc_asyncio.html). During the process of prototyping and testing grpcio-aio and trying to debug and profile, we found that no data was being sent to New Relic APM. We were able to see the container and see it's CPU/Memory usage and such, but no info regarding requests was being captured at all.
This is obviously a huge problem for us, since we're heavily integrated into New Relic at the moment and moving to grpcio-aoi is something we definitely want to move toward as not doing so means, we can't start migrating customers from the legacy enviroment to our new Micro-services environment, so not being able to use grpcio-aio with New Relic is huge road block for us and something we need to resolve ASAP.
Feature Description
The same support we have for gRPC to be replicated Async gRPC
Describe Alternatives
N/A
Additional context
I have logged this via New Relic support too, feature request: PYTHON-I-151. They said it would be beneficial to post the request here too.
Priority
Blocker
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing gRPC support and the grpcio-aio documentation linked in the issue, then compare how asynchronous requests are represented for New Relic APM. The work is done when grpcio-aio services report request data with the same coverage as synchronous gRPC services.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, python
- Domain
- backend-api-design, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100