---
name: "inviso_rt_meta"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:15.b.1-dfsg-4+deb7u1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/inviso_rt_meta"
---

# inviso\_rt\_meta(3erl)

Direct API to the Inviso Runtime Component's meta tracer

## NAME

inviso\_rt\_meta - Direct API to the Inviso Runtime Component's meta tracer

## DESCRIPTION

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 *CallFunc*s and *RemoveFunc*s. 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.
