-
Notifications
You must be signed in to change notification settings - Fork 410
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
[stretch][spike] Node.js library HTTP2 support in core Node HTTP2 #2754
Comments
Check this sheet prepared by Java agent team for reference and need similar doc for Node.js |
Understand how java agent team supported this. |
Unlike Java, where there are multiple discrete HTTP implementations, there is only one HTTP implementation in Node.js: the one provided by core. As a result, all web frameworks targeting Node.js are basically wrappers on top of core's HTTP implementation. This is equally true for the HTTP/2 implementation. Known state of HTTP/2 in the ecosystem:
Our tracing model is built around the concept of a transaction:
In step 3, all tracing data being collected is done so within the application's memory. Thus, if we were to take the same approach as Elastic, we would very likely end up generating a lot of in-memory data and receive reports that we are blowing up customer applications. If we had an event based model, like the DataDog implementation, we shouldn't see this issue. It is my recommendation that we do not try to generically instrument Node.js's HTTP/2 module. If anything, I suggest we write documentation that shows people how to instrument specific HTTP/2 scenarios with our agent API. |
This ticket is to do a spike on what it takes to support HTTP2 in core Node. could be a long running transaction similar to what we did in GRPC. Describe the possible approach with pros and cons and share the findings with the team.
Description
Overall intent is to ensure the Node Agent HTTP instrumentation works properly with the HTTP 2 protocol.
The text was updated successfully, but these errors were encountered: