Преглед изворни кода

fix(resource): type spec for resource_data()

Shawn пре 4 година
родитељ
комит
9aa63358e6

+ 11 - 1
apps/emqx_plugin_libs/src/emqx_plugin_libs_metrics.erl

@@ -59,6 +59,16 @@
 -define(SAMPLING, 1).
 -endif.
 
+-export_type([metrics/0]).
+
+-type metrics() :: #{
+    matched => integer(),
+    success => integer(),
+    failed => integer(),
+    speed => float(),
+    speed_max => float(),
+    speed_last5m => float()
+}.
 -type handler_name() :: atom().
 -type metric_id() :: binary().
 
@@ -116,7 +126,7 @@ get(Name, Id, Metric) ->
 get_speed(Name, Id) ->
     gen_server:call(Name, {get_speed, Id}).
 
--spec(get_metrics(handler_name(), metric_id()) -> map()).
+-spec(get_metrics(handler_name(), metric_id()) -> metrics()).
 get_metrics(Name, Id) ->
     #{max := Max, current := Current, last5m := Last5M} = get_speed(Name, Id),
     #{matched => get_matched(Name, Id),

+ 6 - 5
apps/emqx_resource/include/emqx_resource.hrl

@@ -21,11 +21,12 @@
 -type resource_spec() :: map().
 -type resource_state() :: term().
 -type resource_data() :: #{
-    id => instance_id(),
-    mod => module(),
-    config => resource_config(),
-    state => resource_state(),
-    status => started | stopped
+    id := instance_id(),
+    mod := module(),
+    config := resource_config(),
+    state := resource_state(),
+    status := started | stopped,
+    metrics := emqx_plugin_libs_metrics:metrics()
 }.
 -type resource_group() :: binary().
 -type after_query() :: {[OnSuccess :: after_query_fun()], [OnFailed :: after_query_fun()]} |