@@ -31,30 +30,42 @@ export default class PodsPanel extends Base {
- {/*
- TODO: remove this (and all callers too)
- {!skipNodeName && (
- | Node |
- )}
- */}
Restarts |
- Cpu
+
+ Cpu
+ Actual
+
|
- Request
+
+ Cpu
+ Request
+
|
- Limit
+
+ Cpu
+ Limit
+
|
- Ram
+
+ Ram
+ Actual
+
|
- Request
+
+ Ram
+ Request
+
|
- Limit
+
+ Ram
+ Limit
+
|
@@ -67,7 +78,6 @@ export default class PodsPanel extends Base {
includeNamespace={!skipNamespace}
href={`#!pod/${x.metadata.namespace}/${x.metadata.name}`}
/>
- {/* {!skipNodeName &&
{x.spec.nodeName} | } */}
{getRestartCount(x)} |
{getChart(x, metrics, 'cpu')}
{getChart(x, metrics, 'memory')}
@@ -79,6 +89,11 @@ export default class PodsPanel extends Base {
}
}
+function sortBy(item, metrics, resource, type) {
+ const result = getPodResourcePercent(item, metrics, resource, type);
+ return Number.isFinite(result) ? result : -1;
+}
+
function getRestartCount({status}) {
return _.sumBy(status.containerStatuses, 'restartCount');
}
@@ -104,16 +119,16 @@ function getRawDisplay(item, metrics, actual, resource) {
return (
{actualResult.value}
- {actualResult.unit}
+ {actualResult.unit}
|
);
}
function getPercentDisplay(item, metrics, actual, resource, type) {
- if (!item || !metrics) return
| ;
+ if (!item || !metrics) return
| ;
const request = getPodResourceValue(item, resource, type);
- if (!request) return
- | ;
+ if (!request) return
- | ;
const unparser = resource === 'cpu' ? unparseCpu : unparseRam;
const result = unparser(request);
@@ -122,8 +137,8 @@ function getPercentDisplay(item, metrics, actual, resource, type) {
return (
- {percent}%
- {result.value}{result.unit}
+ {percent}%
+ {result.value}{result.unit}
|
);
}
diff --git a/client/src/components/podsPanel.scss b/client/src/components/podsPanel.scss
deleted file mode 100644
index 98f9651..0000000
--- a/client/src/components/podsPanel.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-@import '../scss/settings.scss';
-
-.podsPanel_label {
- margin-left: 2px;
- color: $color-light;
- font-size: $font-size-small;
-}
diff --git a/client/src/scss/index.scss b/client/src/scss/index.scss
index 69e4c53..caf2823 100755
--- a/client/src/scss/index.scss
+++ b/client/src/scss/index.scss
@@ -75,6 +75,11 @@ button.titleBar_hamburger {
fill: $color-white;
}
+.smallText {
+ color: $color-light;
+ font-size: $font-size-small;
+}
+
@media only screen and (max-width: $media-medium) {
.optional_medium {
display: none;
diff --git a/client/src/scss/settings.scss b/client/src/scss/settings.scss
index e85b63f..48565c5 100755
--- a/client/src/scss/settings.scss
+++ b/client/src/scss/settings.scss
@@ -21,4 +21,4 @@ $font-size-xlarge: 100px;
$media-xsmall: 700px;
$media-small: 812px;
-$media-medium: 1024px;
\ No newline at end of file
+$media-medium: 1200px;
\ No newline at end of file
diff --git a/client/src/utils/metricsHelpers.js b/client/src/utils/metricsHelpers.js
index c12030e..498f8e4 100644
--- a/client/src/utils/metricsHelpers.js
+++ b/client/src/utils/metricsHelpers.js
@@ -33,19 +33,14 @@ export function getNodeUsagePercent(node, metrics, resource) {
}
export function getNodeResourcesAvailable(node, resource) {
- if (!node) return null;
- return resource === 'cpu' ? parseCpu(node.status.capacity.cpu) : parseRam(node.status.capacity.memory);
+ return node ? parse(resource, node.status.capacity) : null;
}
export function getNodeUsage(node, metrics, resource) {
if (!node || !metrics) return null;
- const result = metrics[node.metadata.name] || {};
- if (!result) return null;
-
- const value = resource === 'cpu' ? result.usage.cpu : result.usage.memory;
- const parser = resource === 'cpu' ? parseCpu : parseRam;
- return parser(value);
+ const result = metrics[node.metadata.name];
+ return result ? parse(resource, result.usage) : null;
}
@@ -60,14 +55,16 @@ export function getPodUsage(pod, metrics, resource) {
if (!pod || !metrics) return null;
const metric = metrics[pod.metadata.name] || {};
- const parser = resource === 'cpu' ? parseCpu : parseRam;
- return _.sumBy(metric.containers, x => parser(x.usage[resource]));
+ return _.sumBy(metric.containers, x => parse(resource, x.usage));
}
export function getPodResourceValue(pod, resource, type) {
- const parser = resource === 'cpu' ? parseCpu : parseRam;
-
return _(pod.spec.containers)
.filter(x => x.resources && x.resources[type])
- .sumBy(x => parser(x.resources[type][resource]));
+ .sumBy(x => parse(resource, x.resources[type]));
+}
+
+function parse(resource, target) {
+ const parser = resource === 'cpu' ? parseCpu : parseRam;
+ return parser(target[resource]);
}
diff --git a/client/src/views/namespace.js b/client/src/views/namespace.js
index 52cd405..08a1119 100644
--- a/client/src/views/namespace.js
+++ b/client/src/views/namespace.js
@@ -70,7 +70,6 @@ export default class Namespace extends Base {
sort={podsSort}
metrics={filteredPodMetrics}
skipNamespace={true}
- skipNodeName={false}
/>
Events
diff --git a/client/src/views/node.js b/client/src/views/node.js
index 921491c..8e10cc2 100644
--- a/client/src/views/node.js
+++ b/client/src/views/node.js
@@ -112,7 +112,6 @@ export default class Node extends Base {
items={filteredPods}
sort={podsSort}
metrics={filteredPodMetrics}
- skipNodeName={true}
/>
);