Difference between revisions of "RCUG RootCause Files and Environment Variables"

From OC Systems Wiki!
Jump to: navigation, search
m
m
Line 32: Line 32:
 
</DIV>
 
</DIV>
 
<div id="LINK-07environment_rc.fm-firstpage">text</div>  -->
 
<div id="LINK-07environment_rc.fm-firstpage">text</div>  -->
<A NAME=HEADING10-0></A>
+
<DIV ID=HEADING10-0></DIV>
<A NAME="UID-07environment_rc.fm-864080"></A>
+
<DIV ID="UID-07environment_rc.fm-864080"></DIV>
<!--  <H1>  <A NAME=MARKER-9-946></A> RootCause Files and Environment Variables</H1>  -->
+
<DIV ID=MARKER-9-946></DIV>
 +
<!--  <H1>   RootCause Files and Environment Variables</H1>  -->
 
----  <!--  <HR>  -->
 
----  <!--  <HR>  -->
  
RootCause consists of a [[RCUG_3_Terminology_and_Concepts#MARKER-9-429|GUI]] to define traces, the Aprobe runtime to implement those traces, and a number of directories, files, and variables in the execution environment which control and record when the traces are applied. This chapter briefly describes those files and <A NAME=MARKER-2-947></A> environment variables.
+
<DIV ID=MARKER-2-947></DIV>
 +
RootCause consists of a [[RCUG_3_Terminology_and_Concepts#MARKER-9-429|GUI]] to define traces, the Aprobe runtime to implement those traces, and a number of directories, files, and variables in the execution environment which control and record when the traces are applied. This chapter briefly describes those files and environment variables.
  
<A NAME=HEADING10-2></A>
+
<DIV ID=HEADING10-2></DIV>
<A NAME="UID-07environment_rc.fm-949847"></A>
+
<DIV ID="UID-07environment_rc.fm-949847"></DIV>
 
== Workspace ==
 
== Workspace ==
<A NAME=MARKER-9-948></A>
+
<DIV ID=MARKER-9-948></DIV>
 
<!--  <H2> Workspace</H2>  -->
 
<!--  <H2> Workspace</H2>  -->
  
Line 49: Line 51:
 
The contents of the workspace are manipulated by the RootCause GUI.  If you change something within the workspace, such as a script or configuration file, the changes may be lost the next time a rootcause GUI operation is performed.
 
The contents of the workspace are manipulated by the RootCause GUI.  If you change something within the workspace, such as a script or configuration file, the changes may be lost the next time a rootcause GUI operation is performed.
  
<A NAME=HEADING10-5></A>
+
<DIV ID=HEADING10-5></DIV>
<A NAME="UID-07environment_rc.fm-949853"></A>
+
<DIV ID="UID-07environment_rc.fm-949853"></DIV>
 
== UAL File ==
 
== UAL File ==
 
<!--  <H2> UAL File</H2>  -->
 
<!--  <H2> UAL File</H2>  -->
Line 61: Line 63:
 
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
 
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
  
<A NAME=HEADING10-7></A>
+
<DIV ID=HEADING10-7></DIV>
<A NAME="UID-07environment_rc.fm-950024"></A>
+
<DIV ID="UID-07environment_rc.fm-950024"></DIV>
 
== Data (APD) File ==
 
== Data (APD) File ==
<!--  <H2> <A NAME=MARKER-10-949></A><A NAME=MARKER-2-950></A>Data (APD) File</H2>   
+
<DIV ID=MARKER-10-949></DIV>
 
+
<DIV ID=MARKER-2-950></DIV>
-->
+
<!--  <H2> Data (APD) File</H2>  -->
  
 
Aprobe places the [[RCUG_3_Terminology_and_Concepts#MARKER-9-436|log]]ged data from a traced [[RCUG_3_Terminology_and_Concepts#MARKER-9-425|executable]] into a [[RCUG_3_Terminology_and_Concepts#MARKER-9-407|Data File]], also called an [[RCUG_3_Terminology_and_Concepts#MARKER-9-392|APD file]]. For the most part, RootCause users are isolated from this; however, when formatting the data, you can choose the data files you wish to view or generate an index from.  See [[RCUG_3_Terminology_and_Concepts#MARKER-9-370|&quot;Bounding Total Data&quot;]] for more information.  
 
Aprobe places the [[RCUG_3_Terminology_and_Concepts#MARKER-9-436|log]]ged data from a traced [[RCUG_3_Terminology_and_Concepts#MARKER-9-425|executable]] into a [[RCUG_3_Terminology_and_Concepts#MARKER-9-407|Data File]], also called an [[RCUG_3_Terminology_and_Concepts#MARKER-9-392|APD file]]. For the most part, RootCause users are isolated from this; however, when formatting the data, you can choose the data files you wish to view or generate an index from.  See [[RCUG_3_Terminology_and_Concepts#MARKER-9-370|&quot;Bounding Total Data&quot;]] for more information.  
Line 75: Line 77:
 
<!--  <A HREF="rcc-6.html#MARKER-9-370">&quot;Bounding Total Data&quot;</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-370">&quot;Bounding Total Data&quot;</A>  -->
 
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
<A NAME=MARKER-10-951></A>
+
<DIV ID=MARKER-10-951></DIV>
  
<A NAME=HEADING10-9></A>
+
<DIV ID=HEADING10-9></DIV>
<A NAME="UID-07environment_rc.fm-950058"></A>
+
<DIV ID="UID-07environment_rc.fm-950058"></DIV>
 
== Process Data Set ==
 
== Process Data Set ==
<!--  <H2> <A NAME=MARKER-9-952></A>Process Data Set</H2>  -->
+
<DIV ID=MARKER-9-952></DIV>
 +
<!--  <H2> Process Data Set</H2>  -->
  
 
Process Data Sets are used to collect more than one wrap-around set (or ring) of data files for a single program. See [[RCUG_3_Terminology_and_Concepts#MARKER-9-368|&quot;Data for Multiple Processes&quot;]] for more information.
 
Process Data Sets are used to collect more than one wrap-around set (or ring) of data files for a single program. See [[RCUG_3_Terminology_and_Concepts#MARKER-9-368|&quot;Data for Multiple Processes&quot;]] for more information.
Line 86: Line 89:
 
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
  
<A NAME=HEADING10-11></A>
+
<DIV ID=HEADING10-11></DIV>
<A NAME="UID-07environment_rc.fm-949859"></A>
+
<DIV ID="UID-07environment_rc.fm-949859"></DIV>
 
== Deploy File ==
 
== Deploy File ==
 
<!--  <H2> Deploy File</H2>  -->
 
<!--  <H2> Deploy File</H2>  -->
Line 99: Line 102:
 
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
 
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
  
<A NAME=HEADING10-13></A>
+
<DIV ID=HEADING10-13></DIV>
<A NAME="UID-07environment_rc.fm-949861"></A>
+
<DIV ID="UID-07environment_rc.fm-949861"></DIV>
 
== Collect File ==
 
== Collect File ==
 
<!--  <H2> Collect File</H2>  -->
 
<!--  <H2> Collect File</H2>  -->
  
<A NAME=MARKER-2-953></A>
+
<DIV ID=MARKER-2-953></DIV>
<A NAME=MARKER-2-954></A>
+
<DIV ID=MARKER-2-954></DIV>
 
A [[RCUG_3_Terminology_and_Concepts#MARKER-9-404|collect]] file (extension <CODE>.clct</CODE>)  is created by the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2027|rootcause collect]]</CODE> command. It contains all the information collected by RootCause for a traced program at a remote site. The collect file is transmitted from the remote computer to the local computer where it is "[[RCUG_3_Terminology_and_Concepts#MARKER-9-410|decollect]]ed" to examine its contents.
 
A [[RCUG_3_Terminology_and_Concepts#MARKER-9-404|collect]] file (extension <CODE>.clct</CODE>)  is created by the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2027|rootcause collect]]</CODE> command. It contains all the information collected by RootCause for a traced program at a remote site. The collect file is transmitted from the remote computer to the local computer where it is "[[RCUG_3_Terminology_and_Concepts#MARKER-9-410|decollect]]ed" to examine its contents.
 
<!--  <A HREF="rcc-6.html#MARKER-9-404">collect</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-404">collect</A>  -->
Line 113: Line 116:
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
<A NAME=HEADING10-15></A>
+
<DIV ID=HEADING10-15></DIV>
<A NAME="UID-07environment_rc.fm-949836"></A>
+
<DIV ID="UID-07environment_rc.fm-949836"></DIV>
 
== Decollection ==
 
== Decollection ==
 
<!--  <H2> Decollection</H2>  -->
 
<!--  <H2> Decollection</H2>  -->
  
<A NAME=MARKER-2-955></A>
+
<DIV ID=MARKER-2-955></DIV>
<A NAME=MARKER-2-956></A>
+
<DIV ID=MARKER-2-956></DIV>
 
The [[RCUG_RootCause_GUI_Reference#MARKER-9-1430|Decollect]] button in the RootCause GUI unpacks a <code>.clct</CODE> file created by the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2027|rootcause collect]]</CODE> command. This creates a directory containing all the decollected workspaces. This directory is known as a Decollection (with extension <CODE>.dclct</CODE>), and is directly accessible using the [[RCUG_RootCause_GUI_Reference#MARKER-9-1370|Open Decollection]] and [[RCUG_RootCause_GUI_Reference#MARKER-9-1371|Recent Decollections]] items in the RootCause GUI's [[RCUG_RootCause_GUI_Reference#MARKER-9-1360|Workspace Menu]].
 
The [[RCUG_RootCause_GUI_Reference#MARKER-9-1430|Decollect]] button in the RootCause GUI unpacks a <code>.clct</CODE> file created by the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2027|rootcause collect]]</CODE> command. This creates a directory containing all the decollected workspaces. This directory is known as a Decollection (with extension <CODE>.dclct</CODE>), and is directly accessible using the [[RCUG_RootCause_GUI_Reference#MARKER-9-1370|Open Decollection]] and [[RCUG_RootCause_GUI_Reference#MARKER-9-1371|Recent Decollections]] items in the RootCause GUI's [[RCUG_RootCause_GUI_Reference#MARKER-9-1360|Workspace Menu]].
 
<!--  <A HREF="rcc-11.html#MARKER-9-1430">Decollect</A>  -->
 
<!--  <A HREF="rcc-11.html#MARKER-9-1430">Decollect</A>  -->
Line 129: Line 132:
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
<A NAME=HEADING10-17></A>
+
<DIV ID=HEADING10-17></DIV>
<A NAME="UID-07environment_rc.fm-949411"></A>
+
<DIV ID="UID-07environment_rc.fm-949411"></DIV>
 
== RootCause Registry ==
 
== RootCause Registry ==
<!--  <H2> <A NAME=MARKER-9-957></A>RootCause Registry</H2>  -->
+
<DIV ID=MARKER-9-957></DIV>
 +
<!--  <H2> RootCause Registry</H2>  -->
  
<A NAME=MARKER-9-958></A>
+
<DIV ID=MARKER-9-958></DIV>
<A NAME=MARKER-9-959></A>
+
<DIV ID=MARKER-9-959></DIV>
 
To use RootCause on an application, you must first [[RCUG_3_Terminology_and_Concepts#MARKER-9-451|register]] the application by adding it to your RootCause [[RCUG_3_Terminology_and_Concepts#MARKER-9-453|registry]].  The RootCause GUI will do this automatically, and there is a command line interface as well (see the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]]</CODE> command).
 
To use RootCause on an application, you must first [[RCUG_3_Terminology_and_Concepts#MARKER-9-451|register]] the application by adding it to your RootCause [[RCUG_3_Terminology_and_Concepts#MARKER-9-453|registry]].  The RootCause GUI will do this automatically, and there is a command line interface as well (see the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]]</CODE> command).
 
<!--  <A HREF="rcc-6.html#MARKER-9-451">register</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-451">register</A>  -->
Line 145: Line 149:
 
RootCause will only trace applications defined in the RootCause Registry.
 
RootCause will only trace applications defined in the RootCause Registry.
  
<A NAME=MARKER-10-960></A>
+
<DIV ID=MARKER-10-960></DIV>
 
On any one computer, there may be one or possibly many different registries, depending on your desired use.  For example, it would be common for each user to have his/her own registry.  Also, there may be one registry for the whole computer if it is a dedicated server and there is an integrated set of RootCause probes designed for that server.
 
On any one computer, there may be one or possibly many different registries, depending on your desired use.  For example, it would be common for each user to have his/her own registry.  Also, there may be one registry for the whole computer if it is a dedicated server and there is an integrated set of RootCause probes designed for that server.
  
<A NAME=MARKER-2-961></A>
+
<DIV ID=MARKER-2-961></DIV>
The location of the RootCause registry is defined by the  
+
The location of the RootCause registry is defined by the [[#MARKER-9-992|APROBE_REGISTRY]] environment variable, and is generally under the [[#MARKER-9-971|.rootcause Directory]]  so that each user has a separate registry.
<A HREF="#MARKER-9-992">APROBE_REGISTRY</A> environment variable, and is generally under the
+
<!--  <A HREF="#MARKER-9-992">APROBE_REGISTRY</A> -->
<A HREF="#MARKER-9-971">.rootcause Directory</A>  so that each user has a separate registry.
+
<!--  <A HREF="#MARKER-9-971">.rootcause Directory</A>  -->
  
<A NAME=MARKER-2-962></A>
+
<DIV ID=MARKER-2-962></DIV>
 
All manipulations of the registry are done using the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]]</CODE> command, or via the items in the RootCause GUI's Workspace menu.
 
All manipulations of the registry are done using the <CODE>[[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]]</CODE> command, or via the items in the RootCause GUI's Workspace menu.
 
<!--  <A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  -->
 
<!--  <A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  -->
Line 165: Line 169:
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
<A NAME=HEADING10-25></A>
+
<DIV ID=HEADING10-25></DIV>
<A NAME="UID-07environment_rc.fm-949420"></A>
+
<DIV ID="UID-07environment_rc.fm-949420"></DIV>
 
== RootCause Log ==
 
== RootCause Log ==
<!--  <H2> <A NAME=MARKER-9-963></A>RootCause Log </H2>  -->
+
<DIV ID=MARKER-9-963></DIV>
 +
<!--  <H2> RootCause Log </H2>  -->
  
 
The RootCause log file records what programs are started and what programs are traced while RootCause is enabled. Programs that are started but not traced are recorded as  
 
The RootCause log file records what programs are started and what programs are traced while RootCause is enabled. Programs that are started but not traced are recorded as  
<A NAME=MARKER-2-964></A>
+
<DIV ID=MARKER-2-964></DIV>
 
APP_START events. Programs that are traced by RootCause are recorded as  
 
APP_START events. Programs that are traced by RootCause are recorded as  
<A NAME=MARKER-2-965></A>
+
<DIV ID=MARKER-2-965></DIV>
 
APP_TRACED events. The RootCause log file may also contain other messages and debug information as  
 
APP_TRACED events. The RootCause log file may also contain other messages and debug information as  
<A NAME=MARKER-2-966></A>
+
<DIV ID=MARKER-2-966></DIV>
 
TEXT events. The RootCause log file may be examined in the GUI and used as a starting point for creating or opening the workspaces associated with programs recorded in the log file.
 
TEXT events. The RootCause log file may be examined in the GUI and used as a starting point for creating or opening the workspaces associated with programs recorded in the log file.
  
<A NAME=MARKER-2-967></A>
+
<DIV ID=MARKER-2-967></DIV>
 
By default RootCause writes a line to the log file whenever an application is [[RCUG_3_Terminology_and_Concepts#MARKER-9-458|run with rootcause on]], or fails to run due to an error. If you wish to record only those applications that are traced, you may change the verbosity level with the [[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]] command.
 
By default RootCause writes a line to the log file whenever an application is [[RCUG_3_Terminology_and_Concepts#MARKER-9-458|run with rootcause on]], or fails to run due to an error. If you wish to record only those applications that are traced, you may change the verbosity level with the [[RCUG_RootCause_Command_Reference#MARKER-9-2107|rootcause register]] command.
 
<!--  <A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>  -->
Line 186: Line 191:
  
 
To log only applications that are registered and probed:
 
To log only applications that are registered and probed:
<A NAME=MARKER-2-968></A>
+
<DIV ID=MARKER-2-968></DIV>
 
<PRE>
 
<PRE>
 
rootcause register -s verbose -e off
 
rootcause register -s verbose -e off
 
</PRE>
 
</PRE>
  
<A NAME=MARKER-10-969></A>
+
<DIV ID=MARKER-10-969></DIV>
 
To log all applications that are executed when rootcause is enabled, whether or not they are registered:
 
To log all applications that are executed when rootcause is enabled, whether or not they are registered:
 
<PRE>
 
<PRE>
Line 197: Line 202:
 
</PRE>
 
</PRE>
  
<A NAME=MARKER-10-970></A>
+
<DIV ID=MARKER-10-970></DIV>
 
While becoming familiar with RootCause, you may want to examine the log file often.  You can display it using the [[RCUG_RootCause_Command_Reference#MARKER-9-2075|rootcause log]] command.
 
While becoming familiar with RootCause, you may want to examine the log file often.  You can display it using the [[RCUG_RootCause_Command_Reference#MARKER-9-2075|rootcause log]] command.
 
<!--  <A HREF="rcc-12.html#MARKER-9-2075">rootcause log</A>  -->
 
<!--  <A HREF="rcc-12.html#MARKER-9-2075">rootcause log</A>  -->
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
 
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
<A NAME=HEADING10-33></A>
+
<DIV ID=HEADING10-33></DIV>
<A NAME="UID-07environment_rc.fm-950674"></A>
+
<DIV ID="UID-07environment_rc.fm-950674"></DIV>
 
== .rootcause Directory ==
 
== .rootcause Directory ==
<!--  <H2> <A NAME=MARKER-9-971></A>.rootcause Directory</H2>  -->
+
<DIV ID=MARKER-9-971></DIV>
 +
<!--  <H2> .rootcause Directory</H2>  -->
  
 
The directory
 
The directory
<A NAME=MARKER-10-972></A>
+
<DIV ID=MARKER-10-972></DIV>
 
<PRE>
 
<PRE>
 
$HOME/.rootcause
 
$HOME/.rootcause
Line 215: Line 221:
 
is created and used by the RootCause GUI to maintain some user-specific attributes of your RootCause environment:
 
is created and used by the RootCause GUI to maintain some user-specific attributes of your RootCause environment:
 
<UL>
 
<UL>
<LI>the  
+
<LI>the [[#MARKER-9-963|RootCause Log]] file is located here by default
<A HREF="#MARKER-9-963">RootCause Log</A>  
+
<!--  <A HREF="#MARKER-9-963">RootCause Log</A> -->
file is located here by default
 
  
<LI>the  
+
<LI>the [[#MARKER-9-957|RootCause Registry]] is located here by default as well.
<A HREF="#MARKER-9-957">RootCause Registry</A> is located here by default as well.
+
<!--  <A HREF="#MARKER-9-957">RootCause Registry</A> -->
  
<LI>a customized  
+
<LI>a customized [[#MARKER-9-975|rootcause.properties]] file may be placed here.
<A HREF="#MARKER-9-975">rootcause.properties</A> file may be placed here.
+
<!--  <A HREF="#MARKER-9-975">rootcause.properties</A> -->
  
<A NAME=MARKER-2-973></A>
+
<DIV ID=MARKER-2-973></DIV>
 
<LI>a <code>preferences</CODE> file in this directory contains the recent workspaces and other RootCause GUI internal settings.
 
<LI>a <code>preferences</CODE> file in this directory contains the recent workspaces and other RootCause GUI internal settings.
  
Line 233: Line 238:
 
The directory is called <CODE>.rootcause_linux</CODE> on Linux and <CODE>.rootcause_aix</CODE> on AIX to avoid collisions and confusion on mixed systems sharing a common <code>$HOME directory</code>.
 
The directory is called <CODE>.rootcause_linux</CODE> on Linux and <CODE>.rootcause_aix</CODE> on AIX to avoid collisions and confusion on mixed systems sharing a common <code>$HOME directory</code>.
  
<A NAME=MARKER-2-974></A>
+
<DIV ID=MARKER-2-974></DIV>
The  
+
The [[#MARKER-9-982|APROBE_HOME]] may be used to specify a different location.
<A HREF="#MARKER-9-982">APROBE_HOME</A> may be used to specify a different location.
+
<!--  <A HREF="#MARKER-9-982">APROBE_HOME</A> -->
  
<A NAME=HEADING10-44></A>
+
<DIV ID=HEADING10-44></DIV>
<A NAME="UID-07environment_rc.fm-952716"></A>
+
<DIV ID="UID-07environment_rc.fm-952716"></DIV>
 
== rootcause.properties ==
 
== rootcause.properties ==
<!--  <H2> <A NAME=MARKER-9-975></A>rootcause.properties</H2>  -->
+
<DIV ID=MARKER-9-975></DIV>
 +
<!--  <H2> rootcause.properties</H2>  -->
  
 
The file
 
The file
  
<A NAME=MARKER-10-976></A>
+
<DIV ID=MARKER-10-976></DIV>
<A NAME=MARKER-10-977></A>
+
<DIV ID=MARKER-10-977></DIV>
 
<PRE>
 
<PRE>
 
$APROBE/lib/rootcause.properties  
 
$APROBE/lib/rootcause.properties  
 
</PRE>
 
</PRE>
  
defines some properties used to determine the RootCause appearance.  In general, you need not be concerned with these, but if you wish to change the background color or other property defined by UIManager you can do so by placing an edited version of this file in the  
+
defines some properties used to determine the RootCause appearance.  In general, you need not be concerned with these, but if you wish to change the background color or other property defined by UIManager you can do so by placing an edited version of this file in the [[#MARKER-9-971|.rootcause Directory]].
<A HREF="#MARKER-9-971">.rootcause Directory</A>.
+
<!--  <A HREF="#MARKER-9-971">.rootcause Directory</A> -->
  
<A NAME=HEADING10-48></A>
+
<DIV ID=HEADING10-48></DIV>
<A NAME="UID-07environment_rc.fm-964274"></A>
+
<DIV ID="UID-07environment_rc.fm-964274"></DIV>
 
== setup Script ==
 
== setup Script ==
<!--  <H2> <A NAME=MARKER-9-978></A>setup Script</H2>  -->
+
<DIV ID=MARKER-9-978></DIV>
 +
<!--  <H2> setup Script</H2>  -->
  
 
The files <code>$APROBE/setup</code> and <code>$APROBE/setup.csh</code> are provided to define the RootCause environment in your shell.  See [[RCUG_4_Getting_Started#MARKER-9-509|Chapter 4, &quot;The Setup Script&quot;]] for details.
 
The files <code>$APROBE/setup</code> and <code>$APROBE/setup.csh</code> are provided to define the RootCause environment in your shell.  See [[RCUG_4_Getting_Started#MARKER-9-509|Chapter 4, &quot;The Setup Script&quot;]] for details.
Line 262: Line 269:
 
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
 
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
  
<A NAME=HEADING10-50></A>
+
<DIV ID=HEADING10-50></DIV>
<A NAME="UID-07environment_rc.fm-958874"></A>
+
<DIV ID="UID-07environment_rc.fm-958874"></DIV>
 
== Environment Variables ==
 
== Environment Variables ==
 
<!--  <H2> Environment Variables</H2>  -->
 
<!--  <H2> Environment Variables</H2>  -->
  
 
=== APROBE ===
 
=== APROBE ===
<!--  <H3> <A NAME=MARKER-9-979></A>APROBE</H3>  -->
+
<DIV ID=MARKER-9-979></DIV>
 +
<!--  <H3> APROBE</H3>  -->
  
<A NAME=MARKER-2-980></A>
+
<DIV ID=MARKER-2-980></DIV>
<A NAME=MARKER-10-981></A>
+
<DIV ID=MARKER-10-981></DIV>
 
The APROBE environment variable points to the RootCause product installation directory, and is automatically defined by the setup script.  We suggest that you do not modify this environment variable.
 
The APROBE environment variable points to the RootCause product installation directory, and is automatically defined by the setup script.  We suggest that you do not modify this environment variable.
  
 
=== APROBE_HOME ===
 
=== APROBE_HOME ===
<!--  <H3> <A NAME=MARKER-9-982></A>APROBE_HOME </H3>  -->
+
<DIV ID=MARKER-9-982></DIV>
 +
<!--  <H3> APROBE_HOME </H3>  -->
  
<A NAME=MARKER-2-983></A>
+
<DIV ID=MARKER-2-983></DIV>
The APROBE_HOME environment variable defines a non-default location for the  
+
The APROBE_HOME environment variable defines a non-default location for the [[#MARKER-9-971|.rootcause Directory]].
<A HREF="#MARKER-9-971">.rootcause Directory</A>.
+
<!--  <A HREF="#MARKER-9-971">.rootcause Directory</A> -->
  
If APROBE_HOME is defined when the $APROBE/setup or setup.csh script is run, the  
+
If APROBE_HOME is defined when the $APROBE/setup or setup.csh script is run, the [[#MARKER-9-963|RootCause Log]] and [[#MARKER-9-957|RootCause Registry]] files are created under $APROBE_HOME. In this way, one can have a single system-wide RootCause environment by setting APROBE_HOME globally, and creating world-accessible registry and log files there.
<A HREF="#MARKER-9-963">RootCause Log</A> and  
+
<!--  <A HREF="#MARKER-9-963">RootCause Log</A>  -->
<A HREF="#MARKER-9-957">RootCause Registry</A> files are created under $APROBE_HOME. In this way, one can have a single system-wide RootCause environment by setting APROBE_HOME globally, and creating world-accessible registry and log files there.
+
<!--  <A HREF="#MARKER-9-957">RootCause Registry</A>  -->
  
 
=== APROBE_JRE ===
 
=== APROBE_JRE ===
 
<H3> APROBE_JRE</H3>
 
<H3> APROBE_JRE</H3>
  
<A NAME=MARKER-2-984></A>
+
<DIV ID=MARKER-2-984></DIV>
<A NAME=MARKER-2-985></A>
+
<DIV ID=MARKER-2-985></DIV>
 
The APROBE_JRE environment variable specifies a non-default [[RCUG_3_Terminology_and_Concepts#MARKER-9-431|JRE]] (Java installation) to use instead of the one shipped with RootCause.  See [[RCUG_RootCause_GUI_Reference#MARKER-9-1871|&quot;Platform-Specific GUI Issues&quot;]].
 
The APROBE_JRE environment variable specifies a non-default [[RCUG_3_Terminology_and_Concepts#MARKER-9-431|JRE]] (Java installation) to use instead of the one shipped with RootCause.  See [[RCUG_RootCause_GUI_Reference#MARKER-9-1871|&quot;Platform-Specific GUI Issues&quot;]].
 
<!--  <A HREF="rcc-6.html#MARKER-9-431">JRE</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-431">JRE</A>  -->
Line 299: Line 308:
 
<!--  <H3> APROBE_JAVA_HEAPSIZE</H3>  -->
 
<!--  <H3> APROBE_JAVA_HEAPSIZE</H3>  -->
  
<A NAME=MARKER-2-986></A>
+
<DIV ID=MARKER-2-986></DIV>
<A NAME=MARKER-2-987></A>
+
<DIV ID=MARKER-2-987></DIV>
 
The APROBE_JAVA_HEAPSIZE environment variable specifies a non-default Java heap sized to be use by the RootCause console GUI.  The value of this environment variable is the entire Java parameter value.  The default is "-Xmx128m".
 
The APROBE_JAVA_HEAPSIZE environment variable specifies a non-default Java heap sized to be use by the RootCause console GUI.  The value of this environment variable is the entire Java parameter value.  The default is "-Xmx128m".
  
Line 306: Line 315:
 
<!--  <H3> APROBE_LOG</H3>  -->
 
<!--  <H3> APROBE_LOG</H3>  -->
  
<A NAME=MARKER-2-988></A>
+
<DIV ID=MARKER-2-988></DIV>
<A NAME=MARKER-2-989></A>
+
<DIV ID=MARKER-2-989></DIV>
<A NAME=MARKER-2-990></A>
+
<DIV ID=MARKER-2-990></DIV>
The APROBE_LOG environment variable specifies the location of the RootCause Log file (see  
+
The APROBE_LOG environment variable specifies the location of the RootCause Log file (see [[#MARKER-9-963|&quot;RootCause Log&quot;]]). It is initialized by the setup script (see [[RCUG_4_Getting_Started#MARKER-9-509|&quot;The Setup Script&quot;]])  to the name <code>rclog</CODE> under the [[#MARKER-9-971|.rootcause Directory]].  If unset, the location $APROBE/arca/rc.log is used.  Generally the [[#MARKER-9-963|RootCause Log]] and [[#MARKER-9-957|RootCause Registry]] are kept in the same directory, defined by the value of the [[#MARKER-9-982|APROBE_HOME]] environment variable, so you shouldn't have to set this directly.  
<A HREF="#MARKER-9-963">&quot;RootCause Log&quot;</A>). It is initialized by the setup script (see  
+
<!--  <A HREF="#MARKER-9-963">&quot;RootCause Log&quot;</A>  -->
[[RCUG_4_Getting_Started#MARKER-9-509|&quot;The Setup Script&quot;]])  to the name <code>rclog</CODE> under the  
 
<A HREF="#MARKER-9-971">.rootcause Directory</A>.  If unset, the location $APROBE/arca/rc.log is used.  Generally the  
 
<A HREF="#MARKER-9-963">RootCause Log</A> and  
 
<A HREF="#MARKER-9-957">RootCause Registry</A> are kept in the same directory, defined by the value of the  
 
<A HREF="#MARKER-9-982">APROBE_HOME</A> environment variable, so you shouldn't have to set this directly.  
 
 
<!--  <A HREF="rcc-7.html#MARKER-9-509">&quot;The Setup Script&quot;</A>  -->
 
<!--  <A HREF="rcc-7.html#MARKER-9-509">&quot;The Setup Script&quot;</A>  -->
 +
<!--  <A HREF="#MARKER-9-971">.rootcause Directory</A>  -->
 +
<!--  <A HREF="#MARKER-9-963">RootCause Log</A>  -->
 +
<!--  <A HREF="#MARKER-9-957">RootCause Registry</A>  -->
 +
<!--  <A HREF="#MARKER-9-982">APROBE_HOME</A>  -->
 
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
 
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
<A NAME=MARKER-10-991></A>
+
<DIV ID=MARKER-10-991></DIV>
  
 
=== APROBE_REGISTRY ===
 
=== APROBE_REGISTRY ===
<!--  <H3> <A NAME=MARKER-9-992></A>APROBE_REGISTRY</H3>  -->
+
<DIV ID=MARKER-9-992></DIV>
 +
<!--  <H3> APROBE_REGISTRY</H3>  -->
  
<A NAME=MARKER-2-993></A>
+
<DIV ID=MARKER-2-993></DIV>
<A NAME=MARKER-2-994></A>
+
<DIV ID=MARKER-2-994></DIV>
The APROBE_REGISTRY environment variable specifies the location of the RootCause registry file (see  
+
The APROBE_REGISTRY environment variable specifies the location of the RootCause registry file (see [[#MARKER-9-957|&quot;RootCause Registry&quot;]]). It is initialized by the [[#MARKER-9-978|setup Script]] to the name <CODE>registry</CODE> under the [[#MARKER-9-971|.rootcause Directory]].  If unset, the location $APROBE/arca/registry is used.  Generally the [[#MARKER-9-963|RootCause Log]] and [[#MARKER-9-957|RootCause Registry]] are kept in the same directory, defined by the value of the [[#MARKER-9-982|APROBE_HOME]] environment variable, so you shouldn't have to set this directly.
<A HREF="#MARKER-9-957">&quot;RootCause Registry&quot;</A>). It is initialized by the  
+
<!--  <A HREF="#MARKER-9-957">&quot;RootCause Registry&quot;</A>  -->
<A HREF="#MARKER-9-978">setup Script</A> to the name <CODE>registry</CODE> under the  
+
<!--  <A HREF="#MARKER-9-978">setup Script</A>  -->
<A HREF="#MARKER-9-971">.rootcause Directory</A>.  If unset, the location $APROBE/arca/registry is used.  Generally the  
+
<!--  <A HREF="#MARKER-9-971">.rootcause Directory</A>  -->
<A HREF="#MARKER-9-963">RootCause Log</A> and
+
<!--  <A HREF="#MARKER-9-963">RootCause Log</A> -->
<A HREF="#MARKER-9-957">RootCause Registry</A> are kept in the same directory, defined by the value of the
+
<!--  <A HREF="#MARKER-9-957">RootCause Registry</A> -->
<A HREF="#MARKER-9-982">APROBE_HOME</A> environment variable, so you shouldn't have to set this directly.
+
<!--  <A HREF="#MARKER-9-982">APROBE_HOME</A> -->
  
 
=== APROBE_SEARCH_PATH ===
 
=== APROBE_SEARCH_PATH ===
 
<!--  <H3> APROBE_SEARCH_PATH</H3>  -->
 
<!--  <H3> APROBE_SEARCH_PATH</H3>  -->
  
<A NAME=MARKER-2-995></A>
+
<DIV ID=MARKER-2-995></DIV>
<A NAME=MARKER-2-996></A>
+
<DIV ID=MARKER-2-996></DIV>
 
The APROBE_SEARCH_PATH environment variable identifies directories to be searched by RootCause for source files when the file is not found in the directory from which it was compiled.  If defined, The APROBE_SEARCH_PATH environment variable is a colon-separated list of directories (like PATH and LIBPATH) in which to search for a a source file to display, if the file is not found in the directory recorded in the  
 
The APROBE_SEARCH_PATH environment variable identifies directories to be searched by RootCause for source files when the file is not found in the directory from which it was compiled.  If defined, The APROBE_SEARCH_PATH environment variable is a colon-separated list of directories (like PATH and LIBPATH) in which to search for a a source file to display, if the file is not found in the directory recorded in the  
<A NAME=MARKER-10-997></A>object file.
+
<DIV ID=MARKER-10-997></DIV>object file.
  
<A NAME=MARKER-10-998></A>
+
<DIV ID=MARKER-10-998></DIV>
 
For example, if a program is compiled from files in directories /build/common, /build/console, and /build/gui, and the directory /build has been moved to /old/build, you could do:
 
For example, if a program is compiled from files in directories /build/common, /build/console, and /build/gui, and the directory /build has been moved to /old/build, you could do:
 
<PRE>
 
<PRE>
Line 348: Line 357:
 
</PRE>
 
</PRE>
  
<A NAME=MARKER-10-999></A>
+
<DIV ID=MARKER-10-999></DIV>
<A NAME=MARKER-2-1000></A>
+
<DIV ID=MARKER-2-1000></DIV>
 
Use of the environment variable to find source files is not usually necessary, since the RootCause GUI provides an interface for specifying the search path the first time it's needed, and this path is recorded in the workspace.
 
Use of the environment variable to find source files is not usually necessary, since the RootCause GUI provides an interface for specifying the search path the first time it's needed, and this path is recorded in the workspace.
  
<A NAME=MARKER-2-1001></A>
+
<DIV ID=MARKER-2-1001></DIV>
 
The APROBE_SEARCH_PATH environment variable is also used by RootCause and Aprobe to find '''object''' files that have been moved -- see Appendix A of the Aprobe User's Guide.
 
The APROBE_SEARCH_PATH environment variable is also used by RootCause and Aprobe to find '''object''' files that have been moved -- see Appendix A of the Aprobe User's Guide.
  
Line 358: Line 367:
 
<!--  <H3> LD_AUDIT (Solaris)</H3>  -->
 
<!--  <H3> LD_AUDIT (Solaris)</H3>  -->
  
<A NAME=MARKER-2-1002></A>  
+
<DIV ID=MARKER-2-1002></DIV>  
<A NAME=MARKER-2-1003></A>
+
<DIV ID=MARKER-2-1003></DIV>
<A NAME=MARKER-2-1004></A>
+
<DIV ID=MARKER-2-1004></DIV>
<A NAME=MARKER-2-1005></A>
+
<DIV ID=MARKER-2-1005></DIV>
<A NAME=MARKER-2-1006></A>
+
<DIV ID=MARKER-2-1006></DIV>
 
The LD_AUDIT environment variable is recognized by the <b>Solaris</B> operating system and is used by RootCause to hook into applications that are registered by RootCause.    The commands <CODE>rootcause_on</CODE> and <CODE>rootcause_off</CODE> will set and unset the LD_AUDIT environment variable for RootCause.
 
The LD_AUDIT environment variable is recognized by the <b>Solaris</B> operating system and is used by RootCause to hook into applications that are registered by RootCause.    The commands <CODE>rootcause_on</CODE> and <CODE>rootcause_off</CODE> will set and unset the LD_AUDIT environment variable for RootCause.
  
Line 376: Line 385:
 
<!--  <H3> LD_PRELOAD (Linux)</H3>  -->
 
<!--  <H3> LD_PRELOAD (Linux)</H3>  -->
  
<A NAME=MARKER-2-1007></A>  
+
<DIV ID=MARKER-2-1007></DIV>  
<A NAME=MARKER-2-1008></A>
+
<DIV ID=MARKER-2-1008></DIV>
<A NAME=MARKER-2-1009></A>
+
<DIV ID=MARKER-2-1009></DIV>
<A NAME=MARKER-2-1010></A>
+
<DIV ID=MARKER-2-1010></DIV>
<A NAME=MARKER-2-1011></A>
+
<DIV ID=MARKER-2-1011></DIV>
 
The LD_PRELOAD environment variable is recognized by the <b>Linux</B> operating system and is used by RootCause to hook into applications that are registered by RootCause.    The commands <CODE>rootcause_on</CODE> and  
 
The LD_PRELOAD environment variable is recognized by the <b>Linux</B> operating system and is used by RootCause to hook into applications that are registered by RootCause.    The commands <CODE>rootcause_on</CODE> and  
  
Line 394: Line 403:
 
<!--  <H3> AP_ROOTCAUSE_ENABLED (AIX)</H3>  -->
 
<!--  <H3> AP_ROOTCAUSE_ENABLED (AIX)</H3>  -->
  
<A NAME=MARKER-2-1012></A>
+
<DIV ID=MARKER-2-1012></DIV>
AIX has no mechanism corresponding to LD_AUDIT or LD_PRELOAD that allows libraries to be specified at load time,  
+
AIX has no mechanism corresponding to LD_AUDIT or LD_PRELOAD that allows libraries to be specified at load time, and hence one cannot just set an environment variable  
and hence one cannot just set an environment variable  
+
to start intercepting processes on AIX.  Instead, one identifies a program that one may want to intercept, renames the program executable, and replaces it with a script called  
to start intercepting processes on AIX.  Instead, one identifies a program that one may want to intercept, renames  
+
<DIV ID=MARKER-2-1013></DIV>
the program executable, and replaces it with a script called  
+
<CODE>run_with_apaudit</CODE>, as described in [[RCUG_4_Getting_Started#MARKER-9-532|&quot;Enabling RootCause for an AIX Application&quot;]].   
<A NAME=MARKER-2-1013></A>
 
<CODE>run_with_apaudit</CODE>, as described in  
 
[[RCUG_4_Getting_Started#MARKER-9-532|&quot;Enabling RootCause for an AIX Application&quot;]].   
 
 
This script recognizes the  
 
This script recognizes the  
<A NAME=MARKER-2-1014></A>
+
<DIV ID=MARKER-2-1014></DIV>
 
AP_ROOTCAUSE_ENABLED environment variable, which is defined by the  
 
AP_ROOTCAUSE_ENABLED environment variable, which is defined by the  
<A NAME=MARKER-2-1015></A>
+
<DIV ID=MARKER-2-1015></DIV>
 
<CODE>rootcause_on</CODE> alias and unset by the  
 
<CODE>rootcause_on</CODE> alias and unset by the  
<A NAME=MARKER-2-1016></A>
+
<DIV ID=MARKER-2-1016></DIV>
 
<CODE>rootcause_off</CODE> alias.
 
<CODE>rootcause_off</CODE> alias.
 
<!--  <A HREF="rcc-7.html#MARKER-9-532">&quot;Enabling RootCause for an AIX Application&quot;</A>  -->
 
<!--  <A HREF="rcc-7.html#MARKER-9-532">&quot;Enabling RootCause for an AIX Application&quot;</A>  -->
Line 413: Line 419:
  
 
=== RC_WORKSPACE_LOC ===
 
=== RC_WORKSPACE_LOC ===
<!--  <H3> <A NAME=MARKER-9-1017></A>RC_WORKSPACE_LOC </H3>  -->
+
<DIV ID=MARKER-9-1017></DIV>
 +
<!--  <H3> RC_WORKSPACE_LOC </H3>  -->
  
<A NAME=MARKER-2-1018></A>
+
<DIV ID=MARKER-2-1018></DIV>
<A NAME=MARKER-2-1019></A>
+
<DIV ID=MARKER-2-1019></DIV>
 
When an application is [[RCUG_3_Terminology_and_Concepts#MARKER-9-458|run with rootcause on]] and is [[RCUG_3_Terminology_and_Concepts#MARKER-9-451|register]]ed with a [[RCUG_3_Terminology_and_Concepts#MARKER-9-482|workspace]], the location of that workspace is defined in the environment variable RC_WORKSPACE_LOC prior to the application being run with aprobe.  This allows one to use this environment variable to references files in aprobe options or within custom probes.  This is especially useful in specifying the location of the configuration file needed by a user-defined UAL in the [[RCUG_RootCause_GUI_Reference#MARKER-9-1457|Aprobe Parameters]] field of the [[RCUG_RootCause_GUI_Reference#MARKER-9-1444|Add UAL Dialog]].  This environment variable is also defined when data is formatted, and so can be used in [[RCUG_RootCause_GUI_Reference#MARKER-9-1461|Apformat Parameters]] as well.
 
When an application is [[RCUG_3_Terminology_and_Concepts#MARKER-9-458|run with rootcause on]] and is [[RCUG_3_Terminology_and_Concepts#MARKER-9-451|register]]ed with a [[RCUG_3_Terminology_and_Concepts#MARKER-9-482|workspace]], the location of that workspace is defined in the environment variable RC_WORKSPACE_LOC prior to the application being run with aprobe.  This allows one to use this environment variable to references files in aprobe options or within custom probes.  This is especially useful in specifying the location of the configuration file needed by a user-defined UAL in the [[RCUG_RootCause_GUI_Reference#MARKER-9-1457|Aprobe Parameters]] field of the [[RCUG_RootCause_GUI_Reference#MARKER-9-1444|Add UAL Dialog]].  This environment variable is also defined when data is formatted, and so can be used in [[RCUG_RootCause_GUI_Reference#MARKER-9-1461|Apformat Parameters]] as well.
 
<!--  <A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>  -->
 
<!--  <A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>  -->
Line 428: Line 435:
  
 
=== RC_SHORT_WORKSPACE_LOC ===
 
=== RC_SHORT_WORKSPACE_LOC ===
<!--  <H3> <A NAME=MARKER-9-1020></A>RC_SHORT_WORKSPACE_LOC</H3> -->
+
<DIV ID=MARKER-9-1020></DIV>
 +
<!--  <H3> RC_SHORT_WORKSPACE_LOC</H3> -->
  
<A NAME=MARKER-2-1021></A>
+
<DIV ID=MARKER-2-1021></DIV>
If the path to your workspace may contain blanks (such as is common on Windows platforms), you should use the RC_SHORT_WORKSPACE_LOC environment variable instead of the  
+
If the path to your workspace may contain blanks (such as is common on Windows platforms), you should use the RC_SHORT_WORKSPACE_LOC environment variable instead of the [[#MARKER-9-1017|RC_WORKSPACE_LOC]].
<A HREF="#MARKER-9-1017">RC_WORKSPACE_LOC</A>.
+
<!--  <A HREF="#MARKER-9-1017">RC_WORKSPACE_LOC</A> -->
  
 
<!--  <P> </P>  -->
 
<!--  <P> </P>  -->
<A NAME="LINK-07environment_rc.fm-lastpage"></A>
+
<DIV ID="LINK-07environment_rc.fm-lastpage"></DIV>
 
<!--   
 
<!--   
 
</DIV>
 
</DIV>

Revision as of 02:46, 23 November 2017


Next Previous Index Top

RootCause User Guide


RootCause Files and Environment Variables



     RCUG RootCause Files and Environment Variables

rcc-10



RootCause consists of a GUI to define traces, the Aprobe runtime to implement those traces, and a number of directories, files, and variables in the execution environment which control and record when the traces are applied. This chapter briefly describes those files and environment variables.

Workspace

All activity is performed in the context of a workspace. A workspace is a directory which contains all the information about the target program configuration, the configuration of the trace setup, and the resulting log files.

The contents of the workspace are manipulated by the RootCause GUI. If you change something within the workspace, such as a script or configuration file, the changes may be lost the next time a rootcause GUI operation is performed.

UAL File

A user action library (UAL) consists of a set of probes that are attached to the target program when it runs. The probes are activated when specified portions of the target program are reached. Some predefined UALs may be selected in the RootCause GUI Workspace Tree, additional ones are provided in the underlying Aprobe product, and the user can build custom UALs. As a user of RootCause, you do not need to be concerned with these files. RootCause handles them automatically. If you do use the underlying power of Aprobe, then you can create your own probes and your own UAL files.

Data (APD) File

Aprobe places the logged data from a traced executable into a Data File, also called an APD file. For the most part, RootCause users are isolated from this; however, when formatting the data, you can choose the data files you wish to view or generate an index from. See "Bounding Total Data" for more information.

Process Data Set

Process Data Sets are used to collect more than one wrap-around set (or ring) of data files for a single program. See "Data for Multiple Processes" for more information.

Deploy File

A deploy file (with extension .dply) is created by the Deploy operation in the RootCause GUI. It contains all the information needed by RootCause to trace a (possibly stripped) program at a remote site. The deploy file is transmitted to the remote computer and installed there to enable tracing of the program on the remote computer.

Collect File

A collect file (extension .clct) is created by the rootcause collect command. It contains all the information collected by RootCause for a traced program at a remote site. The collect file is transmitted from the remote computer to the local computer where it is "decollected" to examine its contents.

Decollection

The Decollect button in the RootCause GUI unpacks a .clct file created by the rootcause collect command. This creates a directory containing all the decollected workspaces. This directory is known as a Decollection (with extension .dclct), and is directly accessible using the Open Decollection and Recent Decollections items in the RootCause GUI's Workspace Menu.

RootCause Registry

To use RootCause on an application, you must first register the application by adding it to your RootCause registry. The RootCause GUI will do this automatically, and there is a command line interface as well (see the rootcause register command).

RootCause will only trace applications defined in the RootCause Registry.

On any one computer, there may be one or possibly many different registries, depending on your desired use. For example, it would be common for each user to have his/her own registry. Also, there may be one registry for the whole computer if it is a dedicated server and there is an integrated set of RootCause probes designed for that server.

The location of the RootCause registry is defined by the APROBE_REGISTRY environment variable, and is generally under the .rootcause Directory so that each user has a separate registry.

All manipulations of the registry are done using the rootcause register command, or via the items in the RootCause GUI's Workspace menu.

Important:

The registry is meant to be manipulated only with the rootcause register command (See "rootcause register"). Do not change its contents by any other means!

RootCause Log

The RootCause log file records what programs are started and what programs are traced while RootCause is enabled. Programs that are started but not traced are recorded as

APP_START events. Programs that are traced by RootCause are recorded as

APP_TRACED events. The RootCause log file may also contain other messages and debug information as

TEXT events. The RootCause log file may be examined in the GUI and used as a starting point for creating or opening the workspaces associated with programs recorded in the log file.

By default RootCause writes a line to the log file whenever an application is run with rootcause on, or fails to run due to an error. If you wish to record only those applications that are traced, you may change the verbosity level with the rootcause register command.

To log only applications that are registered and probed:

rootcause register -s verbose -e off

To log all applications that are executed when rootcause is enabled, whether or not they are registered:

rootcause register -s verbose -e on

While becoming familiar with RootCause, you may want to examine the log file often. You can display it using the rootcause log command.

.rootcause Directory

The directory

$HOME/.rootcause

is created and used by the RootCause GUI to maintain some user-specific attributes of your RootCause environment:

  • the RootCause Log file is located here by default
  • the RootCause Registry is located here by default as well.
  • a customized rootcause.properties file may be placed here.
  • a preferences file in this directory contains the recent workspaces and other RootCause GUI internal settings.
  • temporary files are created here.

The directory is called .rootcause_linux on Linux and .rootcause_aix on AIX to avoid collisions and confusion on mixed systems sharing a common $HOME directory.

The APROBE_HOME may be used to specify a different location.

rootcause.properties

The file

$APROBE/lib/rootcause.properties 

defines some properties used to determine the RootCause appearance. In general, you need not be concerned with these, but if you wish to change the background color or other property defined by UIManager you can do so by placing an edited version of this file in the .rootcause Directory.

setup Script

The files $APROBE/setup and $APROBE/setup.csh are provided to define the RootCause environment in your shell. See Chapter 4, "The Setup Script" for details.

Environment Variables

APROBE

The APROBE environment variable points to the RootCause product installation directory, and is automatically defined by the setup script. We suggest that you do not modify this environment variable.

APROBE_HOME

The APROBE_HOME environment variable defines a non-default location for the .rootcause Directory.

If APROBE_HOME is defined when the $APROBE/setup or setup.csh script is run, the RootCause Log and RootCause Registry files are created under $APROBE_HOME. In this way, one can have a single system-wide RootCause environment by setting APROBE_HOME globally, and creating world-accessible registry and log files there.

APROBE_JRE

APROBE_JRE

The APROBE_JRE environment variable specifies a non-default JRE (Java installation) to use instead of the one shipped with RootCause. See "Platform-Specific GUI Issues".

APROBE_JAVA_HEAPSIZE

The APROBE_JAVA_HEAPSIZE environment variable specifies a non-default Java heap sized to be use by the RootCause console GUI. The value of this environment variable is the entire Java parameter value. The default is "-Xmx128m".

APROBE_LOG

The APROBE_LOG environment variable specifies the location of the RootCause Log file (see "RootCause Log"). It is initialized by the setup script (see "The Setup Script") to the name rclog under the .rootcause Directory. If unset, the location $APROBE/arca/rc.log is used. Generally the RootCause Log and RootCause Registry are kept in the same directory, defined by the value of the APROBE_HOME environment variable, so you shouldn't have to set this directly.

APROBE_REGISTRY

The APROBE_REGISTRY environment variable specifies the location of the RootCause registry file (see "RootCause Registry"). It is initialized by the setup Script to the name registry under the .rootcause Directory. If unset, the location $APROBE/arca/registry is used. Generally the RootCause Log and RootCause Registry are kept in the same directory, defined by the value of the APROBE_HOME environment variable, so you shouldn't have to set this directly.

APROBE_SEARCH_PATH

The APROBE_SEARCH_PATH environment variable identifies directories to be searched by RootCause for source files when the file is not found in the directory from which it was compiled. If defined, The APROBE_SEARCH_PATH environment variable is a colon-separated list of directories (like PATH and LIBPATH) in which to search for a a source file to display, if the file is not found in the directory recorded in the

object file.

For example, if a program is compiled from files in directories /build/common, /build/console, and /build/gui, and the directory /build has been moved to /old/build, you could do:

export APROBE_SEARCH_PATH=\   
   "/old/build/common:/old/build/console:/old/build/gui" 

Use of the environment variable to find source files is not usually necessary, since the RootCause GUI provides an interface for specifying the search path the first time it's needed, and this path is recorded in the workspace.

The APROBE_SEARCH_PATH environment variable is also used by RootCause and Aprobe to find object files that have been moved -- see Appendix A of the Aprobe User's Guide.

LD_AUDIT (Solaris)

The LD_AUDIT environment variable is recognized by the Solaris operating system and is used by RootCause to hook into applications that are registered by RootCause. The commands rootcause_on and rootcause_off will set and unset the LD_AUDIT environment variable for RootCause.

The RootCause setup script does not set the LD_AUDIT environment variable, so you will need to execute rootcause_on after the setup script to actually cause RootCause to start examining each new process for probing. LD_AUDIT is a normal Solaris environment variable with the usual semantics about being inherited by sub-processes, etc.

At OC Systems, we have set LD_AUDIT at system boot time, so all processes will be examined by RootCause as they launch, to ensure its robustness and low overhead. But you can limit the scope of RootCause by limiting the scope of where the LD_AUDIT environment variable is set, even though the overhead imposed by this checking is small.

For Solaris 7 and higher, the LD_AUDIT_64 environment variable may also be set to point at a dummy 64-bit library so that the runtime linker does not issue warning messages. This library does not invoke RootCause because 64-bit applications are currently not supported.

Note that the LD_PRELOAD environment variable is not used by RootCause on Solaris.

LD_PRELOAD (Linux)

The LD_PRELOAD environment variable is recognized by the Linux operating system and is used by RootCause to hook into applications that are registered by RootCause. The commands rootcause_on and

rootcause_off will set and unset the LD_PRELOAD environment variable for RootCause.

The RootCause setup script does not set the LD_PRELOAD environment variable, so you will need to execute rootcause_on after the setup script to actually cause RootCause to start examining each new process for probing. LD_PRELOAD is a normal Linux environment variable with the usual semantics about being inherited by sub-processes, etc. You can limit the scope of RootCause by limiting the scope of where the LD_PRELOAD environment variable is set, even though the overhead imposed by this checking is small.

Note that LD_PRELOAD may be used by other tools or even your own application. In such cases you must take care in updating this variable: contact OC Systems for assistance in this case.

For Solaris 7 and higher, the LD_AUDIT_64 environment variable may also be set to point at a dummy 64-bit library so that the runtime linker does not issue warning messages. This library does not invoke RootCause because 64-bit applications are currently not supported.

AP_ROOTCAUSE_ENABLED (AIX)

AIX has no mechanism corresponding to LD_AUDIT or LD_PRELOAD that allows libraries to be specified at load time, and hence one cannot just set an environment variable to start intercepting processes on AIX. Instead, one identifies a program that one may want to intercept, renames the program executable, and replaces it with a script called

run_with_apaudit, as described in "Enabling RootCause for an AIX Application". This script recognizes the

AP_ROOTCAUSE_ENABLED environment variable, which is defined by the

rootcause_on alias and unset by the

rootcause_off alias.

RC_WORKSPACE_LOC

When an application is run with rootcause on and is registered with a workspace, the location of that workspace is defined in the environment variable RC_WORKSPACE_LOC prior to the application being run with aprobe. This allows one to use this environment variable to references files in aprobe options or within custom probes. This is especially useful in specifying the location of the configuration file needed by a user-defined UAL in the Aprobe Parameters field of the Add UAL Dialog. This environment variable is also defined when data is formatted, and so can be used in Apformat Parameters as well.

RC_SHORT_WORKSPACE_LOC

If the path to your workspace may contain blanks (such as is common on Windows platforms), you should use the RC_SHORT_WORKSPACE_LOC environment variable instead of the RC_WORKSPACE_LOC.


Copyright 2006-2017 OC Systems, Inc.

Next Previous Index Top