NodeReactionAgent is an open source performance monitoring framework, included in application code to analyzes http requests and asynchronous operations while working in conjunction with a cloud service NodeReaction.com to store analyze and display information the agent gathers.
NodeReaction.com provides a detailed performance breakdown of a developer’s Node.js web applications and better understand where bottlenecks exist in their application. git
Using npm:
$ npm install nodereactionagent
Default confguration (place on line 1 of your server.js):
const NRA = require('nodereactionagent').setApiToken('TokenFromNodeReaction.com');
The agent is set up to post to our cloud servers, however, the agent can post to a URL of your choosing.
NRA.setAgentUrl('localhost:3000/YourEndPoint');
The agent can be prevented from posting any information to servers and can be used as a screen logger or to log information to a file.
NRA.sendTransactionsToServer(false); // defaults: true;
The agent can optionally save logs to disk with the following command.
NRA.saveLogToDisk(true, pathToSave); // defaults: false and project root folder
NRA.logToScreen(true); // defaults: true
You can use Node Reaction Agent in your any of your own async functions that occur during and HTTP request. In order to develop timing data just add the following lines into your application.
const nodeReactionAgent = require("../Agent.js");
// add this line when you want the trace to starts
let trace = nodeReactionAgent.createTrace('ModuleName', 'FunctionName');
// add this line when async function completes;
trace.end();
You can write your own modules for Node Reaction to further extend it's utility.
We welcome contributions. Please submit issues nodereaction@gmail.com