The Opbeat agent for Node.js is tested against Node.js v0.10 and above. Previous versions of Node.js is not supported.
Though you can use Opbeat with any Node.js framework, we automate a few things for the most popular Node.js modules.
These are the frameworks that we officially support:
|Koa via koa-router||^5.2.0||Koa doesn’t have a built in router, so we can’t support Koa directly since we rely on router information for full support. We currently support the most popular Koa router called koa-router|
By default transactions are named based on their matched HTTP route if the framework used is listed above. These modules override that behavior to give better insights into specialised HTTP servers:
|express-graphql||^0.6.1||Will name all transactions by the GraphQL query name|
The Opbeat agent for Node.js will automatically instrument the following modules to give you detailed performance metrics:
|graphql||>=0.7.0||Will trace all queries|
|ioredis||^2.0.0||Will trace all queries|
|mongodb-core||^1.2.7 || ^2.0.0||Will trace all queries. A lot of higher level MongoDB modules use mongodb-core, so those should be supported as well|
|mongodb||>=2.0.0||Supported via mongodb-core|
|mongojs||>=1.0.0||Supported via mongodb-core|
|mongoose||>=4.0.0||Supported via mongodb-core|
|mysql||^2.0.0||Will trace all queries|
|pg||>=4.0.0 <7.0.0||Will trace all queries|
|redis||^2.0.0||Will trace all queries|
|ws||^1.0.0 || ^2.0.0||Will trace outgoing WebSocket messages|
When clicking on a perfromance trace on Opbeat, you’ll see where in your code you initiated the trace (e.g. a database query).
Given the async nature of Node.js, it’s not possible for us to see further back than the last async boundary. We therefore make sure to monitor as close to your code as possible. But some modules will interfere with this monitoring by injecting an async call bewteen your code and the actual monitored function.
We monitor these “offending” modules directly to give you a better experience.
The modules and versions listed below are the once we support. If you use a version not supported you might not be able to see your own code in the performance traces. This does not impact the stability of your application in any way - only the collected metrics.
If you don’t see your own code in traces shown on Opbeat, please contact Support so we can make sure to support your stack.
Opbeat monitors async operations in your Node.js application to maintain awareness of which request is the active request at any given time. Certain modules can interfere with this monitoring if not handled properly.
Below is a list of modules known to cause issues with this monitoring. The versions listed are the versions we support. If you use a version not supported you might experience missing traces. This does not impact the stability of your application in any way - only the collected metrics.
If you do experience missing traces in your performance metrics, please contact Support so we can make sure to support your stack.
|generic-pool||^2.0.0||Used by a lot of database modules like for instance “pg”|