Sophie

Sophie

distrib > Fedora > 17 > x86_64 > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 808

erlang-doc-R15B-03.3.fc17.noarch.rpm

<!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_lfm_tpfreader</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.3.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.3</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="loadscrollpos" title="inviso_lfm_tpfreader " expanded="true">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="no" title="inviso_rt_meta " expanded="false">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_lfm_tpfreader</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">inviso_lfm_tpfreader</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">Inviso Standard Reader Process to Standard Logfile Merger</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>Implements the standard reader process to the standard logfile merger <span class="code">inviso_lfm</span>.</p>
    <p>The reader process reads logfiles belonging to the same set (normally one node) in chronological order and delivers logged trace messages one by one to the output process. Before any trace messages are delivered, the <span class="code">inviso_lfm_tpreader</span> implementation reads the entire trace information file (if in use) and builds a database over pid-to-alias associations.</p>
    <p>The <span class="code">inviso_lfm_tpreader</span> implementation is capable of considering that an alias may have been used for several processes during different times. An alias may also be in use for several pids at the same time, on purpose. If a process has generated a trace message, all associations between that pid and aliases will be presented as the list <span class="code">PidMappings</span> in the message sent to the output process.</p>
  </p></div>
  <h3>EXPORTS</h3>
    <p><a name="handle_logfile_sort_wrapset-1"><span class="bold_code">handle_logfile_sort_wrapset(LogFiles) -&gt; FileList2</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">LogFiles = [{trace_log, FileList}]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">FileList = FileList2 = [FileName]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code"> FileName = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <p>Only one <span class="code">{trace_log, FileList}</span> tuple is expected in <span class="code">LogFiles</span>, all other tuples are ignored. <span class="code">FileList</span> must:</p>
        <ul>
          <li>contain one single file name, or</li>
          <li>a list of wraplog files, following the naming convention <span class="code">&lt;Prefix&gt;&lt;Nr&gt;&lt;Suffix&gt;</span>.</li>
        </ul>
        <p>Sorts the files in <span class="code">FileList</span> in chronological order beginning with the oldest. Sorting is only relevant if <span class="code">FileList</span> is a list of wraplogs. The sorting is done on finding the modulo-counter in the filename and not on filesystem timestamps.</p>
        <p>This function is exported for convenience should an own reader process be implemented.</p>
      </p></div>
  

  <h3><a name="id69819">The Trace Information File Protocol</a></h3>
<div class="REFBODY">
    
    <p>The format of a trace information file is dictated by the meta tracer process. The <span class="code">inviso_lfm_tpfreader</span> implementation of a reader process understands the following trace information entries. Note that the <span class="code">inviso_rt_meta</span> trace information file is on binary format prefixing every entry with a 4 byte length indicator.</p>
    <dl>
      <dt><strong><span class="code">{Pid, Alias, alias, NowStamp}</span></strong></dt>
      <dd>
        <p><span class="code">Pid = pid()</span>          <br>
<span class="code">Alias = term()</span>          <br>
<span class="code">NowStamp = term()</span>, but in current implementation as
          returned from <span class="code">erlang:now/0</span></p>
        <p>This message indicates that from now on shall <span class="code">Pid</span> be associated with <span class="code">Alias</span>.</p>
      </dd>
      <dt><strong><span class="code">{MaybePid, Alias, unalias, NowStamp}</span></strong></dt>
      <dd>
        <p><span class="code">MaybePid = pid() | undefined</span>          <br>
<span class="code">Alias = term()</span>          <br>
<span class="code">NowStamp = term()</span>, see above</p>
        <p>This message indicates that, if <span class="code">MaybePid</span> is a pid, this pid shall no longer be associated with <span class="code">Alias</span>. If it is <span class="code">undefined</span>, all associations with <span class="code">Alias</span> from now shall be considered invalid.</p>
        <p>Also note that there are many situations where <span class="code">unalias</span> entries will be missing. For instance if a process terminates without making explicit function calls removing its associations first. This is seldom a problem unless the pid is reused.</p>
      </dd>
    </dl>
  </div>
</div>
<div class="footer">
<hr>
<p>Copyright © 2006-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>