blob: 6d40d48bd09efe77c0994bd170cb449fa297a876 [file] [log] [blame]
%%%-------------------------------------------------------------------
%%% @author dlive
%%% @copyright (C) 2018, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 23. May 2018 4:28 PM
%%%-------------------------------------------------------------------
-module(request_context).
-author("dlive").
%%-define(PER_LOG,true).
-define(PER_LOG,false).
%% API
-export([init/0,init/1,update/2,update/3,to_log/1,test/0,trace/1,trace_end/1]).
init()->
case ?PER_LOG of
true->
#{<<"t_b">> => time_util:timestamp_ms()};
_->
#{}
end.
init(ID)->
case ?PER_LOG of
true->
#{<<"id">> =>ID,<<"t_b">> => time_util:timestamp_ms()};
_->
#{<<"id">> =>ID}
end.
update(Key,Map)->
case ?PER_LOG of
true->
Map#{Key=>time_util:timestamp_ms()};
_->
Map
end.
update(Key,Value,Map)->
Map#{Key=>Value}.
to_log(Map)->
case ?PER_LOG of
true->
to_log2(Map);
_->
ok
end.
to_log2(Map)->
#{
<<"t_b">> := Begin,
<<"t_lb">> := LoadBalance,
<<"t_send_agent">> := SendAgent,
<<"t_agent_b">> := AgentBegin,
<<"t_agent_e">> := AgentEnd,
<<"t_net_b">> := NetBegin,
%% <<"t_net_bd">> := NetBeginDecode,
<<"t_net_e">> := NetEnd,
<<"t_backer_b">> := BackerBegin,
<<"t_backer_e1">> := BackerGet,
<<"t_backer_e">> := BackerEnd,
<<"t_gate_back">> := GateWayBack,
%% <<"t_e">> := End,
<<"t_nd">> :=Node
} = Map,
Total=GateWayBack-Begin,
if
Total > 90 ->
performance:warning("total ~-5.10B lb ~-5.10B to_send ~-5.10B agent_b ~-5.10B agent_e ~-5.10B net_b ~-5.10B net_e ~-5.10B backer_b ~-5.10B backer_e1 ~-5.10B backer_e ~-5.10B gw_b ~-5.10B ~p",
[
Total,
LoadBalance - Begin,
SendAgent-Begin,
AgentBegin-SendAgent,
AgentEnd-AgentBegin,
NetBegin-AgentEnd,
NetEnd-NetBegin,
BackerBegin-NetEnd,
BackerGet-BackerBegin,
BackerEnd-BackerBegin,
GateWayBack-BackerEnd,
%% End-GateWayBack,
Node
]);
true->
performance:info("total ~-5.10B lb ~-5.10B to_send ~-5.10B agent_b ~-5.10B agent_e ~-5.10B net_b ~-5.10B net_e ~-5.10B backer_b ~-5.10B backer_e1 ~-5.10B backer_e ~-5.10B gw_b ~-5.10B ~p",
[
Total,
LoadBalance - Begin,
SendAgent-Begin,
AgentBegin-SendAgent,
AgentEnd-AgentBegin,
NetBegin-AgentEnd,
NetEnd-NetBegin,
BackerBegin-NetEnd,
BackerGet-BackerBegin,
BackerEnd-BackerBegin,
GateWayBack-BackerEnd,
%% End-GateWayBack,
Node
])
end.
trace(_Info)->
ok.
trace_end(_Info)->
ok.
test()->
logger:error("a~-10.5sb",[123]).