From 02111ed9a4935baf6c1f2968e50daf1b663702fe Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 20 Mar 2018 11:30:53 +0100 Subject: [dnbd3] Redesign proxy detail view, add image list --- modules-available/dnbd3/templates/page-proxy-config.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules-available/dnbd3/templates/page-proxy-config.html') diff --git a/modules-available/dnbd3/templates/page-proxy-config.html b/modules-available/dnbd3/templates/page-proxy-config.html index adc73a57..46e732c1 100644 --- a/modules-available/dnbd3/templates/page-proxy-config.html +++ b/modules-available/dnbd3/templates/page-proxy-config.html @@ -1,4 +1,4 @@ -
+

{{lang_proxyConfig}}

{{config}}
\ No newline at end of file -- cgit v1.2.3-55-g7522 From c98e08ea376b793e6d98b7a0e03d4d92afc2cca7 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 21 Mar 2018 16:08:52 +0100 Subject: [dnbd3] Hide tabs that aren't available --- modules-available/dnbd3/page.inc.php | 15 ++++++++------- modules-available/dnbd3/templates/page-proxy-clients.html | 2 +- modules-available/dnbd3/templates/page-proxy-config.html | 2 +- modules-available/dnbd3/templates/page-proxy-stats.html | 8 ++++++-- 4 files changed, 16 insertions(+), 11 deletions(-) (limited to 'modules-available/dnbd3/templates/page-proxy-config.html') diff --git a/modules-available/dnbd3/page.inc.php b/modules-available/dnbd3/page.inc.php index 8a9abdc1..4fe5dea1 100644 --- a/modules-available/dnbd3/page.inc.php +++ b/modules-available/dnbd3/page.inc.php @@ -264,7 +264,7 @@ class Page_Dnbd3 extends Page User::assertPermission('view.details'); $server = $this->getServerById(); Render::addTemplate('page-proxy-header', $server); - $stats = Dnbd3Rpc::query($server['ip'], 5003, true, true, true, true); + $stats = Dnbd3Rpc::query($server['ip'], 5003, true, true, true, true, true, true); if (!is_array($stats) || !isset($stats['runId'])) { Message::addError('server-unreachable'); return; @@ -277,9 +277,10 @@ class Page_Dnbd3 extends Page $stats['percentFree'] = round($stats['percentFree'], $stats['percentFree'] < 10 ? 1 : 0); } $stats['uptime_s'] = floor($stats['uptime'] / 86400) . 'd ' . gmdate('H:i:s', $stats['uptime']); + $stats['tab_config'] = is_string($stats['config']); + $stats['tab_altservers'] = is_array($stats['altservers']); Render::addTemplate('page-proxy-stats', $stats); Render::openTag('div', ['class' => 'tab-content']); - $confAlts = Dnbd3Rpc::query($server['ip'], 5003, false, false, false, false, true, true); $ips = array(); $sort = array(); foreach ($stats['clients'] as &$c) { @@ -290,15 +291,15 @@ class Page_Dnbd3 extends Page $ips = array_keys($ips); array_multisort($sort, SORT_DESC, $stats['clients']); // Config - if (is_string($confAlts['config'])) { - Render::addTemplate('page-proxy-config', $confAlts); + if (is_string($stats['config'])) { + Render::addTemplate('page-proxy-config', $stats); } - if (is_array($confAlts['altservers'])) { - foreach ($confAlts['altservers'] as &$as) { + if (is_array($stats['altservers'])) { + foreach ($stats['altservers'] as &$as) { $as['rtt'] = round(array_sum($as['rtt']) / count($as['rtt']) / 1000, 2); } unset($as); - Render::addTemplate('page-proxy-altservers', $confAlts); + Render::addTemplate('page-proxy-altservers', $stats); } // Count locations $res = Database::simpleQuery("SELECT locationid, Count(*) AS cnt FROM machine diff --git a/modules-available/dnbd3/templates/page-proxy-clients.html b/modules-available/dnbd3/templates/page-proxy-clients.html index dde20632..6733a056 100644 --- a/modules-available/dnbd3/templates/page-proxy-clients.html +++ b/modules-available/dnbd3/templates/page-proxy-clients.html @@ -1,4 +1,4 @@ -
+
{{#loclist.0}} diff --git a/modules-available/dnbd3/templates/page-proxy-config.html b/modules-available/dnbd3/templates/page-proxy-config.html index 46e732c1..79f56015 100644 --- a/modules-available/dnbd3/templates/page-proxy-config.html +++ b/modules-available/dnbd3/templates/page-proxy-config.html @@ -1,4 +1,4 @@ -
+

{{lang_proxyConfig}}

{{config}}
\ No newline at end of file diff --git a/modules-available/dnbd3/templates/page-proxy-stats.html b/modules-available/dnbd3/templates/page-proxy-stats.html index 9a03b718..a866903c 100644 --- a/modules-available/dnbd3/templates/page-proxy-stats.html +++ b/modules-available/dnbd3/templates/page-proxy-stats.html @@ -16,8 +16,12 @@
\ No newline at end of file -- cgit v1.2.3-55-g7522 From c226f585bf23c830cb98bcaa15394aec813e12bc Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 11 Apr 2018 23:46:13 +0200 Subject: [dnbd3] Colorful config formatting --- modules-available/dnbd3/page.inc.php | 24 ++++++++++++++++++++++ .../dnbd3/templates/page-proxy-config.html | 18 ++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) (limited to 'modules-available/dnbd3/templates/page-proxy-config.html') diff --git a/modules-available/dnbd3/page.inc.php b/modules-available/dnbd3/page.inc.php index f30abfe1..84007797 100644 --- a/modules-available/dnbd3/page.inc.php +++ b/modules-available/dnbd3/page.inc.php @@ -292,6 +292,30 @@ class Page_Dnbd3 extends Page array_multisort($sort, SORT_DESC, $stats['clients']); // Config if (is_string($stats['config'])) { + preg_match_all('/^((?\[.*\])|(?[^=]+)=(?.*)|(?[^\[][^=]*))$/m', $stats['config'], $out, PREG_SET_ORDER); + $stats['config'] = []; + foreach ($out as $line) { + if (!empty($line['sec'])) { + $stats['config'][] = ['class1' => 'text-primary', 'text1' => $line['sec']]; + } elseif (!empty($line['other'])) { + $stats['config'][] = ['class1' => 'text-muted', 'text1' => $line['other']]; + } else { + $extra = ''; + $class2 = 'slx-bold'; + if (in_array($line['key'], ['serverPenalty', 'clientPenalty'])) { + $extra = round($line['val'] / 1000, 1) . 'ms'; + } elseif (in_array($line['key'], ['uplinkTimeout', 'clientTimeout'])) { + $extra = round($line['val'] / 1000, 1) . 's'; + } elseif (in_array($line['key'], ['maxPayload', 'maxReplicationSize'])) { + $extra = Util::readableFilesize($line['val']); + } elseif ($line['val'] === 'true') { + $class2 .= ' text-success'; + } elseif ($line['val'] === 'false') { + $class2 .= ' text-danger'; + } + $stats['config'][] = ['text1' => $line['key'], 'class2' => $class2, 'text2' => $line['val'] . ' ', 'extra' => $extra]; + } + } Render::addTemplate('page-proxy-config', $stats); } if (is_array($stats['altservers'])) { diff --git a/modules-available/dnbd3/templates/page-proxy-config.html b/modules-available/dnbd3/templates/page-proxy-config.html index 79f56015..f258e030 100644 --- a/modules-available/dnbd3/templates/page-proxy-config.html +++ b/modules-available/dnbd3/templates/page-proxy-config.html @@ -1,4 +1,18 @@ +

{{lang_proxyConfig}}

-
{{config}}
-
\ No newline at end of file +
+ {{#config}} + {{text1}}{{#text2}}={{/text2}}{{text2}} + {{#extra}} + + {{/extra}} +
+ {{/config}} +
+
-- cgit v1.2.3-55-g7522