From e44337bc0b4f640bebd72bcc6f317cef2f0342c1 Mon Sep 17 00:00:00 2001 From: dingguodong Date: Tue, 2 Jul 2024 09:45:06 +0800 Subject: [PATCH] + [task#121514] Show volume metrics. --- module/instance/model.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/module/instance/model.php b/module/instance/model.php index 0f4bf04b54..d71bfb4900 100644 --- a/module/instance/model.php +++ b/module/instance/model.php @@ -10,6 +10,7 @@ declare(strict_types=1); * @version $Id$ * @link https://www.zentao.net * @property actionModel $action + * @property cneModel $cne */ class instanceModel extends model { @@ -958,6 +959,31 @@ class instanceModel extends model return array('color' => $color, 'tip' => $tip, 'rate' => $rate . '%', 'usage' => helper::formatKB($metrics->usage), 'limit' => helper::formatKB($metrics->limit)); } + /** + * 打印存储使用信息。 + * Print the volume usage. + * + * @param object $instance + * @param object $metrics + * @static + * @access public + * @return array + */ + public static function printVolUsage(object $instance, object $metrics): array + { + if($instance->source === 'user') return array('color' => '', 'tip' => '', 'rate' => '', 'usage' => '', 'limit' => ''); + $rate = $instance->status == 'stopped' ? 0 : $metrics->rate; + $tip = "{$rate}% = " . helper::formatKB($metrics->usage) . ' / ' . helper::formatKB($metrics->limit); + + if(empty($color) && $rate == 0) $color = 'gray'; + if(empty($color) && $rate > 0 && $rate < 50) $color = 'secondary'; + if(empty($color) && $rate >= 0 && $rate < 70) $color = 'warning'; + if(empty($color) && $rate >= 0 && $rate < 90) $color = 'important'; + if(empty($color) && $rate >= 80) $color = 'danger'; + + return array('color' => $color, 'tip' => $tip, 'rate' => $rate . '%', 'usage' => helper::formatKB($metrics->usage), 'limit' => helper::formatKB($metrics->limit)); + } + /** * 检查内存是否充足。 * Check the free memory of cluster is enough to install app.