# Does node APM agent supports grpc framework

**URL:** <https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055>\
**Category:** APM\
**Tags:** nodejs\
**Created:** [February 12, 2022, 5:11pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055 "2022-02-12T17:11:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![vinodmb](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vinodmb/32/138702_2.png) [@vinodmb](https://discuss.elastic.co/u/vinodmb)\
**Post date:** [February 12, 2022, 5:11pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055/1 "2022-02-12T17:11:42Z")

</div>

I am trying to integrate elastic apm in my node application, we are using express for http endpoints and grpc for service to service communication. I am able to see transactions for http calls but there is no transaction for grpc calls. Kindly let me know if grpc is supported and if so how can I troubleshoot this.

---

<div class="post-metadata">

**Author:** ![trentm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/trentm/32/77647_2.png) [@trentm](https://discuss.elastic.co/u/trentm)\
**Post date:** [February 14, 2022, 6:35pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055/2 "2022-02-14T18:35:49Z")

</div>

@vinodmb Currently, no, the Node.js APM agent does not directly support any gRPC node packages. Would you mind adding a note to [support grpc? · Issue #300 · elastic/apm-agent-nodejs · GitHub](https://github.com/elastic/apm-agent-nodejs/issues/300) mentioning which gRPC node package(s) you are using, and if you are most interesting in gRPC _client_ or _server_ (or both) support?

gRPC support is on our radar but not something that is currently scheduled.

Note as well that there is [Transiting traceparent over custom transports · Issue #978 · elastic/apm-agent-nodejs · GitHub](https://github.com/elastic/apm-agent-nodejs/issues/978) which has some discussion, code, and a possible work-around for the short term.

---

<div class="post-metadata">

**Author:** ![vinodmb](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vinodmb/32/138702_2.png) [@vinodmb](https://discuss.elastic.co/u/vinodmb)\
**Post date:** [February 16, 2022, 1:54pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055/3 "2022-02-16T13:54:26Z")

</div>

@trentm thanks for the reply... i went through Issue #978 and also document on apm.addPatch to implement for grpc module. But from the document its not clear on the handler( patch function) part. Could you kindly guide me if there is any other example for the same.

---

<div class="post-metadata">

**Author:** ![trentm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/trentm/32/77647_2.png) [@trentm](https://discuss.elastic.co/u/trentm)\
**Post date:** [February 16, 2022, 7:22pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055/4 "2022-02-16T19:22:55Z")

</div>

> [@vinodmb](#):
>
> Could you kindly guide me if there is any other example for the same.

Unfortunately, no. `apm.addPatch()` is very low-level. Probably the best resource for how to write those handlers is all the instrumentations that are part of the agent itself: [apm-agent-nodejs/lib/instrumentation/modules at main · elastic/apm-agent-nodejs · GitHub](https://github.com/elastic/apm-agent-nodejs/tree/main/lib/instrumentation/modules)

Each of the .js files under this directory implement an `addPatch` handler.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 9, 2022, 3:23pm UTC](https://discuss.elastic.co/t/does-node-apm-agent-supports-grpc-framework/297055/5 "2022-03-09T15:23:57Z")

</div>

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.
