HEX
Server: Apache/2.4.25
System: Linux webserver1.dinartechshare-e.com 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
User: smkmuhsayung (1029)
PHP: 8.0.3
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/lib/node_modules/pm2/node_modules/@pm2/agent-node/README.md
# pm2-io-agent-node

This module is used by [@pm2/io](https://github.com/keymetrics/pm2-io-apm) to communicate with [PM2.io](https://pm2.io/plus)'s servers.

This module is using [websocket](https://github.com/websockets/ws) to send and receive data from websocket server.

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

## How to use

Just like that:

```js
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:

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

## Release

To release a new version, first install [gren](https://github.com/github-tools/github-release-notes) :
```bash
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](https://semver.org/) currently. Please be careful about the version when pushing a new package.

Then tag a version with git : 
```bash
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
```