Node Monitor v0.6.5


ProcessProbe Class

Extends PollingProbe
Module: Probes

Probe for attaining process and O/S information



  • [initParams]
  • model


  • [initParams] Object optional

    Probe initialization parameters (from PollingProbe)

    • [pollInterval] Integer optional

      Polling interval in milliseconds. Default: null

    • [cronPattern] String optional

      Crontab syle polling pattern. Default once per second: "* * * * * *"

  • model Object

    Monitor data model elements

    • platform String

      O/S Platform

    • version String

      Node.js compiled-in version

    • installPrefix String

      Node.js installation directory

    • title String

      The current process title (as reported in ps)

    • execPath String

      The path to the current node.js executable

    • argv Array(String)

      Arguments passed on the command line to this process

    • env Object

      Current environment (inherited)

    • cwd String

      Current working directory

    • uptime Integer

      Number of seconds the process has been up (if available)

    • versions String

      Versions of V8 and dependent libraries (if available)

    • arch String

      Processor architecture (if available)

    • gid Integer

      Process group ID

    • uid Integer

      Process user ID

    • pid Integer

      Unique process ID

    • umask Integer

      The process file mode creation mask

    • memoryUsage Object

      An object describing memory usage of the node.js process

      • rss Integer
        As defined by process.memoryUsage
      • vsize Integer
        As defined by process.memoryUsage
      • heapTotal Integer
        As defined by process.memoryUsage
      • heapUsed Integer
        As defined by process.memoryUsage
    • os Object

      An object containing O/S information

      • hostname String
        Name of the host operating system
      • type String
        Operating system type
      • release String
        O/S Release version
      • uptime String
        O/S Uptime in seconds
      • loadavg Array(Number)
        An array containing the 1, 5, and 15 minute load averages
      • freemem Integer
        Free O/S memory (in bytes)
      • totalmem Integer
        Total O/S memory capacity (in bytes)
      • cpus Array(Object)
        An array of objects containing information about each CPU/core installed



  • attributes
  • options

Inherited from Probe:

Initialize the probe

This is called on the probe during construction. It contains the probe initialization attributes and an option to make probe construction asynchronous.

Probe implementations can defer the initial response to the monitor until the initial state is loaded. This allows the callback on Monitor.connect() to have the complete initial state of the probe when called.

If the initial probe state cannot be determined in initialize, it should set the options.asyncInit option to true, and call the options.callback(error) once the initial state is determined.

// Asynchronous initialization
options.asyncInit = true;
var callback = options.callback

If asyncInit is set to true, the callback must be called once the initial state of the probe is known (or in an error condition).

// Set the initial state, and call the callback

See the initialize method of the FileProbe probe for an example. It defers returning the probe to the monitor until the initial file contents are loaded.


  • attributes Object

    Initial probe attributes sent in from the Monitor

  • options Object

    Initialization options

    • asyncInit Boolean

      Set this to TRUE if the initial probe state can't be known immediately.

    • callback Function(error)

      The callback to call if asyncInit is set to true. If an error is passed, the probe will not be used.


  • name
  • [params]
  • [callback]

Inherited from Probe:

Dispatch a control message to the appropriate control function.

This is called when the control() method of a monitor is called. The name determines the method name called on the probe.

The probe must implement a method with the name {name}_control(), and that method must accept two parameters - an input params and a callback. The callback must be called, passing an optional error and response object.

For example, if the probe supports a control with the name go, then all it needs to do is implement the go_control() method with the proper signature. See ping_control() for an example.


  • name String

    Name of the control message.

  • [params] Any optional

    Input parameters specific to the control message.

  • [callback] Function(error, response) optional

    Called to send the message (or error) response.

    • error (Any) An object describing an error (null if no errors)
    • response (Any) Response parameters specific to the control message.


  • params
  • callback

Inherited from Probe:

Respond to a ping control sent from a monitor


  • params Object

    Input parameters (not used)

  • callback Function(error, response)

    Called to send the message (or error) response.

    • error (Any) An object describing an error
    • response (String) The string 'pong' is returned as the response



Poll the probe for changes

This method is called by the parent PollingProbe on the interval specified by the client Monitor.

It polls for process information, and updates the data model with any changes.



Inherited from Probe:

Release any resources consumed by this probe.

This can be implemented by derived classes that need to be informed when they are to be shut down.

Probes that listen to events should use this method to remove their event listeners.