harvester
What is harvester?
harvester is a node module that enables you to monitor the performance metrics of your node applications in realtime over WebSockets. With just a few lines of code, you can start sending valuable data to your harvester-server.
Getting Started
The first thing you want to do is install the module into your node application by performing this command:
npm install harvester --save
.
Once you've done that, you can add harvester to your application by adding the following code to the top of your application's main script:
const harvester = require('harvester')(); // must be at top of file
That's it! It's super easy.
Please refer to the Supported Modules section for more information on how harvester tracks data for your node application.
Supported Modules
harvester gives you the tools to track your own custom data but if you're using one of the supported modules (listed below) in your node application, harvester will automatically track data for you; thus, minimizing extra work.
- supports all database dialects
- reports data for successful queries (
db.query
) - reports data for failed queries (
db.error
)
- reports data for web transactions (
web.request
)
Tracking Custom Data
harvester makes it easy for you to track your own performance metrics. You can make use of the following API methods to start tracking your own data now.
harvester.startHarvesting(name, interval, callback)
- schedules a harvest to occur everyinterval
of time.harvester.stopHarvesting(name)
- stops the previously scheduled harvest routine from occurring again.harvester.harvest(name, data)
- sends harvest data to the connected transport (to be delivered to your server)
Dependencies
In order to capture the data that harvester makes available, you'll need to install your own harvester-server (or a custom socket.io server).
Currently, the list of supported WebSocket events covers:
web.request
db.query
db.error
environment
process.info
License
Please see the full license for details.