influx-metrics-middleware
A customizable, unopinionated express middleware for InfluxDB metrics built on top of node-influx
Installation
npm i influx-metrics-middleware # or if you prefer yarn yarn add influx-metrics-middleware
Usage
This middleware uses a handleRequest
method similar to an express request handler to handle each request express passes to it. You can utilize everything you love from express and simply call the addToBatch
method to add records to a batch which will be sent to the given InfluxDB instance once a certain threshold is reached.
API
handle(options: CombinedOptions)
- passes options to middleware, configures node-influx
- returns actual middleware
handleRequest({ req: express.Request, res: express.Response }, { addToBatch: (point: IPoint | IPoint[]) => void })
Example
The snippet below is a simple express application with metrics collection for basic request details.
;;; ;; ; // initialize the middlewareapp.useinfluxMetrics.handleinfluxMetricsOptions; app.get'/',; server.listen3000;
Configuration
Because this package uses node-influx as its foundation, all options for this library can be added to the init options. In addition to that, influx-metrics-middleware contains a few options for its behaviour:
name | default | description |
---|---|---|
batchLimit | 1000 |
Push data to InfluxDB after this limit of records is reached. For performance reasons, a higher limit will be better. |
disableBatch | false |
Disable batching completely and send each new record directly |
throwErrors | true |
Throw middleware errors |
queueFailedBatch | true |
Retry failed record upload to InfluxDB |