diff --git a/internal/web/actions/default/clusters/cluster/boards/index.go b/internal/web/actions/default/clusters/cluster/boards/index.go index dacb363c..ba820170 100644 --- a/internal/web/actions/default/clusters/cluster/boards/index.go +++ b/internal/web/actions/default/clusters/cluster/boards/index.go @@ -143,7 +143,7 @@ func (this *IndexAction) RunGet(params struct { // 指标 { var chartMaps = []maps.Map{} - for _, chart := range resp.MetricCharts { + for _, chart := range resp.MetricDataCharts { var statMaps = []maps.Map{} for _, stat := range chart.MetricStats { statMaps = append(statMaps, maps.Map{ @@ -164,11 +164,12 @@ func (this *IndexAction) RunGet(params struct { "type": chart.MetricChart.Type, }, "item": maps.Map{ - "id": chart.MetricChart.MetricItem.Id, - "name": chart.MetricChart.MetricItem.Name, - "period": chart.MetricChart.MetricItem.Period, - "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, - "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "id": chart.MetricChart.MetricItem.Id, + "name": chart.MetricChart.MetricItem.Name, + "period": chart.MetricChart.MetricItem.Period, + "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, + "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), }, "stats": statMaps, }) diff --git a/internal/web/actions/default/clusters/cluster/node/boards/index.go b/internal/web/actions/default/clusters/cluster/node/boards/index.go index d3154e1a..34526e35 100644 --- a/internal/web/actions/default/clusters/cluster/node/boards/index.go +++ b/internal/web/actions/default/clusters/cluster/node/boards/index.go @@ -165,7 +165,7 @@ func (this *IndexAction) RunGet(params struct { // 指标 { var chartMaps = []maps.Map{} - for _, chart := range resp.MetricCharts { + for _, chart := range resp.MetricDataCharts { var statMaps = []maps.Map{} for _, stat := range chart.MetricStats { statMaps = append(statMaps, maps.Map{ @@ -186,11 +186,12 @@ func (this *IndexAction) RunGet(params struct { "type": chart.MetricChart.Type, }, "item": maps.Map{ - "id": chart.MetricChart.MetricItem.Id, - "name": chart.MetricChart.MetricItem.Name, - "period": chart.MetricChart.MetricItem.Period, - "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, - "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "id": chart.MetricChart.MetricItem.Id, + "name": chart.MetricChart.MetricItem.Name, + "period": chart.MetricChart.MetricItem.Period, + "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, + "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), }, "stats": statMaps, }) diff --git a/internal/web/actions/default/dashboard/boards/index.go b/internal/web/actions/default/dashboard/boards/index.go index 63575fab..cd07ebea 100644 --- a/internal/web/actions/default/dashboard/boards/index.go +++ b/internal/web/actions/default/dashboard/boards/index.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/maps" "regexp" ) @@ -206,5 +207,42 @@ func (this *IndexAction) RunGet(params struct{}) { } } + // 指标 + { + var chartMaps = []maps.Map{} + for _, chart := range resp.MetricDataCharts { + var statMaps = []maps.Map{} + for _, stat := range chart.MetricStats { + statMaps = append(statMaps, maps.Map{ + "keys": stat.Keys, + "time": stat.Time, + "value": stat.Value, + "count": stat.SumCount, + "total": stat.SumTotal, + }) + } + chartMaps = append(chartMaps, maps.Map{ + "chart": maps.Map{ + "id": chart.MetricChart.Id, + "name": chart.MetricChart.Name, + "widthDiv": chart.MetricChart.WidthDiv, + "isOn": chart.MetricChart.IsOn, + "maxItems": chart.MetricChart.MaxItems, + "type": chart.MetricChart.Type, + }, + "item": maps.Map{ + "id": chart.MetricChart.MetricItem.Id, + "name": chart.MetricChart.MetricItem.Name, + "period": chart.MetricChart.MetricItem.Period, + "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, + "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + }, + "stats": statMaps, + }) + } + this.Data["metricCharts"] = chartMaps + } + this.Show() } diff --git a/internal/web/actions/default/dashboard/index.go b/internal/web/actions/default/dashboard/index.go index c3c59ac4..2ae28237 100644 --- a/internal/web/actions/default/dashboard/index.go +++ b/internal/web/actions/default/dashboard/index.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/maps" "regexp" ) @@ -167,5 +168,42 @@ func (this *IndexAction) RunGet(params struct{}) { } } + // 指标 + { + var chartMaps = []maps.Map{} + for _, chart := range resp.MetricDataCharts { + var statMaps = []maps.Map{} + for _, stat := range chart.MetricStats { + statMaps = append(statMaps, maps.Map{ + "keys": stat.Keys, + "time": stat.Time, + "value": stat.Value, + "count": stat.SumCount, + "total": stat.SumTotal, + }) + } + chartMaps = append(chartMaps, maps.Map{ + "chart": maps.Map{ + "id": chart.MetricChart.Id, + "name": chart.MetricChart.Name, + "widthDiv": chart.MetricChart.WidthDiv, + "isOn": chart.MetricChart.IsOn, + "maxItems": chart.MetricChart.MaxItems, + "type": chart.MetricChart.Type, + }, + "item": maps.Map{ + "id": chart.MetricChart.MetricItem.Id, + "name": chart.MetricChart.MetricItem.Name, + "period": chart.MetricChart.MetricItem.Period, + "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, + "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + }, + "stats": statMaps, + }) + } + this.Data["metricCharts"] = chartMaps + } + this.Show() } diff --git a/internal/web/actions/default/servers/metrics/charts/chart.go b/internal/web/actions/default/servers/metrics/charts/chart.go index 1045abf0..cf4d6763 100644 --- a/internal/web/actions/default/servers/metrics/charts/chart.go +++ b/internal/web/actions/default/servers/metrics/charts/chart.go @@ -6,6 +6,8 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/metrics/charts/chartutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/metrics/metricutils" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/iwind/TeaGo/maps" ) type ChartAction struct { @@ -31,5 +33,8 @@ func (this *ChartAction) RunGet(params struct { return } + var itemMap = this.Data["item"].(maps.Map) + itemMap["valueTypeName"] = serverconfigs.FindMetricValueName(itemMap.GetString("category"), itemMap.GetString("value")) + this.Show() } diff --git a/internal/web/actions/default/servers/server/boards/index.go b/internal/web/actions/default/servers/server/boards/index.go index d983d3ac..6bf67ddf 100644 --- a/internal/web/actions/default/servers/server/boards/index.go +++ b/internal/web/actions/default/servers/server/boards/index.go @@ -117,7 +117,7 @@ func (this *IndexAction) RunGet(params struct { // 指标 { var chartMaps = []maps.Map{} - for _, chart := range resp.MetricCharts { + for _, chart := range resp.MetricDataCharts { var statMaps = []maps.Map{} for _, stat := range chart.MetricStats { statMaps = append(statMaps, maps.Map{ @@ -138,11 +138,12 @@ func (this *IndexAction) RunGet(params struct { "type": chart.MetricChart.Type, }, "item": maps.Map{ - "id": chart.MetricChart.MetricItem.Id, - "name": chart.MetricChart.MetricItem.Name, - "period": chart.MetricChart.MetricItem.Period, - "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, - "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "id": chart.MetricChart.MetricItem.Id, + "name": chart.MetricChart.MetricItem.Name, + "period": chart.MetricChart.MetricItem.Period, + "periodUnit": chart.MetricChart.MetricItem.PeriodUnit, + "valueType": serverconfigs.FindMetricValueType(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), + "valueTypeName": serverconfigs.FindMetricValueName(chart.MetricChart.MetricItem.Category, chart.MetricChart.MetricItem.Value), }, "stats": statMaps, }) diff --git a/web/public/js/components/server/metric-charts.js b/web/public/js/components/server/metric-charts.js index 86fb9709..97a74923 100644 --- a/web/public/js/components/server/metric-charts.js +++ b/web/public/js/components/server/metric-charts.js @@ -1,6 +1,6 @@ // 指标图表 Vue.component("metric-chart", { - props: ["v-chart", "v-stats", "v-period-unit", "v-value-type"], + props: ["v-chart", "v-stats", "v-item"], mounted: function () { this.load() }, @@ -38,8 +38,10 @@ Vue.component("metric-chart", { return { chart: this.vChart, stats: stats, + item: this.vItem, width: widthPercent + "%", - chartId: "metric-chart-" + this.vChart.id + chartId: "metric-chart-" + this.vChart.id, + valueTypeName: (this.vItem != null && this.vItem.valueTypeName != null && this.vItem.valueTypeName.length > 0) ? this.vItem.valueTypeName : "" } }, methods: { @@ -97,7 +99,8 @@ Vue.component("metric-chart", { name: name, type: "pie", data: values, - areaStyle: {} + areaStyle: {}, + color: ["#9DD3E8", "#B2DB9E", "#F39494", "#FBD88A", "#879BD7"] } ] }) @@ -111,7 +114,7 @@ Vue.component("metric-chart", { }) let axis = {unit: "", divider: 1} - switch (this.vValueType) { + switch (this.item.valueType) { case "count": axis = teaweb.countAxis(values, function (v) { return v @@ -156,8 +159,8 @@ Vue.component("metric-chart", { { name: name, type: "bar", - data: values.map(function (v){ - return v/axis.divider + data: values.map(function (v) { + return v / axis.divider }), itemStyle: { color: "#9DD3E8" @@ -177,7 +180,7 @@ Vue.component("metric-chart", { }) let axis = {unit: "", divider: 1} - switch (this.vValueType) { + switch (this.item.valueType) { case "count": axis = teaweb.countAxis(values, function (v) { return v @@ -238,7 +241,7 @@ Vue.component("metric-chart", { return v.value }) let axis = {unit: "", divider: 1} - switch (this.vValueType) { + switch (this.item.valueType) { case "count": axis = teaweb.countAxis(values, function (v) { return v @@ -328,7 +331,7 @@ Vue.component("metric-chart", { if (time == null) { return "" } - switch (this.vPeriodUnit) { + switch (this.item.periodUnit) { case "month": return time.substring(0, 4) + "-" + time.substring(4, 6) case "week": @@ -344,7 +347,7 @@ Vue.component("metric-chart", { } }, template: `
-

{{chart.name}} (指标)

+

{{chart.name}} ({{valueTypeName}})

` diff --git a/web/views/@default/clusters/cluster/boards/index.html b/web/views/@default/clusters/cluster/boards/index.html index 999819c4..dab32a5c 100644 --- a/web/views/@default/clusters/cluster/boards/index.html +++ b/web/views/@default/clusters/cluster/boards/index.html @@ -71,5 +71,10 @@
- + + \ No newline at end of file diff --git a/web/views/@default/clusters/cluster/node/boards/index.html b/web/views/@default/clusters/cluster/node/boards/index.html index ccba57a7..471a0b94 100644 --- a/web/views/@default/clusters/cluster/node/boards/index.html +++ b/web/views/@default/clusters/cluster/node/boards/index.html @@ -110,5 +110,10 @@
- + + \ No newline at end of file diff --git a/web/views/@default/dashboard/boards/index.html b/web/views/@default/dashboard/boards/index.html index 6316ec86..fcadfe09 100644 --- a/web/views/@default/dashboard/boards/index.html +++ b/web/views/@default/dashboard/boards/index.html @@ -96,3 +96,14 @@

节点访问排行 (24小时)

+ + +
+ + + + \ No newline at end of file diff --git a/web/views/@default/dashboard/index.html b/web/views/@default/dashboard/index.html index 68585d6b..a25f1130 100644 --- a/web/views/@default/dashboard/index.html +++ b/web/views/@default/dashboard/index.html @@ -55,4 +55,15 @@
-
\ No newline at end of file +
+ + +
+ + + + \ No newline at end of file diff --git a/web/views/@default/servers/metrics/charts/chart.css b/web/views/@default/servers/metrics/charts/chart.css new file mode 100644 index 00000000..225c5ff7 --- /dev/null +++ b/web/views/@default/servers/metrics/charts/chart.css @@ -0,0 +1,5 @@ +h4 span { + font-size: 0.8em; + color: grey; +} +/*# sourceMappingURL=chart.css.map */ \ No newline at end of file diff --git a/web/views/@default/servers/metrics/charts/chart.css.map b/web/views/@default/servers/metrics/charts/chart.css.map new file mode 100644 index 00000000..148111ee --- /dev/null +++ b/web/views/@default/servers/metrics/charts/chart.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["chart.less"],"names":[],"mappings":"AAAA,EACC;EACC,gBAAA;EACA,WAAA","file":"chart.css"} \ No newline at end of file diff --git a/web/views/@default/servers/metrics/charts/chart.html b/web/views/@default/servers/metrics/charts/chart.html index 377d8fe7..289efb5e 100644 --- a/web/views/@default/servers/metrics/charts/chart.html +++ b/web/views/@default/servers/metrics/charts/chart.html @@ -41,5 +41,5 @@

图表示例

图中数据均为测试数据。

- + \ No newline at end of file diff --git a/web/views/@default/servers/metrics/charts/chart.less b/web/views/@default/servers/metrics/charts/chart.less new file mode 100644 index 00000000..1fc01ce4 --- /dev/null +++ b/web/views/@default/servers/metrics/charts/chart.less @@ -0,0 +1,6 @@ +h4 { + span { + font-size: 0.8em; + color: grey; + } +} \ No newline at end of file diff --git a/web/views/@default/servers/server/boards/index.html b/web/views/@default/servers/server/boards/index.html index d7000cbc..546eaef5 100644 --- a/web/views/@default/servers/server/boards/index.html +++ b/web/views/@default/servers/server/boards/index.html @@ -41,5 +41,10 @@
- + + \ No newline at end of file