<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- inviso_rt_meta</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/inviso-0.6.1.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Inviso</strong><br><strong>Reference Manual</strong><br><small>Version 0.6.1</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p> <ul class="flipMenu"> <li id="no" title="inviso " expanded="false">inviso<ul> <li><a href="inviso.html"> Top of manual page </a></li> <li title="start-0"><a href="inviso.html#start-0">start/0</a></li> <li title="start-1"><a href="inviso.html#start-1">start/1</a></li> <li title="stop-0"><a href="inviso.html#stop-0">stop/0</a></li> <li title="add_node-1"><a href="inviso.html#add_node-1">add_node/1</a></li> <li title="add_node-2"><a href="inviso.html#add_node-2">add_node/2</a></li> <li title="add_node_if_ref-1"><a href="inviso.html#add_node_if_ref-1">add_node_if_ref/1</a></li> <li title="add_node_if_ref-2"><a href="inviso.html#add_node_if_ref-2">add_node_if_ref/2</a></li> <li title="add_nodes-2"><a href="inviso.html#add_nodes-2">add_nodes/2</a></li> <li title="add_nodes-3"><a href="inviso.html#add_nodes-3">add_nodes/3</a></li> <li title="add_nodes_if_ref-2"><a href="inviso.html#add_nodes_if_ref-2">add_nodes_if_ref/2</a></li> <li title="add_nodes_if_ref-3"><a href="inviso.html#add_nodes_if_ref-3">add_nodes_if_ref/3</a></li> <li title="stop_nodes-0"><a href="inviso.html#stop_nodes-0">stop_nodes/0</a></li> <li title="stop_nodes-1"><a href="inviso.html#stop_nodes-1">stop_nodes/1</a></li> <li title="stop_all-0"><a href="inviso.html#stop_all-0">stop_all/0</a></li> <li title="change_options-1"><a href="inviso.html#change_options-1">change_options/1</a></li> <li title="change_options-2"><a href="inviso.html#change_options-2">change_options/2</a></li> <li title="init_tracing-1"><a href="inviso.html#init_tracing-1">init_tracing/1</a></li> <li title="init_tracing-1"><a href="inviso.html#init_tracing-1">init_tracing/1</a></li> <li title="init_tracing-2"><a href="inviso.html#init_tracing-2">init_tracing/2</a></li> <li title="stop_tracing-1"><a href="inviso.html#stop_tracing-1">stop_tracing/1</a></li> <li title="stop_tracing-0"><a href="inviso.html#stop_tracing-0">stop_tracing/0</a></li> <li title="clear-0"><a href="inviso.html#clear-0">clear/0</a></li> <li title="clear-2"><a href="inviso.html#clear-2">clear/2</a></li> <li title="clear-1"><a href="inviso.html#clear-1">clear/1</a></li> <li title="tp-6"><a href="inviso.html#tp-6">tp/6</a></li> <li title="tp-5"><a href="inviso.html#tp-5">tp/5</a></li> <li title="tp-5"><a href="inviso.html#tp-5">tp/5</a></li> <li title="tp-4"><a href="inviso.html#tp-4">tp/4</a></li> <li title="tp-2"><a href="inviso.html#tp-2">tp/2</a></li> <li title="tp-1"><a href="inviso.html#tp-1">tp/1</a></li> <li title="tpl-5"><a href="inviso.html#tpl-5">tpl/5</a></li> <li title="tpl-6"><a href="inviso.html#tpl-6">tpl/6</a></li> <li title="tpl-4"><a href="inviso.html#tpl-4">tpl/4</a></li> <li title="tpl-5"><a href="inviso.html#tpl-5">tpl/5</a></li> <li title="tpl-2"><a href="inviso.html#tpl-2">tpl/2</a></li> <li title="tpl-1"><a href="inviso.html#tpl-1">tpl/1</a></li> <li title="ctp-4"><a href="inviso.html#ctp-4">ctp/4</a></li> <li title="ctp-3"><a href="inviso.html#ctp-3">ctp/3</a></li> <li title="ctpl-4"><a href="inviso.html#ctpl-4">ctpl/4</a></li> <li title="ctpl-3"><a href="inviso.html#ctpl-3">ctpl/3</a></li> <li title="tf-3"><a href="inviso.html#tf-3">tf/3</a></li> <li title="tf-2"><a href="inviso.html#tf-2">tf/2</a></li> <li title="tf-2"><a href="inviso.html#tf-2">tf/2</a></li> <li title="tf-1"><a href="inviso.html#tf-1">tf/1</a></li> <li title="tf-1"><a href="inviso.html#tf-1">tf/1</a></li> <li title="ctf-3"><a href="inviso.html#ctf-3">ctf/3</a></li> <li title="ctf-2"><a href="inviso.html#ctf-2">ctf/2</a></li> <li title="ctf-2"><a href="inviso.html#ctf-2">ctf/2</a></li> <li title="ctf-1"><a href="inviso.html#ctf-1">ctf/1</a></li> <li title="ctf_all-1"><a href="inviso.html#ctf_all-1">ctf_all/1</a></li> <li title="ctf_all-0"><a href="inviso.html#ctf_all-0">ctf_all/0</a></li> <li title="init_tpm-4"><a href="inviso.html#init_tpm-4">init_tpm/4</a></li> <li title="init_tpm-5"><a href="inviso.html#init_tpm-5">init_tpm/5</a></li> <li title="init_tpm-7"><a href="inviso.html#init_tpm-7">init_tpm/7</a></li> <li title="init_tpm-8"><a href="inviso.html#init_tpm-8">init_tpm/8</a></li> <li title="tpm-4"><a href="inviso.html#tpm-4">tpm/4</a></li> <li title="tpm-5"><a href="inviso.html#tpm-5">tpm/5</a></li> <li title="tpm-5"><a href="inviso.html#tpm-5">tpm/5</a></li> <li title="tpm-6"><a href="inviso.html#tpm-6">tpm/6</a></li> <li title="tpm-8"><a href="inviso.html#tpm-8">tpm/8</a></li> <li title="tpm-9"><a href="inviso.html#tpm-9">tpm/9</a></li> <li title="tpm_tracer-4"><a href="inviso.html#tpm_tracer-4">tpm_tracer/4</a></li> <li title="tpm_tracer-5"><a href="inviso.html#tpm_tracer-5">tpm_tracer/5</a></li> <li title="tpm_tracer-5"><a href="inviso.html#tpm_tracer-5">tpm_tracer/5</a></li> <li title="tpm_tracer-6"><a href="inviso.html#tpm_tracer-6">tpm_tracer/6</a></li> <li title="tpm_tracer-8"><a href="inviso.html#tpm_tracer-8">tpm_tracer/8</a></li> <li title="tpm_tracer-9"><a href="inviso.html#tpm_tracer-9">tpm_tracer/9</a></li> <li title="tpm_ms-5"><a href="inviso.html#tpm_ms-5">tpm_ms/5</a></li> <li title="tpm_ms-6"><a href="inviso.html#tpm_ms-6">tpm_ms/6</a></li> <li title="tpm_ms_tracer-5"><a href="inviso.html#tpm_ms_tracer-5">tpm_ms_tracer/5</a></li> <li title="tpm_ms_tracer-6"><a href="inviso.html#tpm_ms_tracer-6">tpm_ms_tracer/6</a></li> <li title="ctpm_ms-4"><a href="inviso.html#ctpm_ms-4">ctpm_ms/4</a></li> <li title="ctpm_ms-5"><a href="inviso.html#ctpm_ms-5">ctpm_ms/5</a></li> <li title="ctpm-3"><a href="inviso.html#ctpm-3">ctpm/3</a></li> <li title="ctpm-4"><a href="inviso.html#ctpm-4">ctpm/4</a></li> <li title="tpm_localnames-0"><a href="inviso.html#tpm_localnames-0">tpm_localnames/0</a></li> <li title="tpm_localnames-1"><a href="inviso.html#tpm_localnames-1">tpm_localnames/1</a></li> <li title="ctpm_localnames-0"><a href="inviso.html#ctpm_localnames-0">ctpm_localnames/0</a></li> <li title="ctpm_localnames-1"><a href="inviso.html#ctpm_localnames-1">ctpm_localnames/1</a></li> <li title="tpm_globalnames-0"><a href="inviso.html#tpm_globalnames-0">tpm_globalnames/0</a></li> <li title="tpm_globalnames-1"><a href="inviso.html#tpm_globalnames-1">tpm_globalnames/1</a></li> <li title="ctpm_globalnames-0"><a href="inviso.html#ctpm_globalnames-0">ctpm_globalnames/0</a></li> <li title="ctpm_globalnames-1"><a href="inviso.html#ctpm_globalnames-1">ctpm_globalnames/1</a></li> <li title="ctp_all-0"><a href="inviso.html#ctp_all-0">ctp_all/0</a></li> <li title="ctp_all-1"><a href="inviso.html#ctp_all-1">ctp_all/1</a></li> <li title="suspend-1"><a href="inviso.html#suspend-1">suspend/1</a></li> <li title="suspend-2"><a href="inviso.html#suspend-2">suspend/2</a></li> <li title="cancel_suspension-0"><a href="inviso.html#cancel_suspension-0">cancel_suspension/0</a></li> <li title="cancel_suspend-1"><a href="inviso.html#cancel_suspend-1">cancel_suspend/1</a></li> <li title="get_status-0"><a href="inviso.html#get_status-0">get_status/0</a></li> <li title="get_status-1"><a href="inviso.html#get_status-1">get_status/1</a></li> <li title="get_tracerdata-0"><a href="inviso.html#get_tracerdata-0">get_tracerdata/0</a></li> <li title="get_tracerdata-1"><a href="inviso.html#get_tracerdata-1">get_tracerdata/1</a></li> <li title="list_logs-0"><a href="inviso.html#list_logs-0">list_logs/0</a></li> <li title="list_logs-1"><a href="inviso.html#list_logs-1">list_logs/1</a></li> <li title="list_logs-1"><a href="inviso.html#list_logs-1">list_logs/1</a></li> <li title="list_logs-1"><a href="inviso.html#list_logs-1">list_logs/1</a></li> <li title="fetch_log-3"><a href="inviso.html#fetch_log-3">fetch_log/3</a></li> <li title="fetch_log-2"><a href="inviso.html#fetch_log-2">fetch_log/2</a></li> <li title="delete_log-2"><a href="inviso.html#delete_log-2">delete_log/2</a></li> <li title="delete_log-1"><a href="inviso.html#delete_log-1">delete_log/1</a></li> <li title="delete_log-1"><a href="inviso.html#delete_log-1">delete_log/1</a></li> <li title="delete_log-1"><a href="inviso.html#delete_log-1">delete_log/1</a></li> <li title="delete_log-0"><a href="inviso.html#delete_log-0">delete_log/0</a></li> <li title="subscribe-0"><a href="inviso.html#subscribe-0">subscribe/0</a></li> <li title="subscribe-1"><a href="inviso.html#subscribe-1">subscribe/1</a></li> <li title="unsubscribe-0"><a href="inviso.html#unsubscribe-0">unsubscribe/0</a></li> <li title="unsubscribe-1"><a href="inviso.html#unsubscribe-1">unsubscribe/1</a></li> </ul> </li> <li id="no" title="inviso_as_lib " expanded="false">inviso_as_lib<ul> <li><a href="inviso_as_lib.html"> Top of manual page </a></li> <li title="setup_autostart-8"><a href="inviso_as_lib.html#setup_autostart-8">setup_autostart/8</a></li> <li title="set_repeat-2"><a href="inviso_as_lib.html#set_repeat-2">set_repeat/2</a></li> <li title="inhibit_autostart-1"><a href="inviso_as_lib.html#inhibit_autostart-1">inhibit_autostart/1</a></li> </ul> </li> <li id="no" title="inviso_lfm " expanded="false">inviso_lfm<ul> <li><a href="inviso_lfm.html"> Top of manual page </a></li> <li title="merge-2"><a href="inviso_lfm.html#merge-2">merge/2</a></li> <li title="merge-3"><a href="inviso_lfm.html#merge-3">merge/3</a></li> <li title="merge-5"><a href="inviso_lfm.html#merge-5">merge/5</a></li> </ul> </li> <li id="no" title="inviso_lfm_tpfreader " expanded="false">inviso_lfm_tpfreader<ul> <li><a href="inviso_lfm_tpfreader.html"> Top of manual page </a></li> <li title="handle_logfile_sort_wrapset-1"><a href="inviso_lfm_tpfreader.html#handle_logfile_sort_wrapset-1">handle_logfile_sort_wrapset/1</a></li> </ul> </li> <li id="no" title="inviso_rt " expanded="false">inviso_rt<ul> <li><a href="inviso_rt.html"> Top of manual page </a></li> <li title="init_tracing-1"><a href="inviso_rt.html#init_tracing-1">init_tracing/1</a></li> <li title="tp-5"><a href="inviso_rt.html#tp-5">tp/5</a></li> <li title="tp-4"><a href="inviso_rt.html#tp-4">tp/4</a></li> <li title="tp-1"><a href="inviso_rt.html#tp-1">tp/1</a></li> <li title="tpl-4"><a href="inviso_rt.html#tpl-4">tpl/4</a></li> <li title="tpl-5"><a href="inviso_rt.html#tpl-5">tpl/5</a></li> <li title="tpl-1"><a href="inviso_rt.html#tpl-1">tpl/1</a></li> <li title="ctp-3"><a href="inviso_rt.html#ctp-3">ctp/3</a></li> <li title="ctpl-3"><a href="inviso_rt.html#ctpl-3">ctpl/3</a></li> <li title="tf-2"><a href="inviso_rt.html#tf-2">tf/2</a></li> <li title="tf-1"><a href="inviso_rt.html#tf-1">tf/1</a></li> <li title="ctf-2"><a href="inviso_rt.html#ctf-2">ctf/2</a></li> <li title="ctf-1"><a href="inviso_rt.html#ctf-1">ctf/1</a></li> <li title="init_tpm-4"><a href="inviso_rt.html#init_tpm-4">init_tpm/4</a></li> <li title="init_tpm-7"><a href="inviso_rt.html#init_tpm-7">init_tpm/7</a></li> <li title="tpm-4"><a href="inviso_rt.html#tpm-4">tpm/4</a></li> <li title="tpm-5"><a href="inviso_rt.html#tpm-5">tpm/5</a></li> <li title="tpm-8"><a href="inviso_rt.html#tpm-8">tpm/8</a></li> <li title="tpm_tracer-4"><a href="inviso_rt.html#tpm_tracer-4">tpm_tracer/4</a></li> <li title="tpm_tracer-5"><a href="inviso_rt.html#tpm_tracer-5">tpm_tracer/5</a></li> <li title="tpm_tracer-8"><a href="inviso_rt.html#tpm_tracer-8">tpm_tracer/8</a></li> <li title="tpm_ms-5"><a href="inviso_rt.html#tpm_ms-5">tpm_ms/5</a></li> <li title="tpm_ms_tracer-5"><a href="inviso_rt.html#tpm_ms_tracer-5">tpm_ms_tracer/5</a></li> <li title="ctpm_ms-4"><a href="inviso_rt.html#ctpm_ms-4">ctpm_ms/4</a></li> <li title="ctpm-3"><a href="inviso_rt.html#ctpm-3">ctpm/3</a></li> <li title="local_register-0"><a href="inviso_rt.html#local_register-0">local_register/0</a></li> <li title="remove_local_register-0"><a href="inviso_rt.html#remove_local_register-0">remove_local_register/0</a></li> <li title="global_register-0"><a href="inviso_rt.html#global_register-0">global_register/0</a></li> <li title="remove_global_register-0"><a href="inviso_rt.html#remove_global_register-0">remove_global_register/0</a></li> </ul> </li> <li id="loadscrollpos" title="inviso_rt_meta " expanded="true">inviso_rt_meta<ul> <li><a href="inviso_rt_meta.html"> Top of manual page </a></li> <li title="tpm_ms-5"><a href="inviso_rt_meta.html#tpm_ms-5">tpm_ms/5</a></li> <li title="tpm_ms_tracer-5"><a href="inviso_rt_meta.html#tpm_ms_tracer-5">tpm_ms_tracer/5</a></li> <li title="list_tpm_ms-3"><a href="inviso_rt_meta.html#list_tpm_ms-3">list_tpm_ms/3</a></li> <li title="ctpm_ms-4"><a href="inviso_rt_meta.html#ctpm_ms-4">ctpm_ms/4</a></li> <li title="get_tracer-0"><a href="inviso_rt_meta.html#get_tracer-0">get_tracer/0</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>inviso_rt_meta</h1></center> <h3>MODULE</h3> <div class="REFBODY">inviso_rt_meta</div> <h3>MODULE SUMMARY</h3> <div class="REFBODY">Direct API to the Inviso Runtime Component's meta tracer</div> <h3>DESCRIPTION</h3> <div class="REFBODY"><p> <p>This module provides a direct API to the inviso meta tracer. These functions are only meant to be used in meta tracing <span class="code">CallFunc</span> and <span class="code">RemoveFunc</span>.</p> <p>It can sometimes be necessary to manipulate meta match-patterns from <span class="code">CallFunc</span>s and <span class="code">RemoveFunc</span>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!.</p> <p>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.</p> </p></div> <h3>EXPORTS</h3> <p><a name="tpm_ms-5"><span class="bold_code">tpm_ms(Mod,Func,Arity,MSname,MS) -> {ok,0} | {ok,1} | {error,not_initiated}</span></a><br></p> <div class="REFBODY"><p> <p>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 <span class="code">MSname</span>.</p> </p></div> <p><a name="tpm_ms_tracer-5"><span class="bold_code">tpm_ms_tracer(Mod,Func,Arity,MSname,MS) -> {ok,0} | {ok,1} | {error,not_initiated}</span></a><br></p> <div class="REFBODY"><p> <p>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 <span class="code">MSname</span>.</p> </p></div> <p><a name="list_tpm_ms-3"><span class="bold_code">list_tpm_ms(Mod,Func,Arity) -> [MSname]</span></a><br></p> <div class="REFBODY"><p> <p>Returns a list of all <span class="code">MSname</span> in use for <span class="code">Mod:Func/Arity</span>. This can be useful instead of having to have an own-implemented database over currently in use meta match-functions for a particular function.</p> </p></div> <p><a name="ctpm_ms-4"><span class="bold_code">ctpm_ms(Mod,Func,Arity,MSname) -> ok</span></a><br></p> <div class="REFBODY"><p> <p>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 <span class="code">MSname</span>.</p> </p></div> <p><a name="get_tracer-0"><span class="bold_code">get_tracer() -> Tracer</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Tracer = pid() | port()</span><br> </div> </div> <div class="REFBODY"><p> <p>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 <span class="code">erlang:trace_pattern/3</span>) and the <span class="code">{tracer,Tracer}</span> must be used in one of the match-function bodies.</p> </p></div> </div> <div class="footer"> <hr> <p>Copyright © 2006-2010 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>