hemera-stats v6.0.2
Hemera-stats package
Collect service and process stats from all hemera instances.
Schema extraction only works with the Joi validator. PR welcome!
Use cases:
- Get a list of all hemera instances and watch the internal behaviour (Memory, V8 internals, Environment, App-Name, Uptime)
- Get a list of all registered server actions and create an API Documentation
- Get a list of all registered server actions and create a realtime dashboard
If you want to get a list of all active subscriber, connections you can use the NATS HTTP Interface it will respond a JSON object.
Usage
const hemera = new Hemera(nats, {
load: {
process: {
sampleInterval: 100
}
}
})
hemera.use(require('hemera-stats'))
Monitoring
Pull
Subscribe for informations.
Process Info
Returns process informations.
The pattern is:
topic
: is the topic name to publish tostats
cmd
: is the command to executeprocessInfo
Example:
hemera.act(
{
topic: 'stats',
cmd: 'processInfo',
maxMessages$: -1
},
function(err, resp) {} // Handler is called multiple times
)
Result:
{ app: 'hemera-d1ce3ef6834eeac1',
eventLoopDelay: 3.487878993153572,
heapUsed: 12137328,
rss: 32841728,
nodeEnv: 'development',
uptime: 0.193,
ts: 1488632377418 }
Registered actions
Returns all registered server actions.
The pattern is:
topic
: is the topic name to publish tostats
cmd
: is the command to executeregisteredActions
Example:
hemera.act(
{
topic: 'stats',
cmd: 'registeredActions'
},
function(err, resp) {}
)
Result:
{
"app": "hemera-97b748fab6b5d34b",
"actions": [{
"pattern": {
"topic": "math",
"cmd": "add"
},
"schema": {
"a": {
"description": "this key will match any number you give it",
"notes": ["this is special", "this is important"],
"tags": [],
"default": 33,
"required": true,
"examples": [1]
}
},
"plugin": "core",
"ts": 1488632377418
}]
}
Push
Request for informations.
sendProcStats
Broadcast the process informations to the specific pattern.
Example:
hemera.sendProcStats({
topic: 'action.stats'
})
sendActionStats
Broadcast the action informations to the specific pattern.
Example:
hemera.sendActionStats({
topic: 'process.stats'
})
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago