浏览代码

优化dashboard

zhouhao 3 年之前
父节点
当前提交
1b3dd4400a

+ 2 - 1
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/DefaultDashboardDefinition.java

@@ -9,7 +9,8 @@ import org.hswebframework.web.dict.EnumDict;
 public enum DefaultDashboardDefinition implements DashboardDefinition, EnumDict<String> {
 
     systemMonitor("系统监控"),
-    jvmMonitor("jvm监控")
+    jvmMonitor("jvm监控"),
+    device("设备监控")
 
     ;
 

+ 1 - 1
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/MeasurementDimension.java

@@ -19,6 +19,6 @@ public interface MeasurementDimension {
 
     boolean isRealTime();
 
-    Publisher<? extends MeasurementValue> getValue(MeasurementParameter parameter);
+    Publisher<? extends Object> getValue(MeasurementParameter parameter);
 
 }

+ 1 - 1
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/web/DashboardController.java

@@ -53,7 +53,7 @@ public class DashboardController {
 
     @GetMapping(value = "/{dashboard}/{object}/{measurement}/{dimension}", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
     @Authorize(merge = false)
-    public Flux<MeasurementValue> getMeasurementValue(@PathVariable String dashboard,
+    public Flux<Object> getMeasurementValue(@PathVariable String dashboard,
                                                       @PathVariable String object,
                                                       @PathVariable String dimension,
                                                       @PathVariable String measurement,

+ 1 - 1
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/web/response/DashboardMeasurementResponse.java

@@ -14,7 +14,7 @@ public class DashboardMeasurementResponse {
 
     private String group;
 
-    private MeasurementValue data;
+    private Object data;
 
 
 }

+ 12 - 0
jetlinks-components/elasticsearch-component/src/main/java/org/jetlinks/community/elastic/search/service/reactive/AggType.java

@@ -36,6 +36,18 @@ public enum AggType {
             return AggregationBuilders.min(name).field(filed).missing(0);
         }
     },
+
+    DISTINCT_COUNT("去重计数") {
+        @Override
+        public AggregationBuilder aggregationBuilder(String name, String filed) {
+            return AggregationBuilders
+                .cardinality(name)
+                .field(filed)
+                .missing(0);
+        }
+
+    },
+
     FIRST("第一条数据") {
         @Override
         public AggregationBuilder aggregationBuilder(String name, String filed) {

+ 1 - 1
jetlinks-components/gateway-component/src/main/java/org/jetlinks/community/gateway/monitor/measurements/GatewayObjectDefinition.java

@@ -8,7 +8,7 @@ import org.jetlinks.community.dashboard.ObjectDefinition;
 @Getter
 public enum GatewayObjectDefinition implements ObjectDefinition {
     deviceGateway("设备网关"),
-
+    session("会话")
     ;
 
     private String name;

+ 14 - 0
jetlinks-components/timeseries-component/src/main/java/org/jetlinks/community/timeseries/TimeSeriesMetadata.java

@@ -2,6 +2,7 @@ package org.jetlinks.community.timeseries;
 
 import org.jetlinks.core.metadata.PropertyMetadata;
 
+import java.util.Arrays;
 import java.util.List;
 
 public interface TimeSeriesMetadata {
@@ -10,4 +11,17 @@ public interface TimeSeriesMetadata {
 
     List<PropertyMetadata> getProperties();
 
+    static TimeSeriesMetadata of(TimeSeriesMetric metric, PropertyMetadata... properties) {
+        return new TimeSeriesMetadata() {
+            @Override
+            public TimeSeriesMetric getMetric() {
+                return metric;
+            }
+
+            @Override
+            public List<PropertyMetadata> getProperties() {
+                return Arrays.asList(properties);
+            }
+        };
+    }
 }

+ 1 - 0
jetlinks-components/timeseries-component/src/main/java/org/jetlinks/community/timeseries/query/Aggregation.java

@@ -9,6 +9,7 @@ public enum Aggregation {
     COUNT,
     FIRST,
     TOP,
+    DISTINCT_COUNT,
     NONE;
 
 }