chore: refine traces command usage

This commit is contained in:
JimMoen 2023-05-25 15:28:56 +08:00
parent 0788f2f197
commit 1ba65539c6
No known key found for this signature in database
GPG Key ID: 87A520B4F76BA86D
1 changed files with 13 additions and 6 deletions

View File

@ -514,6 +514,8 @@ trace_off(Type, Filter) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% @doc Trace Cluster Command %% @doc Trace Cluster Command
-define(DEFAULT_TRACE_DURATION, "1800").
traces(["list"]) -> traces(["list"]) ->
{200, List} = emqx_mgmt_api_trace:trace(get, []), {200, List} = emqx_mgmt_api_trace:trace(get, []),
case List of case List of
@ -542,7 +544,7 @@ traces(["stop", Name]) ->
traces(["delete", Name]) -> traces(["delete", Name]) ->
trace_cluster_del(Name); trace_cluster_del(Name);
traces(["start", Name, Operation, Filter]) -> traces(["start", Name, Operation, Filter]) ->
traces(["start", Name, Operation, Filter, "1800"]); traces(["start", Name, Operation, Filter, ?DEFAULT_TRACE_DURATION]);
traces(["start", Name, Operation, Filter0, DurationS]) -> traces(["start", Name, Operation, Filter0, DurationS]) ->
case trace_type(Operation, Filter0) of case trace_type(Operation, Filter0) of
{ok, Type, Filter} -> trace_cluster_on(Name, Type, Filter, DurationS); {ok, Type, Filter} -> trace_cluster_on(Name, Type, Filter, DurationS);
@ -551,9 +553,14 @@ traces(["start", Name, Operation, Filter0, DurationS]) ->
traces(_) -> traces(_) ->
emqx_ctl:usage([ emqx_ctl:usage([
{"traces list", "List all cluster traces started"}, {"traces list", "List all cluster traces started"},
{"traces start <Name> client <ClientId>", "Traces for a client in cluster"}, {"traces start <Name> client <ClientId> [<Duration>]", "Traces for a client in cluster"},
{"traces start <Name> topic <Topic>", "Traces for a topic in cluster"}, {"traces start <Name> topic <Topic> [<Duration>]", "Traces for a topic in cluster"},
{"traces start <Name> ip_address <IPAddr>", "Traces for a IP in cluster"}, {"traces start <Name> ip_address <IPAddr> [<Duration>]",
"Traces for a client IP in cluster\n"
"Trace will start immediately on all nodes, including the core and replicant,\n"
"and will end after <Duration> seconds. The default value for <Duration> is "
?DEFAULT_TRACE_DURATION
" seconds."},
{"traces stop <Name>", "Stop trace in cluster"}, {"traces stop <Name>", "Stop trace in cluster"},
{"traces delete <Name>", "Delete trace in cluster"} {"traces delete <Name>", "Delete trace in cluster"}
]). ]).