chore(limiter): change root name emqx_limiter > limiter
This commit is contained in:
parent
10b110447c
commit
12cc9065f8
|
@ -1,7 +1,8 @@
|
||||||
##--------------------------------------------------------------------
|
##--------------------------------------------------------------------
|
||||||
## Emq X Rate Limiter
|
## Emq X Rate Limiter
|
||||||
##--------------------------------------------------------------------
|
##--------------------------------------------------------------------
|
||||||
emqx_limiter {
|
|
||||||
|
limiter {
|
||||||
bytes_in {
|
bytes_in {
|
||||||
global.rate = infinity # token generation rate
|
global.rate = infinity # token generation rate
|
||||||
zone.default.rate = infinity
|
zone.default.rate = infinity
|
||||||
|
|
|
@ -56,16 +56,16 @@
|
||||||
|
|
||||||
-import(emqx_schema, [sc/2, map/2]).
|
-import(emqx_schema, [sc/2, map/2]).
|
||||||
|
|
||||||
roots() -> [emqx_limiter].
|
roots() -> [limiter].
|
||||||
|
|
||||||
fields(emqx_limiter) ->
|
|
||||||
[ {bytes_in, sc(ref(limiter), #{})}
|
|
||||||
, {message_in, sc(ref(limiter), #{})}
|
|
||||||
, {connection, sc(ref(limiter), #{})}
|
|
||||||
, {message_routing, sc(ref(limiter), #{})}
|
|
||||||
];
|
|
||||||
|
|
||||||
fields(limiter) ->
|
fields(limiter) ->
|
||||||
|
[ {bytes_in, sc(ref(limiter_opts), #{})}
|
||||||
|
, {message_in, sc(ref(limiter_opts), #{})}
|
||||||
|
, {connection, sc(ref(limiter_opts), #{})}
|
||||||
|
, {message_routing, sc(ref(limiter_opts), #{})}
|
||||||
|
];
|
||||||
|
|
||||||
|
fields(limiter_opts) ->
|
||||||
[ {global, sc(ref(rate_burst), #{})}
|
[ {global, sc(ref(rate_burst), #{})}
|
||||||
, {zone, sc(map("zone name", ref(rate_burst)), #{})}
|
, {zone, sc(map("zone name", ref(rate_burst)), #{})}
|
||||||
, {bucket, sc(map("bucket id", ref(bucket)),
|
, {bucket, sc(map("bucket id", ref(bucket)),
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
-spec connect(limiter_type(),
|
-spec connect(limiter_type(),
|
||||||
bucket_name() | #{limiter_type() => bucket_name()}) -> emqx_htb_limiter:limiter().
|
bucket_name() | #{limiter_type() => bucket_name()}) -> emqx_htb_limiter:limiter().
|
||||||
connect(Type, BucketName) when is_atom(BucketName) ->
|
connect(Type, BucketName) when is_atom(BucketName) ->
|
||||||
Path = [emqx_limiter, Type, bucket, BucketName],
|
Path = [limiter, Type, bucket, BucketName],
|
||||||
case emqx:get_config(Path, undefined) of
|
case emqx:get_config(Path, undefined) of
|
||||||
undefined ->
|
undefined ->
|
||||||
?SLOG(error, #{msg => "bucket_config_not_found", path => Path}),
|
?SLOG(error, #{msg => "bucket_config_not_found", path => Path}),
|
||||||
|
@ -447,7 +447,7 @@ dispatch_burst_to_buckets([], _, Alloced, Nodes) ->
|
||||||
init_tree(Type, State) ->
|
init_tree(Type, State) ->
|
||||||
#{global := Global,
|
#{global := Global,
|
||||||
zone := Zone,
|
zone := Zone,
|
||||||
bucket := Bucket} = emqx:get_config([emqx_limiter, Type]),
|
bucket := Bucket} = emqx:get_config([limiter, Type]),
|
||||||
{Factor, Root} = make_root(Global, Zone),
|
{Factor, Root} = make_root(Global, Zone),
|
||||||
State2 = State#{root := Root},
|
State2 = State#{root := Root},
|
||||||
{NodeId, State3} = make_zone(maps:to_list(Zone), Factor, 1, State2),
|
{NodeId, State3} = make_zone(maps:to_list(Zone), Factor, 1, State2),
|
||||||
|
|
|
@ -89,6 +89,6 @@ make_child(Type) ->
|
||||||
modules => [emqx_limiter_server]}.
|
modules => [emqx_limiter_server]}.
|
||||||
|
|
||||||
childs() ->
|
childs() ->
|
||||||
Conf = emqx:get_config([emqx_limiter]),
|
Conf = emqx:get_config([limiter]),
|
||||||
Types = maps:keys(Conf),
|
Types = maps:keys(Conf),
|
||||||
[make_child(Type) || Type <- Types].
|
[make_child(Type) || Type <- Types].
|
||||||
|
|
|
@ -130,7 +130,7 @@ basic_conf() ->
|
||||||
stats => stats_conf(),
|
stats => stats_conf(),
|
||||||
listeners => listeners_conf(),
|
listeners => listeners_conf(),
|
||||||
zones => zone_conf(),
|
zones => zone_conf(),
|
||||||
emqx_limiter => emqx:get_config([emqx_limiter])
|
limiter => emqx:get_config([limiter])
|
||||||
}.
|
}.
|
||||||
|
|
||||||
set_test_listener_confs() ->
|
set_test_listener_confs() ->
|
||||||
|
@ -201,7 +201,7 @@ modify_limiter(TestCase, NewConf) ->
|
||||||
|
|
||||||
%% per_client 5/1s,5
|
%% per_client 5/1s,5
|
||||||
%% aggregated 10/1s,10
|
%% aggregated 10/1s,10
|
||||||
modify_limiter(#{emqx_limiter := Limiter} = NewConf) ->
|
modify_limiter(#{limiter := Limiter} = NewConf) ->
|
||||||
#{message_routing := #{bucket := Bucket} = Routing} = Limiter,
|
#{message_routing := #{bucket := Bucket} = Routing} = Limiter,
|
||||||
#{default := #{per_client := Client} = Default} = Bucket,
|
#{default := #{per_client := Client} = Default} = Bucket,
|
||||||
Client2 = Client#{rate := 5,
|
Client2 = Client#{rate := 5,
|
||||||
|
@ -216,7 +216,7 @@ modify_limiter(#{emqx_limiter := Limiter} = NewConf) ->
|
||||||
Bucket2 = Bucket#{default := Default2},
|
Bucket2 = Bucket#{default := Default2},
|
||||||
Routing2 = Routing#{bucket := Bucket2},
|
Routing2 = Routing#{bucket := Bucket2},
|
||||||
|
|
||||||
NewConf2 = NewConf#{emqx_limiter := Limiter#{message_routing := Routing2}},
|
NewConf2 = NewConf#{limiter := Limiter#{message_routing := Routing2}},
|
||||||
emqx_config:put(NewConf2),
|
emqx_config:put(NewConf2),
|
||||||
emqx_limiter_manager:restart_server(message_routing),
|
emqx_limiter_manager:restart_server(message_routing),
|
||||||
ok.
|
ok.
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
-include_lib("common_test/include/ct.hrl").
|
-include_lib("common_test/include/ct.hrl").
|
||||||
|
|
||||||
-define(BASE_CONF, <<"""
|
-define(BASE_CONF, <<"""
|
||||||
emqx_limiter {
|
limiter {
|
||||||
bytes_in {
|
bytes_in {
|
||||||
global.rate = infinity
|
global.rate = infinity
|
||||||
zone.default.rate = infinity
|
zone.default.rate = infinity
|
||||||
|
@ -496,7 +496,7 @@ start_client(Name, EndTime, Counter, Number) ->
|
||||||
|
|
||||||
start_client(Name, EndTime, Counter) ->
|
start_client(Name, EndTime, Counter) ->
|
||||||
#{per_client := PerClient} =
|
#{per_client := PerClient} =
|
||||||
emqx_config:get([emqx_limiter, message_routing, bucket, Name]),
|
emqx_config:get([limiter, message_routing, bucket, Name]),
|
||||||
#{rate := Rate} = PerClient,
|
#{rate := Rate} = PerClient,
|
||||||
Client = #client{start = ?NOW,
|
Client = #client{start = ?NOW,
|
||||||
endtime = EndTime,
|
endtime = EndTime,
|
||||||
|
@ -578,18 +578,18 @@ to_rate(Str) ->
|
||||||
Rate.
|
Rate.
|
||||||
|
|
||||||
with_global(Modifier, ZoneName, ZoneModifier, Buckets, Case) ->
|
with_global(Modifier, ZoneName, ZoneModifier, Buckets, Case) ->
|
||||||
Path = [emqx_limiter, message_routing],
|
Path = [limiter, message_routing],
|
||||||
#{global := Global} = Cfg = emqx_config:get(Path),
|
#{global := Global} = Cfg = emqx_config:get(Path),
|
||||||
Cfg2 = Cfg#{global := Modifier(Global)},
|
Cfg2 = Cfg#{global := Modifier(Global)},
|
||||||
with_zone(Cfg2, ZoneName, ZoneModifier, Buckets, Case).
|
with_zone(Cfg2, ZoneName, ZoneModifier, Buckets, Case).
|
||||||
|
|
||||||
with_zone(Name, Modifier, Buckets, Case) ->
|
with_zone(Name, Modifier, Buckets, Case) ->
|
||||||
Path = [emqx_limiter, message_routing],
|
Path = [limiter, message_routing],
|
||||||
Cfg = emqx_config:get(Path),
|
Cfg = emqx_config:get(Path),
|
||||||
with_zone(Cfg, Name, Modifier, Buckets, Case).
|
with_zone(Cfg, Name, Modifier, Buckets, Case).
|
||||||
|
|
||||||
with_zone(Cfg, Name, Modifier, Buckets, Case) ->
|
with_zone(Cfg, Name, Modifier, Buckets, Case) ->
|
||||||
Path = [emqx_limiter, message_routing],
|
Path = [limiter, message_routing],
|
||||||
#{zone := ZoneCfgs,
|
#{zone := ZoneCfgs,
|
||||||
bucket := BucketCfgs} = Cfg,
|
bucket := BucketCfgs} = Cfg,
|
||||||
ZoneCfgs2 = apply_modifier(Name, Modifier, ZoneCfgs),
|
ZoneCfgs2 = apply_modifier(Name, Modifier, ZoneCfgs),
|
||||||
|
@ -598,11 +598,11 @@ with_zone(Cfg, Name, Modifier, Buckets, Case) ->
|
||||||
with_config(Path, fun(_) -> Cfg2 end, Case).
|
with_config(Path, fun(_) -> Cfg2 end, Case).
|
||||||
|
|
||||||
with_bucket(Bucket, Modifier, Case) ->
|
with_bucket(Bucket, Modifier, Case) ->
|
||||||
Path = [emqx_limiter, message_routing, bucket, Bucket],
|
Path = [limiter, message_routing, bucket, Bucket],
|
||||||
with_config(Path, Modifier, Case).
|
with_config(Path, Modifier, Case).
|
||||||
|
|
||||||
with_per_client(Bucket, Modifier, Case) ->
|
with_per_client(Bucket, Modifier, Case) ->
|
||||||
Path = [emqx_limiter, message_routing, bucket, Bucket, per_client],
|
Path = [limiter, message_routing, bucket, Bucket, per_client],
|
||||||
with_config(Path, Modifier, Case).
|
with_config(Path, Modifier, Case).
|
||||||
|
|
||||||
with_config(Path, Modifier, Case) ->
|
with_config(Path, Modifier, Case) ->
|
||||||
|
|
Loading…
Reference in New Issue