inviso_rt(3erl) Erlang Module Definition inviso_rt(3erl)
NAME
inviso_rt - Direct API to the Inviso Runtime Component
DESCRIPTION
The inviso_rt API is normally only used when programming autostart scripts or similar mechanisms. The reason is that the runtime component
is part of the Runtime_tools application and will therefore always be available. But the regular inviso API is part of the Inviso applica-
tion not necessarily available on the node doing an autostart. It is of course possible to runt a "lean" tracer only using the runtime com-
ponent manually (i.e not through autostart). The runtime component shall otherwise be controlled through the control component, which is
accessed with the inviso API.
EXPORTS
init_tracing(TracerData) -> NodeResult | {error,Reason}
See inviso:init_tracing/2 for details.
tp(Mod,Func,Arity,MatchSpec,Opts) ->
tp(Mod,Func,Arity,MatchSpec) -> NodeResult | {error,Reason}
tp(PatternList) -> NodeResult | {error,Reason}
Types Mod,Func = atom() | '_' | ModRegExp | {DirRegExp,ModRegExp}
ModRegExp = regexp_string()
DirRegExp = regexp_string()
Arity = int() | '_'
MatchSpec = true | false | [] | matchspec()
PatternList = [Pattern],
Pattern = {Mod,Func,Arity,MatchSpec,Opts}
Opts = [Opt]
Opt = only_loaded
NodeResult = {ok,[Ans]} | {error,Reason}
Ans = int() | {error,Reason}
Set global trace patterns. The integer replied if the call was successfull describes the number of matched functions. Using wild-
cards follows the rules for wildcards of erlang:trace_pattern . It is for instance illegal to specify M=='_' while F is not '_' .
Modules can also be specified using Erlang regular expressions as described in the regexp module. If {DirRegExp,ModRegExp} is used,
module selection will further be restricted by that the module must be loaded from a location containing DirRegExp somewhere in the
path. This can be used to for instance trace on all modules belonging to a certain application.
tpl(Mod,Func,Arity,MatchSpec) ->
tpl(Mod,Func,Arity,MatchSpec,Opts) -> NodeResult | {error,Reason}
tpl(PatternList) -> NodeResult | {error,Reason}
See tp/N function above for details on arguments and return values.
Set local trace pattern on specified functions.
ctp(Mod,Func,Arity) -> NodeResult | {error,Reason}
See tp/N for argument descriptions.
Clear global trace patterns.
ctpl(Mod,Func,Arity) -> NodeResult | {error,Reason}
See tp/N for argument description.
Clear local trace patterns.
tf(PidSpec,FlagList) -> NodeResult | {error,Reason}
tf(TraceConfList) -> NodeResult | {error,Reason}
Types TraceConfList = [{PidSpec,FlagList}]
FlagList = [Flag]
PidSpec = all | new| existing | pid() | locally_registered_name()
Flag = all process trace flags allowed.
NodeResult = {ok,[Ans]} | {error,Reason}
Ans = int() | {error,Reason}
Set process trace flags. The integer returned if the call was successful describes the matched number of processes.
ctf(PidSpec,FlagList) -> NodeResult | {error,Reason}
ctf(TraceConfList) -> NodeResult | {error,Reason}
See tf/1,2 for arguments and return value description.
Clear process trace flags.
init_tpm(Mod,Func,Arity,CallFunc) -> NodeResult | {error,Reason}
init_tpm(Mod,Func,Arity,InitFunc,CallFunc,ReturnFunc,RemoveFunc) -> NodeResult | {error,Reason}
Types Mod = Func = atom()
Arity = int()
NodeResult = ok | {error,Reason}
InitFunc = RemoveFunc = {Module,Function} | function()/4 | void
See inviso:init_tpm/5,7 for details.
tpm(Mod,Func,Arity,MS) -> NodeResult | {error,Reason}
tpm(Mod,Func,Arity,MS,CallFunc) -> NodeResults | {error,Reason}
tpm(Mod,Func,Arity,MS,InitFunc,CallFunc,ReturnFunc,RemoveFunc) -> NodeResults | {error,Reason}
Types Mod = Func = atom() =/= '_'
Arity = int()
MS = match_spec()
InitFunc = CallFunc = ReturnFunc = RemoveFunc = {Module,Function} | function()
NodeResult = {ok,1} | {ok,0} | {error,Reason}
See inviso:tpm/4,5,8 for details.
tpm_tracer(Mod,Func,Arity,MS) -> NodeResult | {error,Reason}
tpm_tracer(Mod,Func,Arity,MS,CallFunc) -> NodeResults | {error,Reason}
tpm_tracer(Mod,Func,Arity,MS,InitFunc,CallFunc,ReturnFunc,RemoveFunc) -> NodeResults | {error,Reason}
See inviso:tpm_tracer/4,5,8 for details.
tpm_ms(Mod,Func,Arity,MSname,MS) ->d NodeResult | {error,Reason}
Types Mod = Func = atom()
Arity = int()
MSname = term()
MatchSpec = [match_spec()]
NodeResult = {ok,1} | {ok,0} | {error,Reason}
See inviso:tpm_ms/5 for details.
tpm_ms_tracer(Mod,Func,Arity,MSname,MS) ->d NodeResult | {error,Reason}
See inviso:tpm_ms_tracer/5 for details.
ctpm_ms(Mod,Func,Arity,MSname) -> NodeResult | {error,Reason}
Types NodeResult = ok | {error,Reason}
See inviso:ctpm_ms/4 for details.
ctpm(Mod,Func,Arity) -> {ok,NodeResults} | NodeResult | {error,Reason}
Types NodeResults = [{Node,NodeResult}]
NodeResult = ok | {error,Reason}
See inviso:ctpm/3 for details.
local_register() ->NodeResult | {error,Reason}
Types NodeResult = {R1,R2}
R1 = R2 = {ok,0} | {ok,1} | {error,Reason}
See inviso:tpm_localnames/0 for details.
remove_local_register() ->NodeResult | {error,Reason}
Types NodeResult = {R1,R2} | {error,Reason}
R1 = R2 = ok | {error,Reason}
See inviso:ctpm_localnames/0 for details.
global_register() ->NodeResult | {error,Reason}
Types NodeResult = {R1,R2} | {error,Reason}
R1 = R2 = {ok,0} | {ok,1} | {error,Reason}
See inviso:tpm_globalnames/0 for details.
remove_global_register() ->NodeResult | {error,Reason}
Types NodeResult = {R1,R2} | {error,Reason}
R1 = R2 = ok | {error,Reason}
See inviso:ctpm_globalnames/0 for details.
Ericsson AB inviso 0.6.2 inviso_rt(3erl)