inviso_rt_meta(3erl)

inviso_rt_meta3erl

Direct api to the inviso runtime component's meta tracer

Overview

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.

Exports

tpm_ms(Mod,Func,Arity,MSname,MS) -> {ok,0} | {ok,1} | {error,not_initiated}

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}

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 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

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

Types:

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.

Releases

3 releases since Debian 5.0 (Lenny); the text changed 2 times.

  1. 5.0
  2. 6.0
  3. 7

From erlang-manpages 1:15.b.1-dfsg-4+deb7u1 in Debian 7 (Wheezy). Parsed by carta from the page's man source.