fixbug, the nonheap free dashboard is minus (#161)
* fixbug, the nonheap free dashboard is minus
* the jvm-maxHeap & jvm-maxNonHeap is -1, Free is no value
* the jvm-maxHeap & jvm-maxNonHeap is -1, Free is no value
* the jvm-maxHeap & jvm-maxNonHeap is -1, Free is no value
* the jvm-maxHeap & jvm-maxNonHeap is -1, Free is no value
* the jvm-maxHeap & jvm-maxNonHeap is -1, Free is no value
diff --git a/src/store/modules/dashboard/source/index.ts b/src/store/modules/dashboard/source/index.ts
index a8eb80f..d8405e9 100644
--- a/src/store/modules/dashboard/source/index.ts
+++ b/src/store/modules/dashboard/source/index.ts
@@ -71,8 +71,8 @@
instanceCPU: { cpu: number[]; };
instanceGC: { oldGC: number[], youngGC: number[] };
instanceGCCount: { oldGC: number[], youngGC: number[] };
- instanceHeap: { Value: number[], Free: number[] };
- instanceNonheap: { Value: number[], Free: number[] };
+ instanceHeap: { Value: number[], Free: number[], Hint: string };
+ instanceNonheap: { Value: number[], Free: number[], Hint: string };
instanceClrHeap: { Value: number[] };
instanceClrCPU: { cpu: number[]; };
instanceClrGC: { clrGCGen0: number[], clrGCGen1: number[], clrGCGen2: number[]};
diff --git a/src/store/modules/dashboard/source/instance.ts b/src/store/modules/dashboard/source/instance.ts
index c8a9bb8..609352d 100644
--- a/src/store/modules/dashboard/source/instance.ts
+++ b/src/store/modules/dashboard/source/instance.ts
@@ -24,8 +24,8 @@
instanceCPU: { cpu: number[]; };
instanceGC: { oldGC: number[], youngGC: number[] };
instanceGCCount: { oldGC: number[], youngGC: number[] };
- instanceHeap: { Value: number[], Free: number[] };
- instanceNonheap: { Value: number[], Free: number[] };
+ instanceHeap: { Value: number[], Free: number[], Hint: string };
+ instanceNonheap: { Value: number[], Free: number[], Hint: string };
instanceClrHeap: { Value: number[] };
instanceClrCPU: { cpu: number[]; };
instanceClrGC: { clrGCGen0: number[], clrGCGen1: number[], clrGCGen2: number[]};
@@ -38,8 +38,8 @@
instanceCPU: { cpu: [] },
instanceGC: { oldGC: [], youngGC: [] },
instanceGCCount: { oldGC: [], youngGC: [] },
- instanceHeap: { Value: [], Free: [] },
- instanceNonheap: { Value: [], Free: [] },
+ instanceHeap: { Value: [], Free: [], Hint: '' },
+ instanceNonheap: { Value: [], Free: [], Hint: '' },
instanceClrHeap: { Value: [] },
instanceClrCPU: { cpu: [] },
instanceClrGC: { clrGCGen0: [], clrGCGen1: [], clrGCGen2: [] },
@@ -68,12 +68,16 @@
if (params && params.heap && params.maxHeap) {
state.instanceHeap.Value = params.heap.values.map((i: Value) => (i.value / 1048576).toFixed(2));
state.instanceHeap.Free = params.maxHeap.values
- .map((i: Value, index: number) => ((i.value / 1048576 ) - state.instanceHeap.Value[index]).toFixed(2));
+ .map((i: Value, index: number) =>
+ i.value > -1 ? ((i.value / 1048576) - state.instanceHeap.Value[index]).toFixed(2) : 0);
+ state.instanceHeap.Hint = Math.max.apply(Math, params.maxHeap.values) === -1 ? 'Max Heap Unlimited' : '';
}
if (params && params.nonheap && params.maxNonHeap) {
state.instanceNonheap.Value = params.nonheap.values.map((i: Value) => (i.value / 1048576).toFixed(2));
state.instanceNonheap.Free = params.maxNonHeap.values
- .map((i: Value, index: number) => ( state.instanceNonheap.Value[index] - (i.value / 1048576 )).toFixed(2));
+ .map((i: Value, index: number) =>
+ i.value > -1 ? ((i.value / 1048576) - state.instanceNonheap.Value[index]).toFixed(2) : 0);
+ state.instanceNonheap.Hint = Math.max.apply(Math, params.maxNonHeap.values) === -1 ? 'Max NonHeap Unlimited' : '';
}
if (params && params.clrHeap) {
state.instanceClrHeap.Value = params.clrHeap.values.map((i: Value) => (i.value / 1048576 ).toFixed(2));
diff --git a/src/views/components/dashboard/charts/chart-line.vue b/src/views/components/dashboard/charts/chart-line.vue
index c9c85f0..75103f2 100644
--- a/src/views/components/dashboard/charts/chart-line.vue
+++ b/src/views/components/dashboard/charts/chart-line.vue
@@ -31,7 +31,7 @@
}
get option() {
const temp: any = [];
- const keys = Object.keys(this.data || {});
+ const keys = Object.keys(this.data || {}).filter((i: any) => Array.isArray(this.data[i]) && this.data[i].length);
keys.forEach((i: any, index: number) => {
const serie: any = {
data: this.data[i].map((item: any, itemIndex: number) => [
diff --git a/src/views/components/dashboard/dashboard-item.vue b/src/views/components/dashboard/dashboard-item.vue
index adbd71e..8cf3c44 100644
--- a/src/views/components/dashboard/dashboard-item.vue
+++ b/src/views/components/dashboard/dashboard-item.vue
@@ -23,6 +23,7 @@
<use xlink:href="#file-deletion"></use>
</svg>
<span>{{i.t}}</span>
+ <span class="hint" v-if="rocketDashboard[i.d].Hint" >({{rocketDashboard[i.d].Hint}})</span>
</div>
<div class="rk-dashboard-item-body">
<div style="height:100%;">
@@ -78,6 +79,10 @@
color: #9da5b2;
padding: 6px 10px ;
}
+.rk-dashboard-item-title .hint{
+ color: #FBB03B;
+ padding-left: 10px ;
+}
.dashboard-item-title-input{
border-style: unset;
background-color: #ffffffcc;