PM2.io Agent Standalone for NodeJS

Usage no npm install needed!

<script type="module">
  import pm2AgentNode from 'https://cdn.skypack.dev/@pm2/agent-node';



This module is used by @pm2/io to communicate with PM2.io's servers.

This module is using websocket to send and receive data from websocket server.

NOTE: This module is only compatible with node >= 6

How to use

Just like that:

const Agent = require('@pm2/agent-node')

// This object is used by the agent to send data for each status, you can edit it when you want
const process = {
  axm_options: {}

// Init connection and verify credentials
const agent = new Agent({
  publicKey: '', // Your PM2 Plus public key
  secretKey: '', // Your PM2 Plus secret key
  appName: '' // Your application name (used as server name also)
}, process)

// If public or secret key is invalid, an error will be throw
await agent.start()

You can send data like this:

agent.send('process:exception', {data: ...})


To release a new version, first install gren :

yarn global add github-release-notes

Push a commit in github with the new version you want to release :

git commit -am "version: major|minor|patch bump to X.X.X"

Care for the versionning, we use the semver versioning currently. Please be careful about the version when pushing a new package.

Then tag a version with git :

git tag -s vX.X.X

Push the tag into github (this will trigger the publish to npm) :

git push origin vX.X.X

To finish update the changelog of the release on github with gren (be sure that gren has selected the right tags):

gren release -o -D commits -u keymetrics -r pm2-io-agent-node