fix(trace formatter): remove record field to enable rolling upgrade
This commit is contained in:
parent
09b414f368
commit
c163956d08
|
@ -30,10 +30,9 @@
|
|||
| '_',
|
||||
enable = true :: boolean() | '_',
|
||||
payload_encode = text :: hex | text | hidden | '_',
|
||||
extra = #{} :: map() | '_',
|
||||
extra = #{formatter => text} :: #{formatter => text | json} | '_',
|
||||
start_at :: integer() | undefined | '_',
|
||||
end_at :: integer() | undefined | '_',
|
||||
formatter = text :: text | json | '_'
|
||||
end_at :: integer() | undefined | '_'
|
||||
}).
|
||||
|
||||
-define(SHARD, ?COMMON_SHARD).
|
||||
|
|
|
@ -254,7 +254,10 @@ format(Traces) ->
|
|||
lists:map(
|
||||
fun(Trace0 = #?TRACE{}) ->
|
||||
[_ | Values] = tuple_to_list(Trace0),
|
||||
maps:from_list(lists:zip(Fields, Values))
|
||||
Map0 = maps:from_list(lists:zip(Fields, Values)),
|
||||
Extra = maps:get(extra, Map0, #{}),
|
||||
Formatter = maps:get(formatter, Extra, text),
|
||||
Map0#{formatter => Formatter}
|
||||
end,
|
||||
Traces
|
||||
).
|
||||
|
@ -401,8 +404,9 @@ start_trace(Trace) ->
|
|||
filter = Filter,
|
||||
start_at = Start,
|
||||
payload_encode = PayloadEncode,
|
||||
formatter = Formatter
|
||||
extra = Extra
|
||||
} = Trace,
|
||||
Formatter = maps:get(formatter, Extra, text),
|
||||
Who = #{
|
||||
name => Name,
|
||||
type => Type,
|
||||
|
@ -575,7 +579,11 @@ to_trace(#{end_at := EndAt} = Trace, Rec) ->
|
|||
{error, "end_at time has already passed"}
|
||||
end;
|
||||
to_trace(#{formatter := Formatter} = Trace, Rec) ->
|
||||
to_trace(maps:remove(formatter, Trace), Rec#?TRACE{formatter = Formatter});
|
||||
Extra = Rec#?TRACE.extra,
|
||||
to_trace(
|
||||
maps:remove(formatter, Trace),
|
||||
Rec#?TRACE{extra = Extra#{formatter => Formatter}}
|
||||
);
|
||||
to_trace(_, Rec) ->
|
||||
{ok, Rec}.
|
||||
|
||||
|
|
Loading…
Reference in New Issue