Package Exports
- elastic-apm-http-client
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (elastic-apm-http-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
elastic-apm-http-client
A low-level HTTP client for communicating with the Elastic APM intake API.
This module is meant for building other modules that needs to communicate with Elastic APM.
If you are looking to use Elastic APM in your app or website, you'd most likely want to check out the official Elastic APM agent for Node.js instead.
If you are looking for the version of this module that supports the Opbeat intake API, see the opbeat branch.
Installation
npm install elastic-apm-http-client
Example Usage
var client = require('elastic-apm-http-client')({
userAgent: '...'
})
client.request('errors', body, function (err, res, body) {
if (err) throw err
console.log(body)
})
API
The module exposes an initialize function which takes a single options hash as the 1st argument:
userAgent
- The HTTP user agent that your module should identify it self withsecretToken
- (optional) The Elastic APM intake API secret tokenserverUrl
- (optional) The APM Server URL (default:http://localhost:8200
)rejectUnauthorized
- (optional) Set tofalse
if the client shouldn't verify the APM Server TLS certificates (default:true
)
The init function will return a low level HTTP client primed for communicating with the Elastic APM intake API.
client.request(endpoint[, headers], body, callback)
endpoint
The Elastic APM intake API currently support the following endpoints:
errors
transactions
The default full URL's for those are:
http://localhost:8200/<endpoint>
When specifying the endpoint
argument in the client.request()
method, you just have to specify that last part of the URL, e.g.
"releases".
headers
An optional object that you can use to supply custom headers that should be sent to the Elastic APM intake API.
body
The body should be in the form of a JavaScript object literal. The elastic-apm-http-client will take care of encoding it correctly.
callback
The callback function is called with 3 arguments:
- An error when applicable (usually from the http.ClientRequest object)
- An http.IncomingMessage object
- The response body (as a String)
License
MIT