From 48b785e8764a887f903cbb81476b4368f5588bd5 Mon Sep 17 00:00:00 2001 From: Fabien Somnier Date: Mon, 3 Feb 2014 18:12:20 +0100 Subject: [PATCH] New method getMemoryUsage to get RAM information message --- Doctrine/AbstractProvider.php | 5 +---- Propel/Provider.php | 5 +---- Provider/AbstractProvider.php | 12 ++++++++++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Doctrine/AbstractProvider.php b/Doctrine/AbstractProvider.php index eebfc79..796a5e4 100644 --- a/Doctrine/AbstractProvider.php +++ b/Doctrine/AbstractProvider.php @@ -54,14 +54,11 @@ abstract class AbstractProvider extends BaseAbstractProvider usleep($sleep); if ($loggerClosure) { - $memory = round(memory_get_usage() / (1024*1024),0); // to get usage in Mo - $memoryMax = round(memory_get_peak_usage() / (1024*1024)); // to get max usage in Mo - $message = '(RAM : current='.$memory.'Mo peak='.$memoryMax.'Mo)'; $stepNbObjects = count($objects); $stepCount = $stepNbObjects + $offset; $percentComplete = 100 * $stepCount / $nbObjects; $objectsPerSecond = $stepNbObjects / (microtime(true) - $stepStartTime); - $loggerClosure(sprintf('%0.1f%% (%d/%d), %d objects/s %s', $percentComplete, $stepCount, $nbObjects, $objectsPerSecond, $message)); + $loggerClosure(sprintf('%0.1f%% (%d/%d), %d objects/s %s', $percentComplete, $stepCount, $nbObjects, $objectsPerSecond, $this->getMemoryUsage())); } } } diff --git a/Propel/Provider.php b/Propel/Provider.php index 3eb1c4f..393beba 100644 --- a/Propel/Provider.php +++ b/Propel/Provider.php @@ -37,14 +37,11 @@ class Provider extends AbstractProvider usleep($sleep); if ($loggerClosure) { - $memory = round(memory_get_usage() / (1024*1024),0); // to get usage in Mo - $memoryMax = round(memory_get_peak_usage() / (1024*1024)); // to get usage in Mo - $message = '(RAM : current='.$memory.'Mo peak='.$memoryMax.'Mo)'; $stepNbObjects = count($objects); $stepCount = $stepNbObjects + $offset; $percentComplete = 100 * $stepCount / $nbObjects; $objectsPerSecond = $stepNbObjects / (microtime(true) - $stepStartTime); - $loggerClosure(sprintf('%0.1f%% (%d/%d), %d objects/s %s', $percentComplete, $stepCount, $nbObjects, $objectsPerSecond, $message)); + $loggerClosure(sprintf('%0.1f%% (%d/%d), %d objects/s %s', $percentComplete, $stepCount, $nbObjects, $objectsPerSecond, $this->getMemoryUsage())); } } } diff --git a/Provider/AbstractProvider.php b/Provider/AbstractProvider.php index 06883a3..48da5d7 100644 --- a/Provider/AbstractProvider.php +++ b/Provider/AbstractProvider.php @@ -26,4 +26,16 @@ abstract class AbstractProvider implements ProviderInterface 'batch_size' => 100, ), $options); } + + /** + * Get string with RAM usage information (current and peak) + * + * @return string + */ + protected function getMemoryUsage() { + $memory = round(memory_get_usage() / (1024*1024),0); // to get usage in Mo + $memoryMax = round(memory_get_peak_usage() / (1024*1024)); // to get max usage in Mo + $message = '(RAM : current='.$memory.'Mo peak='.$memoryMax.'Mo)'; + return $message; + } }