From 1b44603b2f05966bcc76fc920c5a9fc9834b943b Mon Sep 17 00:00:00 2001 From: Martin Aarhof Date: Fri, 22 Nov 2013 14:05:34 +0100 Subject: [PATCH 1/2] added memory usage to console progress helper --- .../Console/Helper/ProgressHelper.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Console/Helper/ProgressHelper.php b/src/Symfony/Component/Console/Helper/ProgressHelper.php index b23ab21d4ec52..3ac733b8390e8 100644 --- a/src/Symfony/Component/Console/Helper/ProgressHelper.php +++ b/src/Symfony/Component/Console/Helper/ProgressHelper.php @@ -23,7 +23,7 @@ class ProgressHelper extends Helper { const FORMAT_QUIET = ' %percent%%'; const FORMAT_NORMAL = ' %current%/%max% [%bar%] %percent%%'; - const FORMAT_VERBOSE = ' %current%/%max% [%bar%] %percent%% Elapsed: %elapsed%'; + const FORMAT_VERBOSE = ' %current%/%max% [%bar%] %percent%% Elapsed: %elapsed% (%memory%)'; const FORMAT_QUIET_NOMAX = ' %current%'; const FORMAT_NORMAL_NOMAX = ' %current% [%bar%]'; const FORMAT_VERBOSE_NOMAX = ' %current% [%bar%] Elapsed: %elapsed%'; @@ -76,6 +76,7 @@ class ProgressHelper extends Helper 'bar', 'percent', 'elapsed', + 'memory' ); /** @@ -95,6 +96,7 @@ class ProgressHelper extends Helper 'max' => 4, 'percent' => 3, 'elapsed' => 6, + 'memory' => 6 ); /** @@ -392,9 +394,33 @@ private function generate($finish = false) $vars['percent'] = str_pad(floor($percent * 100), $this->widths['percent'], ' ', STR_PAD_LEFT); } + if (isset($this->formatVars['memory'])) { + $vars['memory'] = str_pad($this->humaneMemory(), $this->widths['memory'], ' ', STR_PAD_LEFT); + } + return $vars; } + /** + * Converts memory usage to human-readable format. + * + * @return string + */ + private function humaneMemory() + { + $memory = memory_get_usage(true); + if ($memory>1024*1024*1024*10) { + return sprintf('%.2fGB', $memory/1024/1024/1024); + } elseif ($memory>1024*1024*10) { + return sprintf('%.2fMB', $memory/1024/1024); + } elseif ($memory>1024*10) { + return sprintf('%.2fkB', $memory/1024); + } + + return sprintf('%.2fB', $memory); + + } + /** * Converts seconds into human-readable format. * From 8a18b7de3521c55d26ee517d7f18b5cf6af559e3 Mon Sep 17 00:00:00 2001 From: Martin Aarhof Date: Fri, 22 Nov 2013 16:28:21 +0100 Subject: [PATCH 2/2] added spaces around operators, removed elseif's --- .../Component/Console/Helper/ProgressHelper.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Console/Helper/ProgressHelper.php b/src/Symfony/Component/Console/Helper/ProgressHelper.php index 3ac733b8390e8..998f040947918 100644 --- a/src/Symfony/Component/Console/Helper/ProgressHelper.php +++ b/src/Symfony/Component/Console/Helper/ProgressHelper.php @@ -409,11 +409,16 @@ private function generate($finish = false) private function humaneMemory() { $memory = memory_get_usage(true); - if ($memory>1024*1024*1024*10) { + + if ($memory > 1024*1024*1024*10) { return sprintf('%.2fGB', $memory/1024/1024/1024); - } elseif ($memory>1024*1024*10) { + } + + if ($memory > 1024*1024*10) { return sprintf('%.2fMB', $memory/1024/1024); - } elseif ($memory>1024*10) { + } + + if ($memory > 1024*10) { return sprintf('%.2fkB', $memory/1024); }