API/api.medcify.app/node_modules/@pm2/io/NOTES.md
2022-09-26 11:41:44 +05:30

74 lines
1.6 KiB
Markdown

## API idea
require('pm2-bundle-monitoring')
// or
require('pm2-io').connect({
secret: '',
public: ''
})
require('pm2-exception-catching')
require('pm2-transaction-tracing').config({
ignore_route: '/ws'
})
require('pm2-frontend-monitoring')
var pm2_metrics = require('pm2-metrics')
pm2_metrics.variable('BLE pairing mode', permit_join)
pm2_metrics.variable('In memory users', () => Object.keys(users).length)
NOTES:
- watch parameters is not reset on pm2 restart. only after pm2 delete
----
pm2-io-apm features are in src/features/:
```
src/features/
├── dependencies.ts
├── entrypoint.ts
├── events.ts
├── metrics.ts
├── notify.ts
├── profiling.ts
└── tracing.ts
```
## Tracing
- `./src/census` folder is essentially a dump of https://github.com/census-instrumentation/opencensus-node/tree/master/packages/opencensus-nodejs-base/src/trace with plugins added
- Only traces higher than `MINIMUM_TRACE_DURATION: 1000 * 1000` are sent to transporter (sent in /src/census/exporter.ts:72)
Trace sent looks like:
```
{
traceId: 'fac7052e9129416185a26d4935229620',
name: '/slow',
id: '66358f0a48be82c5',
parentId: '',
kind: 'SERVER',
timestamp: 1586380086251000,
duration: 2007559,
debug: false,
shared: false,
localEndpoint: { serviceName: 'tototransaction' },
tags: {
'http.host': 'localhost',
'http.method': 'GET',
'http.path': '/slow',
'http.route': '/slow',
'http.user_agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36',
'http.status_code': '304',
'result.code': undefined
}
}
```