dist/monitor-all.js
function(name, params, callback) {
      var t = this,
          probe = t.probe,
          logId = 'control.' + t.get('probeClass') + '.' + name,
          startTime = Date.now();

      // Switch callback if sent in 2nd arg
      if (typeof params === 'function') {
        callback = params;
        params = null;
      }

      log.info(logId, params);

      var whenDone = function(error, args) {
        if (error) {
          log.error(logId, error);
        }
        else {
          log.info('return.' + logId, args);
          stat.time(logId, Date.now() - startTime);
        }

        if (callback) {
          callback.apply(t, arguments);
        }
      };

      if (!probe) {
        return whenDone('Probe not connected');
      }

      // Send the message internally or to the probe connection
      if (probe.connection) {
        probe.connection.emit('probe:control', {probeId: t.get('probeId'), name: name, params:params}, whenDone);
      } else {
        probe.onControl(name, params, whenDone);
      }
    }
function(name, params, callback) {
      var t = this,
          probe = t.probe,
          logId = 'control.' + t.get('probeClass') + '.' + name,
          startTime = Date.now();

      // Switch callback if sent in 2nd arg
      if (typeof params === 'function') {
        callback = params;
        params = null;
      }

      log.info(logId, params);

      var whenDone = function(error, args) {
        if (error) {
          log.error(logId, error);
        }
        else {
          log.info('return.' + logId, args);
          stat.time(logId, Date.now() - startTime);
        }

        if (callback) {
          callback.apply(t, arguments);
        }
      };

      if (!probe) {
        return whenDone('Probe not connected');
      }

      // Send the message internally or to the probe connection
      if (probe.connection) {
        probe.connection.emit('probe:control', {probeId: t.get('probeId'), name: name, params:params}, whenDone);
      } else {
        probe.onControl(name, params, whenDone);
      }
    }
function ( name , params , callback ) { var t = this , probe = t . probe , logId = 'control.' + t . get ( 'probeClass' ) + '.' + name , startTime = Date . now ( ) ; // Switch callback if sent in 2nd arg if ( typeof params === 'function' ) { callback = params ; params = null ; } log . info ( logId , params ) ; var whenDone = function ( error , args ) { if ( error ) { log . error ( logId , error ) ; } else { log . info ( 'return.' + logId , args ) ; stat . time ( logId , Date . now ( ) - startTime ) ; } if ( callback ) { callback . apply ( t , arguments ) ; } } ; if ( ! probe ) { return whenDone ( 'Probe not connected' ) ; } // Send the message internally or to the probe connection if ( probe . connection ) { probe . connection . emit ( 'probe:control' , { probeId : t . get ( 'probeId' ) , name : name , params : params } , whenDone ) ; } else { probe . onControl ( name , params , whenDone ) ; } }
Send a control message to the probe.

Monitors can use this method to send a message and receive a response
from a connected probe.

The probe must implement the specified control method.  All probes are
derived from the base <a href="Probe.html">Probe</a> class, which offers
a ping control.

To send a ping message to a probe and log the results:

var myMonitor.control('ping', console.log);

@method control
@param name {String} Name of the control message.
@param [params] {Object} Named input parameters specific to the control message.
@param [callback] {Function(error, response)} Function to call upon return.
<ul>
<li>error (Any) - An object describing an error (null if no errors)</li>
<li>response (Any) - Response parameters specific to the control message.</li>
</ul>
Send a control message to the probe .