| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							
- const io = require('@pm2/io')
 
- // Straight Metric
 
- var user_count = 10
 
- const users = io.metric({
 
-   name: 'CM: Realtime user',
 
-   value: () => {
 
-     return user_count
 
-   }
 
- })
 
- // or users.set(user_count)
 
- // Counter (.inc() .dec())
 
- const currentReq = io.counter({
 
-   name: 'CM: Current Processing',
 
-   type: 'counter'
 
- })
 
- setInterval(() => {
 
-   currentReq.inc()
 
- }, 1000)
 
- // Meter
 
- const reqsec = io.meter({
 
-   name: 'CM: req/sec'
 
- })
 
- setInterval(() => {
 
-   reqsec.mark()
 
- }, 100)
 
- // Histogram
 
- const latency = io.histogram({
 
-   name: 'CM: latency'
 
- });
 
- var latencyValue = 0;
 
- setInterval(() => {
 
-   latencyValue = Math.round(Math.random() * 100);
 
-   latency.update(latencyValue);
 
- }, 100)
 
- ////////////////////
 
- // Custom Actions //
 
- ////////////////////
 
- io.action('add user', (done) => {
 
-   user_count++
 
-   done({success:true})
 
- })
 
- io.action('remove user', (done) => {
 
-   user_count++
 
-   done({success:true})
 
- })
 
- io.action('with params', (arg, done) => {
 
-   console.log(arg)
 
-   done({success:arg})
 
- })
 
 
  |