diff --git a/includes/discovery/functions.inc.php b/includes/discovery/functions.inc.php index b939da5aa5..cecd98d428 100644 --- a/includes/discovery/functions.inc.php +++ b/includes/discovery/functions.inc.php @@ -106,20 +106,26 @@ function discover_device($device, $options = null) { // If we've specified modules, use them, else walk the modules array if ($options['m']) { + $config['discovery_modules'] = array(); foreach (explode(',', $options['m']) as $module) { if (is_file("includes/discovery/$module.inc.php")) { - load_discovery_module($module, $device, $attribs); + $config['discovery_modules'][$module] = 1; } } - } else { - foreach ($config['discovery_modules'] as $module => $module_status) { - if ($attribs['discover_' . $module] || ( $module_status && !isset($attribs['discover_' . $module]))) { - load_discovery_module($module, $device, $attribs); - } else if (isset($attribs['discover_' . $module]) && $attribs['discover_' . $module] == '0') { - echo "Module [ $module ] disabled on host.\n\n"; - } else { - echo "Module [ $module ] disabled globally.\n\n"; - } + } + foreach ($config['discovery_modules'] as $module => $module_status) { + if ($attribs['discover_' . $module] || ( $module_status && !isset($attribs['discover_' . $module]))) { + $module_start = microtime(true); + echo "#### Load disco module $module ####\n"; + include "includes/discovery/$module.inc.php"; + $module_time = microtime(true) - $module_start; + $module_time = substr($module_time, 0, 5); + echo "\n>> Runtime for discovery module '$module': $module_time seconds\n"; + echo "#### Unload disco module $module ####\n\n"; + } else if (isset($attribs['discover_' . $module]) && $attribs['discover_' . $module] == '0') { + echo "Module [ $module ] disabled on host.\n\n"; + } else { + echo "Module [ $module ] disabled globally.\n\n"; } } @@ -848,13 +854,3 @@ function avtech_add_sensor($device, $sensor) { return true; } -function load_discovery_module($module, $device, $attribs) { - global $config, $valid; - $module_start = microtime(true); - echo "#### Load disco module $module ####\n"; - include "includes/discovery/$module.inc.php"; - $module_time = microtime(true) - $module_start; - $module_time = substr($module_time, 0, 5); - echo "\n>> Runtime for discovery module '$module': $module_time seconds\n"; - echo "#### Unload disco module $module ####\n\n"; -} diff --git a/includes/polling/functions.inc.php b/includes/polling/functions.inc.php index 8f213c5011..b8ab9a31e3 100644 --- a/includes/polling/functions.inc.php +++ b/includes/polling/functions.inc.php @@ -235,42 +235,47 @@ function poll_device($device, $options) { include 'includes/polling/core.inc.php'; if ($options['m']) { + $config['poller_modules'] = array(); foreach (explode(',', $options['m']) as $module) { if (is_file('includes/polling/'.$module.'.inc.php')) { - load_poller_module($module, $device, $attribs); + $config['poller_modules'][$module] = 1; } } } - else { - foreach ($config['poller_modules'] as $module => $module_status) { - if ($attribs['poll_'.$module] || ( $module_status && !isset($attribs['poll_'.$module]))) { - $module_time = load_poller_module($module, $device, $attribs); + foreach ($config['poller_modules'] as $module => $module_status) { + if ($attribs['poll_'.$module] || ( $module_status && !isset($attribs['poll_'.$module]))) { + $module_start = microtime(true); + echo "\n#### Load poller module $module ####\n"; + include "includes/polling/$module.inc.php"; + $module_time = microtime(true) - $module_start; + $module_time = substr($module_time, 0, 5); + echo "\n>> Runtime for poller module '$module': $module_time seconds\n"; + echo "#### Unload poller module $module ####\n\n"; - // save per-module poller stats - $tags = array( - 'module' => $module, - 'rrd_def' => 'DS:poller:GAUGE:600:0:U', - 'rrd_name' => array('poller-perf', $module), - ); - $fields = array( - 'poller' => $module_time, - ); - data_update($device, 'poller-perf', $tags, $fields); + // save per-module poller stats + $tags = array( + 'module' => $module, + 'rrd_def' => 'DS:poller:GAUGE:600:0:U', + 'rrd_name' => array('poller-perf', $module), + ); + $fields = array( + 'poller' => $module_time, + ); + data_update($device, 'poller-perf', $tags, $fields); - // remove old rrd - $oldrrd = rrd_name($device['hostname'], array('poller', $module, 'perf')); - if (is_file($oldrrd)) { - unlink($oldrrd); - } - } - else if (isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] == '0') { - echo "Module [ $module ] disabled on host.\n"; - } - else { - echo "Module [ $module ] disabled globally.\n"; - } + // remove old rrd + $oldrrd = rrd_name($device['hostname'], array('poller', $module, 'perf')); + if (is_file($oldrrd)) { + unlink($oldrrd); + } } - }//end if + else if (isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] == '0') { + echo "Module [ $module ] disabled on host.\n"; + } + else { + echo "Module [ $module ] disabled globally.\n"; + } + } // Update device_groups UpdateGroupsForDevice($device['device_id']); @@ -528,14 +533,3 @@ function location_to_latlng($device) { } }// end location_to_latlng() -function load_poller_module($module, $device, $attribs) { - global $config, $valid; - $module_start = microtime(true); - echo "\n#### Load poller module $module ####\n"; - include "includes/polling/$module.inc.php"; - $module_time = microtime(true) - $module_start; - $module_time = substr($module_time, 0, 5); - echo "\n>> Runtime for poller module '$module': $module_time seconds\n"; - echo "#### Unload poller module $module ####\n\n"; - return $module_time; -}