fix(rule trace): only include stop_after_rendering when value is true
This commit is contained in:
parent
2e6db85578
commit
5ce095f30e
|
@ -1192,21 +1192,25 @@ set_rule_id_trace_meta_data(Requests) when is_list(Requests) ->
|
|||
ClientIDs = lists:foldl(fun collect_client_id/2, #{}, Requests),
|
||||
RuleTriggerTimes0 = lists:foldl(fun collect_rule_trigger_times/2, [], Requests),
|
||||
RuleTriggerTimes = lists:flatten(RuleTriggerTimes0),
|
||||
StopAfterRenderVal =
|
||||
TraceMetadata =
|
||||
case Requests of
|
||||
%% We know that the batch is not mixed since we prevent this by
|
||||
%% using a stop_after function in the replayq:pop call
|
||||
[?QUERY(_, _, _, _, #{stop_action_after_render := true}) | _] ->
|
||||
true;
|
||||
[?QUERY(_, _, _, _, _TraceCTX) | _] ->
|
||||
false
|
||||
end,
|
||||
logger:update_process_metadata(#{
|
||||
#{
|
||||
rule_ids => RuleIDs,
|
||||
client_ids => ClientIDs,
|
||||
rule_trigger_ts => RuleTriggerTimes,
|
||||
stop_action_after_render => StopAfterRenderVal
|
||||
}),
|
||||
stop_action_after_render => true
|
||||
};
|
||||
[?QUERY(_, _, _, _, _TraceCTX) | _] ->
|
||||
#{
|
||||
rule_ids => RuleIDs,
|
||||
client_ids => ClientIDs,
|
||||
rule_trigger_ts => RuleTriggerTimes
|
||||
}
|
||||
end,
|
||||
logger:update_process_metadata(TraceMetadata),
|
||||
ok;
|
||||
set_rule_id_trace_meta_data(Request) ->
|
||||
set_rule_id_trace_meta_data([Request]),
|
||||
|
|
|
@ -538,30 +538,40 @@ do_handle_action_get_trace_inc_metrics_context(RuleID, Action) ->
|
|||
end.
|
||||
|
||||
do_handle_action_get_trace_inc_metrics_context_unconditionally(Action, TraceMeta) ->
|
||||
StopAfterRender = maps:get(stop_action_after_render, TraceMeta, false),
|
||||
StopAfterRenderMap =
|
||||
case maps:get(stop_action_after_render, TraceMeta, false) of
|
||||
false ->
|
||||
#{};
|
||||
true ->
|
||||
#{stop_action_after_render => true}
|
||||
end,
|
||||
case TraceMeta of
|
||||
#{
|
||||
rule_id := RuleID,
|
||||
clientid := ClientID,
|
||||
rule_trigger_ts := Timestamp
|
||||
} ->
|
||||
maps:merge(
|
||||
#{
|
||||
rule_id => RuleID,
|
||||
clientid => ClientID,
|
||||
action_id => Action,
|
||||
stop_action_after_render => StopAfterRender,
|
||||
rule_trigger_ts => Timestamp
|
||||
};
|
||||
},
|
||||
StopAfterRenderMap
|
||||
);
|
||||
#{
|
||||
rule_id := RuleID,
|
||||
rule_trigger_ts := Timestamp
|
||||
} ->
|
||||
maps:merge(
|
||||
#{
|
||||
rule_id => RuleID,
|
||||
action_id => Action,
|
||||
stop_action_after_render => StopAfterRender,
|
||||
rule_trigger_ts => Timestamp
|
||||
}
|
||||
},
|
||||
StopAfterRenderMap
|
||||
)
|
||||
end.
|
||||
|
||||
action_info({bridge, BridgeType, BridgeName, _ResId}) ->
|
||||
|
|
|
@ -263,7 +263,6 @@ do_final_log_check(Action, Bin0) when is_binary(Action) ->
|
|||
},
|
||||
<<"rule_id">> := _,
|
||||
<<"rule_trigger_ts">> := _,
|
||||
<<"stop_action_after_render">> := false,
|
||||
<<"trace_tag">> := <<"ACTION">>
|
||||
},
|
||||
<<"msg">> := <<"action_success">>,
|
||||
|
@ -357,9 +356,10 @@ t_apply_rule_test_batch_separation_stop_after_render(_Config) ->
|
|||
ok;
|
||||
CheckBatchesFunRec(CurCount) ->
|
||||
receive
|
||||
[{_, #{<<"stop_after_render">> := StopValue}} | _] = List ->
|
||||
[{_, FirstMsg} | _] = List ->
|
||||
StopValue = maps:get(<<"stop_after_render">>, FirstMsg, false),
|
||||
[
|
||||
?assertMatch(#{<<"stop_after_render">> := StopValue}, Msg)
|
||||
?assertEqual(StopValue, maps:get(<<"stop_after_render">>, Msg, false))
|
||||
|| {_, Msg} <- List
|
||||
],
|
||||
Len = length(List),
|
||||
|
@ -420,7 +420,6 @@ t_apply_rule_test_format_action_failed(_Config) ->
|
|||
<<"reason">> := <<"MY REASON">>,
|
||||
<<"rule_id">> := _,
|
||||
<<"rule_trigger_ts">> := _,
|
||||
<<"stop_action_after_render">> := false,
|
||||
<<"trace_tag">> := <<"ACTION">>
|
||||
},
|
||||
<<"msg">> := <<"action_failed">>,
|
||||
|
@ -492,7 +491,6 @@ out_of_service_check_fun(SendErrorMsg, Reason) ->
|
|||
<<"reason">> := <<"request_expired">>,
|
||||
<<"rule_id">> := _,
|
||||
<<"rule_trigger_ts">> := _,
|
||||
<<"stop_action_after_render">> := false,
|
||||
<<"trace_tag">> := <<"ACTION">>
|
||||
},
|
||||
<<"msg">> := <<"action_failed">>,
|
||||
|
@ -518,7 +516,6 @@ out_of_service_check_fun(SendErrorMsg, Reason) ->
|
|||
},
|
||||
<<"rule_id">> := _,
|
||||
<<"rule_trigger_ts">> := _,
|
||||
<<"stop_action_after_render">> := false,
|
||||
<<"trace_tag">> := <<"ERROR">>
|
||||
},
|
||||
<<"msg">> := SendErrorMsg,
|
||||
|
|
Loading…
Reference in New Issue