Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Aug 4, 2023. It is now read-only.

**Moved to elastic/apm-agent-nodejs.** A low-level Node.js HTTP client for communicating with the Elastic APM intake API

License

Notifications You must be signed in to change notification settings

elastic/apm-nodejs-http-client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elastic-apm-http-client

Build status Standard - JavaScript Style Guide

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 with
  • secretToken - (optional) The Elastic APM intake API secret token
  • serverUrl - (optional) The APM Server URL (default: http://localhost:8200)
  • rejectUnauthorized - (optional) Set to false if the client shouldn't verify the APM Server TLS certificates (default: true)
  • serverTimeout - (optional) Set request timeout in milliseconds

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:

  1. An error when applicable (usually from the http.ClientRequest object)
  2. An http.IncomingMessage object
  3. The response body (as a String)

License

MIT

About

**Moved to elastic/apm-agent-nodejs.** A low-level Node.js HTTP client for communicating with the Elastic APM intake API

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 13