fix: trace data dir suffix

This commit is contained in:
DDDHuang 2022-03-14 10:54:40 +08:00
parent 4c93a71446
commit e67138a6a7
2 changed files with 9 additions and 7 deletions

View File

@ -229,8 +229,8 @@ format(Traces) ->
init([]) ->
ok = mria:wait_for_tables([?TRACE]),
erlang:process_flag(trap_exit, true),
ok = filelib:ensure_dir(trace_dir()),
ok = filelib:ensure_dir(zip_dir()),
ok = filelib:ensure_dir(filename:join([trace_dir(), dummy])),
ok = filelib:ensure_dir(filename:join([zip_dir(), dummy])),
{ok, _} = mnesia:subscribe({table, ?TRACE, simple}),
Traces = get_enable_trace(),
TRef = update_trace(Traces),
@ -493,10 +493,10 @@ to_system_second(Sec) ->
{ok, erlang:max(Now, Sec)}.
zip_dir() ->
trace_dir() ++ "zip/".
filename:join([trace_dir(), "zip"]).
trace_dir() ->
filename:join(emqx:data_dir(), "trace") ++ "/".
filename:join(emqx:data_dir(), "trace").
log_file(Name, Start) ->
filename:join(trace_dir(), filename(Name, Start)).

View File

@ -321,7 +321,8 @@ download_trace_log(get, #{bindings := #{name := Name}}) ->
TraceFiles = collect_trace_file(TraceLog),
ZipDir = emqx_trace:zip_dir(),
Zips = group_trace_file(ZipDir, TraceLog, TraceFiles),
ZipFileName = ZipDir ++ binary_to_list(Name) ++ ".zip",
FileName = binary_to_list(Name) ++ ".zip",
ZipFileName = filename:join([ZipDir, FileName]),
{ok, ZipFile} = zip:zip(ZipFileName, Zips, [{cwd, ZipDir}]),
%% emqx_trace:delete_files_after_send(ZipFileName, Zips),
%% TODO use file replace file_binary.(delete file after send is not ready now).
@ -340,9 +341,10 @@ group_trace_file(ZipDir, TraceLog, TraceFiles) ->
lists:foldl(fun(Res, Acc) ->
case Res of
{ok, Node, Bin} ->
ZipName = ZipDir ++ Node ++ "-" ++ TraceLog,
FileName = Node ++ "-" ++ TraceLog,
ZipName = filename:join([ZipDir, FileName]),
case file:write_file(ZipName, Bin) of
ok -> [Node ++ "-" ++ TraceLog | Acc];
ok -> [FileName | Acc];
_ -> Acc
end;
{error, Node, Reason} ->