Erlang -- inviso_rt_meta

User's Guide
Reference Manual
Release Notes
PDF
Top

Inviso
Reference Manual
Version 0.6.3

Expand All
Contract All

Table of Contents

- inviso
  - Top of manual page
  - start/0
  - start/1
  - stop/0
  - add_node/1
  - add_node/2
  - add_node_if_ref/1
  - add_node_if_ref/2
  - add_nodes/2
  - add_nodes/3
  - add_nodes_if_ref/2
  - add_nodes_if_ref/3
  - stop_nodes/0
  - stop_nodes/1
  - stop_all/0
  - change_options/1
  - change_options/2
  - init_tracing/1
  - init_tracing/1
  - init_tracing/2
  - stop_tracing/1
  - stop_tracing/0
  - clear/0
  - clear/2
  - clear/1
  - tp/6
  - tp/5
  - tp/5
  - tp/4
  - tp/2
  - tp/1
  - tpl/5
  - tpl/6
  - tpl/4
  - tpl/5
  - tpl/2
  - tpl/1
  - ctp/4
  - ctp/3
  - ctpl/4
  - ctpl/3
  - tf/3
  - tf/2
  - tf/2
  - tf/1
  - tf/1
  - ctf/3
  - ctf/2
  - ctf/2
  - ctf/1
  - ctf_all/1
  - ctf_all/0
  - init_tpm/4
  - init_tpm/5
  - init_tpm/7
  - init_tpm/8
  - tpm/4
  - tpm/5
  - tpm/5
  - tpm/6
  - tpm/8
  - tpm/9
  - tpm_tracer/4
  - tpm_tracer/5
  - tpm_tracer/5
  - tpm_tracer/6
  - tpm_tracer/8
  - tpm_tracer/9
  - tpm_ms/5
  - tpm_ms/6
  - tpm_ms_tracer/5
  - tpm_ms_tracer/6
  - ctpm_ms/4
  - ctpm_ms/5
  - ctpm/3
  - ctpm/4
  - tpm_localnames/0
  - tpm_localnames/1
  - ctpm_localnames/0
  - ctpm_localnames/1
  - tpm_globalnames/0
  - tpm_globalnames/1
  - ctpm_globalnames/0
  - ctpm_globalnames/1
  - ctp_all/0
  - ctp_all/1
  - suspend/1
  - suspend/2
  - cancel_suspension/0
  - cancel_suspend/1
  - get_status/0
  - get_status/1
  - get_tracerdata/0
  - get_tracerdata/1
  - list_logs/0
  - list_logs/1
  - list_logs/1
  - list_logs/1
  - fetch_log/3
  - fetch_log/2
  - delete_log/2
  - delete_log/1
  - delete_log/1
  - delete_log/1
  - delete_log/0
  - subscribe/0
  - subscribe/1
  - unsubscribe/0
  - unsubscribe/1
- inviso_as_lib
  - Top of manual page
  - setup_autostart/8
  - set_repeat/2
  - inhibit_autostart/1
- inviso_lfm
  - Top of manual page
  - merge/2
  - merge/3
  - merge/5
- inviso_lfm_tpfreader
  - Top of manual page
  - handle_logfile_sort_wrapset/1
- inviso_rt
  - Top of manual page
  - init_tracing/1
  - tp/5
  - tp/4
  - tp/1
  - tpl/4
  - tpl/5
  - tpl/1
  - ctp/3
  - ctpl/3
  - tf/2
  - tf/1
  - ctf/2
  - ctf/1
  - init_tpm/4
  - init_tpm/7
  - tpm/4
  - tpm/5
  - tpm/8
  - tpm_tracer/4
  - tpm_tracer/5
  - tpm_tracer/8
  - tpm_ms/5
  - tpm_ms_tracer/5
  - ctpm_ms/4
  - ctpm/3
  - local_register/0
  - remove_local_register/0
  - global_register/0
  - remove_global_register/0
- inviso_rt_meta
  - Top of manual page
  - tpm_ms/5
  - tpm_ms_tracer/5
  - list_tpm_ms/3
  - ctpm_ms/4
  - get_tracer/0

# inviso_rt_meta

### MODULE

inviso_rt_meta

### MODULE SUMMARY

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