20062009 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. inviso_rt_meta
inviso_rt_meta Direct API to the Inviso Runtime Component's meta tracer

This module provides a direct API to the inviso meta tracer. These functions are only meant to be used in meta tracing CallFunc and RemoveFunc.

It can sometimes be necessary to manipulate meta match-patterns from CallFuncs and RemoveFuncs. The problem then is that call-funcs and remove-funcs are meta trace call-backs executed inside the inviso meta tracer's context. Hence making calls to the regular API's manipulating meta trace-patterns will hang the inviso meta tracer!.

To remedy this problem, a number of useful tpm-functions are available in this API. It must be understood that their actions are local to the Erlang node where they are called.

tpm_ms(Mod,Func,Arity,MSname,MS) -> {ok,0} | {ok,1} | {error,not_initiated} Adds a list of match-specs, associated with the name MSname, to Mod:Func/Arity.

See inviso:tpm_ms/6 for details. Note that this function only effects meta trace-patterns on the Erlang node where the function is called. This also implies that only the local inviso meta tracer's name-database is updated with MSname.

tpm_ms_tracer(Mod,Func,Arity,MSname,MS) -> {ok,0} | {ok,1} | {error,not_initiated} As tpm_ms_tracer/5 but also adds a {tracer,Tracer}trace flag to the enable-list of every tracein MS.

See inviso:tpm_ms_ms/6 for details. Note that this function only effects meta trace-patterns on the Erlang node where the function is called. This also implies that only the local inviso meta tracer's name-database is updated with MSname.

list_tpm_ms(Mod,Func,Arity) -> [MSname] Returns a list of MSname.

Returns a list of all MSname in use for Mod:Func/Arity. This can be useful instead of having to have an own-implemented database over currently in use meta match-functions for a particular function.

ctpm_ms(Mod,Func,Arity,MSname) -> ok Removes the list of match-specs associated with the MSnamefrom the meta trace-pattern of Mod:Func/Arity.

See inviso:ctpm_ms/5 for details. Note that this function only effects meta trace-patterns on the Erlang node where the function is called. This also implies that only the local inviso meta tracer's name-database is updated with MSname.

get_tracer() -> Tracer Returns the pid or port acting as regular tracer. Tracer = pid() | port()

Returns the pid or port acting as the receiver of regular trace messages. This is useful if it is necessary to manipulate meta trace-patterns by hand (using erlang:trace_pattern/3) and the {tracer,Tracer} must be used in one of the match-function bodies.