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