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

From OC Systems Wiki!
Jump to: navigation, search
(RootCause Files and Environment Variables)
m
Line 2: Line 2:
 
<!--  <div><div>  -->
 
<!--  <div><div>  -->
  
[[RCUG_RootCause_GUI_Reference|Next]] [[RCUG_6_Deploying_The_RootCause_Workspace|
+
[[RCUG_RootCause_GUI_Reference|Next]] [[RCUG_6_Deploying_The_RootCause_Workspace|Previous]] [[RCUG_Index|Index]] [[RCUG_Top|Top]]
 
 
Previous]] [[RCUG_Index|Index]] [[RCUG_Top|Top]]
 
  
 
'''RootCause User Guide'''
 
'''RootCause User Guide'''
Line 11: Line 9:
  
 
= RootCause Files and Environment Variables =
 
= RootCause Files and Environment Variables =
 
 
----
 
----
  
Line 30: Line 27:
 
<A HREF=rcc-14.html>[Index]</A></P>  -->
 
<A HREF=rcc-14.html>[Index]</A></P>  -->
  
<P>RootCause</P>
+
<!--  <p>RootCause</p>  -->
  
 
<!--  
 
<!--  
 
</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>
 
<A NAME=HEADING10-0></A>
 
<A NAME="UID-07environment_rc.fm-864080"></A>
 
<A NAME="UID-07environment_rc.fm-864080"></A>
<H1>  <A NAME=MARKER-9-946></A> RootCause Files and Environment Variables</H1>  -->
+
<!--  <H1>  <A NAME=MARKER-9-946></A> RootCause Files and Environment Variables</H1>  -->
 
----  <!--  <HR>  -->
 
----  <!--  <HR>  -->
  
Line 45: Line 42:
 
<A NAME="UID-07environment_rc.fm-949847"></A>
 
<A NAME="UID-07environment_rc.fm-949847"></A>
 
== Workspace ==
 
== Workspace ==
<!--  <H2> <A NAME=MARKER-9-948></A>Workspace</H2>  -->
+
<A NAME=MARKER-9-948></A>
 
+
<!--  <H2> Workspace</H2>  -->
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
+
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.
  
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>
 
<A NAME=HEADING10-5></A>
Line 64: Line 54:
 
<!--  <H2> UAL File</H2>  -->
 
<!--  <H2> UAL File</H2>  -->
  
A user action library (
+
A user action library ([[RCUG_3_Terminology_and_Concepts#MARKER-9-479|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 [[RCUG_3_Terminology_and_Concepts#MARKER-9-445|predefined UAL]]s may be selected in the RootCause GUI [[RCUG_RootCause_GUI_Reference#MARKER-9-1323|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.
[]<A HREF="rcc-6.html#MARKER-9-479">UAL</A>
+
<!--  <A HREF="rcc-6.html#MARKER-9-479">UAL</A>  -->
) consists of a set of probes that are attached to the target program when it runs.  
+
<!--  <A HREF="rcc-6.html#MARKER-9-445">predefined UAL</A>  -->
 
+
<!--  <A HREF="rcc-11.html#MARKER-9-1323">Workspace Tree</A>  -->
The probes are activated when specified portions of the target program are reached.  
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 
+
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
Some  
 
[]<A HREF="rcc-6.html#MARKER-9-445">predefined UAL</A>s  
 
may be selected in the RootCause GUI  
 
[]<A HREF="rcc-11.html#MARKER-9-1323">Workspace Tree</A>,  
 
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.
 
  
 
<A NAME=HEADING10-7></A>
 
<A NAME=HEADING10-7></A>
Line 89: Line 68:
 
-->
 
-->
  
Aprobe places the  
+
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.
[]<A HREF="rcc-6.html#MARKER-9-436">log</A>
+
<!--  <A HREF="rcc-6.html#MARKER-9-436">log</A>  -->
ged data from a traced
+
<!--  <A HREF="rcc-6.html#MARKER-9-425">executable</A>  -->
[]<A HREF="rcc-6.html#MARKER-9-425">executable</A>  
+
<!--  <A HREF="rcc-6.html#MARKER-9-407">Data File</A> -->
into a
+
<!--  <A HREF="rcc-6.html#MARKER-9-392">APD file</A> -->
[]<A HREF="rcc-6.html#MARKER-9-407">Data File</A>,
+
<!-- <A HREF="rcc-6.html#MARKER-9-370">&quot;Bounding Total Data&quot;</A>  -->
also called an
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
[]<A HREF="rcc-6.html#MARKER-9-392">APD file</A>.
 
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
 
[]<A HREF="rcc-6.html#MARKER-9-370">&quot;Bounding Total Data&quot;</A>  
 
for more information.
 
 
<A NAME=MARKER-10-951></A>
 
<A NAME=MARKER-10-951></A>
  
Line 111: Line 82:
 
<!--  <H2> <A NAME=MARKER-9-952></A>Process Data Set</H2>  -->
 
<!--  <H2> <A NAME=MARKER-9-952></A>Process Data Set</H2>  -->
  
Process Data Sets are used to collect more than one wrap-around set (or ring) of  
+
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.
 
+
<!--  <A HREF="rcc-6.html#MARKER-9-368">&quot;Data for Multiple Processes&quot;</A>  -->
data files for a single program. See  
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
[]<A HREF="rcc-6.html#MARKER-9-368">&quot;Data for Multiple Processes&quot;</A>  
 
for more information.
 
  
 
<A NAME=HEADING10-11></A>
 
<A NAME=HEADING10-11></A>
Line 122: Line 91:
 
<!--  <H2> Deploy File</H2>  -->
 
<!--  <H2> Deploy File</H2>  -->
  
A  
+
A [[RCUG_3_Terminology_and_Concepts#MARKER-9-418|deploy]] file (with extension <CODE>.dply</CODE>) is created by the <EM>[[RCUG_RootCause_GUI_Reference#MARKER-9-1429|Deploy]]</EM> operation in the RootCause GUI. It contains all the information needed by RootCause to trace a (possibly [[RCUG_3_Terminology_and_Concepts#MARKER-9-468|stripped]]) program at a [[RCUG_3_Terminology_and_Concepts#MARKER-9-456|remote]] site. The deploy file is transmitted to the remote computer and installed there to enable tracing of the program on the remote computer.
[]<A HREF="rcc-6.html#MARKER-9-418">deploy</A>
+
<!--  <A HREF="rcc-6.html#MARKER-9-418">deploy</A>  -->
file (with extension <CODE>.dply</CODE>) is created by the  
+
<!--  <A HREF="rcc-11.html#MARKER-9-1429">Deploy</A>  -->
<EM>
+
<!--  <A HREF="rcc-6.html#MARKER-9-468">stripped</A>  -->
[]<A HREF="rcc-11.html#MARKER-9-1429">Deploy</A>
+
<!--  <A HREF="rcc-6.html#MARKER-9-456">remote</A>  -->
</EM>  
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
operation in the RootCause GUI. It contains all the information needed by RootCause  
+
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
 
 
to trace a (possibly  
 
[]<A HREF="rcc-6.html#MARKER-9-468">stripped</A>
 
) program at a
 
[]<A HREF="rcc-6.html#MARKER-9-456">remote</A>  
 
site. The deploy file is transmitted to the remote computer and installed there to
 
 
 
enable tracing of the program on the remote computer.
 
  
 
<A NAME=HEADING10-13></A>
 
<A NAME=HEADING10-13></A>
Line 143: Line 104:
 
<!--  <H2> Collect File</H2>  -->
 
<!--  <H2> Collect File</H2>  -->
  
A
 
[]<A HREF="rcc-6.html#MARKER-9-404">collect</A>
 
file (extension <CODE>.clct</CODE>)  is created by the
 
<CODE>
 
 
<A NAME=MARKER-2-953></A>
 
<A NAME=MARKER-2-953></A>
[]<A HREF="rcc-12.html#MARKER-9-2027">rootcause collect</A>
 
</CODE>
 
command. It contains all the information collected by RootCause for a traced
 
 
program at a remote site. The
 
 
<A NAME=MARKER-2-954></A>
 
<A NAME=MARKER-2-954></A>
collect file is transmitted from the remote computer to the local computer where it  
+
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>  -->
is "
+
<!--  <A HREF="rcc-12.html#MARKER-9-2027">rootcause collect</A>  -->
[]<A HREF="rcc-6.html#MARKER-9-410">decollect</A>ed"
+
<!--  <A HREF="rcc-6.html#MARKER-9-410">decollect</A> -->
to examine its contents.
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 +
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
 
<A NAME=HEADING10-15></A>
 
<A NAME=HEADING10-15></A>
Line 165: Line 118:
 
<!--  <H2> Decollection</H2>  -->
 
<!--  <H2> Decollection</H2>  -->
  
The
 
[]<A HREF="rcc-11.html#MARKER-9-1430">Decollect</A>
 
button in the RootCause GUI unpacks a
 
 
<A NAME=MARKER-2-955></A>
 
<A NAME=MARKER-2-955></A>
<code>.clct</CODE> file created by the
 
<CODE>
 
[]<A HREF="rcc-12.html#MARKER-9-2027">rootcause collect</A>
 
</CODE>
 
command. This creates a directory containing all the decollected workspaces. This
 
 
directory is known as a
 
 
<A NAME=MARKER-2-956></A>
 
<A NAME=MARKER-2-956></A>
Decollection (with extension <CODE>.dclct</CODE>), and is directly accessible using  
+
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>  -->
the
+
<!--  <A HREF="rcc-12.html#MARKER-9-2027">rootcause collect</A>  -->
[]<A HREF="rcc-11.html#MARKER-9-1370">Open Decollection</A>  
+
<!--  <A HREF="rcc-11.html#MARKER-9-1370">Open Decollection</A>  -->
and
+
<!--  <A HREF="rcc-11.html#MARKER-9-1371">Recent Decollections</A>  -->
[]<A HREF="rcc-11.html#MARKER-9-1371">Recent Decollections</A>  
+
<!--  <A HREF="rcc-11.html#MARKER-9-1360">Workspace Menu</A> -->
items in the RootCause GUI's
+
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
[]<A HREF="rcc-11.html#MARKER-9-1360">Workspace Menu</A>.
+
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
 
<A NAME=HEADING10-17></A>
 
<A NAME=HEADING10-17></A>
Line 191: Line 134:
 
<!--  <H2> <A NAME=MARKER-9-957></A>RootCause Registry</H2>  -->
 
<!--  <H2> <A NAME=MARKER-9-957></A>RootCause Registry</H2>  -->
  
To use RootCause on an application, you must first
 
[]<A HREF="rcc-6.html#MARKER-9-451">register</A>
 
the application by adding it to your
 
 
<A NAME=MARKER-9-958></A>
 
<A NAME=MARKER-9-958></A>
RootCause
 
[]<A HREF="rcc-6.html#MARKER-9-453">registry</A>. 
 
The RootCause GUI will do this automatically, and there is a command line interface
 
 
as well (see the
 
<CODE>
 
 
<A NAME=MARKER-9-959></A>
 
<A NAME=MARKER-9-959></A>
[]<A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>
+
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).
</CODE>  
+
<!--  <A HREF="rcc-6.html#MARKER-9-451">register</A>  -->
command).
+
<!--  <A HREF="rcc-6.html#MARKER-9-453">registry</A>  -->
 +
<!--  <A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  -->
 +
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 +
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
 
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>
 
<A NAME=MARKER-10-960></A>
On any one computer, there may be one or possibly many different registries,  
+
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.
 
 
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>
 
The location of the RootCause registry is defined by the  
 
The location of the RootCause registry is defined by the  
<A NAME=MARKER-2-961></A>
+
<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.
environment variable, and is generally under the  
 
<A HREF="#MARKER-9-971">.rootcause Directory</A>   
 
so that each user has a separate registry.
 
  
All manipulations of the registry are done using the
 
<CODE>
 
 
<A NAME=MARKER-2-962></A>
 
<A NAME=MARKER-2-962></A>
[]<A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>
+
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.
</CODE>  
+
<!--  <A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  -->
command, or via the items in the RootCause GUI's Workspace menu.
+
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
  
 
==== Important: ====
 
==== Important: ====
 
<!--  <H4> Important:</H4>  -->
 
<!--  <H4> Important:</H4>  -->
  
The registry is meant to be manipulated only with the <CODE>rootcause  
+
The registry is meant to be manipulated only with the <CODE>rootcause register</CODE> command (See [[RCUG_RootCause_Command_Reference#MARKER-9-2107|&quot;rootcause register&quot;]]). Do not change its contents by any other means!
 
+
<!--  <A HREF="rcc-12.html#MARKER-9-2107">"rootcause register"</A>  -->
register</CODE> command (See  
+
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
<A HREF="rcc-12.html#MARKER-9-2107">"rootcause register"</A>
 
). Do not change its contents by any other means!
 
  
 
<A NAME=HEADING10-25></A>
 
<A NAME=HEADING10-25></A>
Line 247: Line 170:
 
<!--  <H2> <A NAME=MARKER-9-963></A>RootCause Log </H2>  -->
 
<!--  <H2> <A NAME=MARKER-9-963></A>RootCause Log </H2>  -->
  
The RootCause log file records what programs are started and what programs are  
+
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  
 
 
traced while RootCause is enabled. Programs that are started but not traced are  
 
 
 
recorded as  
 
 
<A NAME=MARKER-2-964></A>
 
<A NAME=MARKER-2-964></A>
 
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>
 
<A NAME=MARKER-2-965></A>
APP_TRACED events. The RootCause log file may also contain other messages and debug  
+
APP_TRACED events. The RootCause log file may also contain other messages and debug information as  
 
 
information as  
 
 
<A NAME=MARKER-2-966></A>
 
<A NAME=MARKER-2-966></A>
TEXT events. The RootCause log file may be examined in the GUI and used as a  
+
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.
 
 
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
 
 
<A NAME=MARKER-2-967></A>
 
<A NAME=MARKER-2-967></A>
<A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>,  
+
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.
or fails to run due to an error. If you wish to record only those applications that  
+
<!--  <A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>  -->
 
+
<!--  <A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  -->
are traced, you may change the verbosity level with the  
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
<A HREF="rcc-12.html#MARKER-9-2107">rootcause register</A>  
+
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
command.
 
  
 
To log only applications that are registered and probed:
 
To log only applications that are registered and probed:
 
+
<A NAME=MARKER-2-968></A>
 
<PRE>
 
<PRE>
<A NAME=MARKER-2-968></A>
 
 
rootcause register -s verbose -e off
 
rootcause register -s verbose -e off
 
</PRE>
 
</PRE>
  
 
<A NAME=MARKER-10-969></A>
 
<A NAME=MARKER-10-969></A>
To log all applications that are executed when rootcause is enabled, whether or not  
+
To log all applications that are executed when rootcause is enabled, whether or not they are registered:
 
 
they are registered:
 
 
 
 
<PRE>
 
<PRE>
 
rootcause register -s verbose -e on
 
rootcause register -s verbose -e on
Line 291: Line 198:
  
 
<A NAME=MARKER-10-970></A>
 
<A NAME=MARKER-10-970></A>
While becoming familiar with RootCause, you may want to examine the log file often.  
+
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>  -->
  You can display it using the  
+
<!--  [[RCUG_RootCause_Command_Reference|CHAPTER 9 - RootCause Command Reference]]  -->
<A HREF="rcc-12.html#MARKER-9-2075">rootcause log</A>  
 
command.
 
  
 
<A NAME=HEADING10-33></A>
 
<A NAME=HEADING10-33></A>
Line 303: Line 208:
  
 
The directory
 
The directory
 
+
<A NAME=MARKER-10-972></A>
 
<PRE>
 
<PRE>
<A NAME=MARKER-10-972></A>
 
 
$HOME/.rootcause
 
$HOME/.rootcause
 
</PRE>
 
</PRE>
  
is created and used by the RootCause GUI to maintain some user-specific attributes  
+
is created and used by the RootCause GUI to maintain some user-specific attributes of your RootCause environment:
 
 
of your RootCause environment:
 
 
 
 
<UL>
 
<UL>
 
 
<LI>the  
 
<LI>the  
 
<A HREF="#MARKER-9-963">RootCause Log</A>  
 
<A HREF="#MARKER-9-963">RootCause Log</A>  
Line 320: Line 220:
  
 
<LI>the  
 
<LI>the  
<A HREF="#MARKER-9-957">RootCause Registry</A>  
+
<A HREF="#MARKER-9-957">RootCause Registry</A> is located here by default as well.
is located here by default as well.
 
  
 
<LI>a customized  
 
<LI>a customized  
<A HREF="#MARKER-9-975">rootcause.properties</A>  
+
<A HREF="#MARKER-9-975">rootcause.properties</A> file may be placed here.
file may be placed here.
 
  
<LI>a
 
 
<A NAME=MARKER-2-973></A>
 
<A NAME=MARKER-2-973></A>
<code>preferences</CODE> file in this directory contains the recent workspaces and  
+
<LI>a <code>preferences</CODE> file in this directory contains the recent workspaces and other RootCause GUI internal settings.
 
 
other RootCause GUI internal settings.
 
  
 
<LI>temporary files are created here.
 
<LI>temporary files are created here.
 
</UL>
 
</UL>
  
The directory is called <CODE>.rootcause_linux</CODE> on Linux and  
+
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>.
 
 
<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>
 
The  
 
The  
<A NAME=MARKER-2-974></A>
+
<A HREF="#MARKER-9-982">APROBE_HOME</A> 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 NAME=HEADING10-44></A>
 
<A NAME=HEADING10-44></A>
Line 354: Line 244:
 
The file
 
The file
  
<PRE>
 
 
<A NAME=MARKER-10-976></A>
 
<A NAME=MARKER-10-976></A>
 
<A NAME=MARKER-10-977></A>
 
<A NAME=MARKER-10-977></A>
 +
<PRE>
 
$APROBE/lib/rootcause.properties  
 
$APROBE/lib/rootcause.properties  
 
</PRE>
 
</PRE>
  
defines some properties used to determine the RootCause appearance.  In general,  
+
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  
 
 
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  
 
 
<A HREF="#MARKER-9-971">.rootcause Directory</A>.
 
<A HREF="#MARKER-9-971">.rootcause Directory</A>.
  
Line 374: Line 258:
 
<!--  <H2> <A NAME=MARKER-9-978></A>setup Script</H2>  -->
 
<!--  <H2> <A NAME=MARKER-9-978></A>setup Script</H2>  -->
  
The files <code>$APROBE/setup</code> and <code>$APROBE/setup.csh</code> are  
+
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.
 
+
<!--  <A HREF="rcc-7.html#MARKER-9-509">Chapter 4, &quot;The Setup Script&quot;</A>  -->
provided to define the RootCause environment in your shell.  See  
+
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
[]<A HREF="rcc-7.html#MARKER-9-509">Chapter 4, &quot;The Setup Script&quot;</A>  
 
for details.
 
  
 
<A NAME=HEADING10-50></A>
 
<A NAME=HEADING10-50></A>
Line 388: Line 270:
 
<!--  <H3> <A NAME=MARKER-9-979></A>APROBE</H3>  -->
 
<!--  <H3> <A NAME=MARKER-9-979></A>APROBE</H3>  -->
  
The
 
 
<A NAME=MARKER-2-980></A>
 
<A NAME=MARKER-2-980></A>
APROBE environment variable points to the RootCause product installation directory,
 
 
and is
 
 
<A NAME=MARKER-10-981></A>
 
<A NAME=MARKER-10-981></A>
automatically defined by the setup script.  We suggest that you do not modify this  
+
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.
 
 
environment variable.
 
  
 
=== APROBE_HOME ===
 
=== APROBE_HOME ===
 
<!--  <H3> <A NAME=MARKER-9-982></A>APROBE_HOME </H3>  -->
 
<!--  <H3> <A NAME=MARKER-9-982></A>APROBE_HOME </H3>  -->
  
The
 
 
<A NAME=MARKER-2-983></A>
 
<A NAME=MARKER-2-983></A>
APROBE_HOME environment variable defines a non-default location for the  
+
The APROBE_HOME environment variable defines a non-default location for the  
 
<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  
<A HREF="#MARKER-9-963">RootCause Log</A>  
+
<A HREF="#MARKER-9-963">RootCause Log</A> and  
and  
+
<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>  
 
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 ===
 
<H3> APROBE_JRE</H3>
 
<H3> APROBE_JRE</H3>
  
The
 
 
<A NAME=MARKER-2-984></A>
 
<A NAME=MARKER-2-984></A>
 
<A NAME=MARKER-2-985></A>
 
<A NAME=MARKER-2-985></A>
APROBE_JRE environment variable specifies a non-default  
+
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>  -->
(Java installation) to use instead of the one shipped with RootCause. See
+
<!-- <A HREF="rcc-11.html#MARKER-9-1871">&quot;Platform-Specific GUI Issues&quot;</A> -->
[]<A HREF="rcc-11.html#MARKER-9-1871">&quot;Platform-Specific GUI Issues&quot;</A>.
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
 +
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
  
 
=== APROBE_JAVA_HEAPSIZE ===
 
=== APROBE_JAVA_HEAPSIZE ===
 
<!--  <H3> APROBE_JAVA_HEAPSIZE</H3>  -->
 
<!--  <H3> APROBE_JAVA_HEAPSIZE</H3>  -->
  
The
 
 
<A NAME=MARKER-2-986></A>
 
<A NAME=MARKER-2-986></A>
 
<A NAME=MARKER-2-987></A>
 
<A NAME=MARKER-2-987></A>
APROBE_JAVA_HEAPSIZE environment variable specifies a non-default Java heap sized  
+
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".
 
 
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 ===
 
=== APROBE_LOG ===
 
<!--  <H3> APROBE_LOG</H3>  -->
 
<!--  <H3> APROBE_LOG</H3>  -->
  
The
 
 
<A NAME=MARKER-2-988></A>
 
<A NAME=MARKER-2-988></A>
 
<A NAME=MARKER-2-989></A>
 
<A NAME=MARKER-2-989></A>
APROBE_LOG environment variable specifies the location of the RootCause Log file
 
 
(see
 
[]<A HREF="#MARKER-9-963">&quot;RootCause Log&quot;</A>
 
). It is initialized by the setup script (see
 
<A HREF="rcc-7.html#MARKER-9-509">&quot;The Setup Script&quot;</A>
 
)  to the name
 
 
<A NAME=MARKER-2-990></A>
 
<A NAME=MARKER-2-990></A>
<code>rclog</CODE> under the  
+
The APROBE_LOG environment variable specifies the location of the RootCause Log file (see
<A HREF="#MARKER-9-971">.rootcause Directory</A>.   
+
<A HREF="#MARKER-9-963">&quot;RootCause Log&quot;</A>). It is initialized by the setup script (see
If unset, the location $APROBE/arca/rc.log is used.  Generally the  
+
[[RCUG_4_Getting_Started#MARKER-9-509|&quot;The Setup Script&quot;]])  to the name <code>rclog</CODE> under the  
<A HREF="#MARKER-9-963">RootCause Log</A>  
+
<A HREF="#MARKER-9-971">.rootcause Directory</A>.  If unset, the location $APROBE/arca/rc.log is used.  Generally the  
and  
+
<A HREF="#MARKER-9-963">RootCause Log</A> and  
<A HREF="#MARKER-9-957">RootCause Registry</A>  
+
<A HREF="#MARKER-9-957">RootCause Registry</A> are kept in the same directory, defined by the value of the  
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="#MARKER-9-982">APROBE_HOME</A>  
+
<!--  <A HREF="rcc-7.html#MARKER-9-509">&quot;The Setup Script&quot;</A>  -->
environment variable, so you shouldn't have to set this directly.  
+
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
 
<A NAME=MARKER-10-991></A>
 
<A NAME=MARKER-10-991></A>
  
Line 467: Line 323:
 
<!--  <H3> <A NAME=MARKER-9-992></A>APROBE_REGISTRY</H3>  -->
 
<!--  <H3> <A NAME=MARKER-9-992></A>APROBE_REGISTRY</H3>  -->
  
The
 
 
<A NAME=MARKER-2-993></A>
 
<A NAME=MARKER-2-993></A>
 
<A NAME=MARKER-2-994></A>
 
<A NAME=MARKER-2-994></A>
APROBE_REGISTRY environment variable specifies the location of the RootCause  
+
The APROBE_REGISTRY environment variable specifies the location of the RootCause registry file (see  
 
+
<A HREF="#MARKER-9-957">&quot;RootCause Registry&quot;</A>). It is initialized by the  
registry file (see  
+
<A HREF="#MARKER-9-978">setup Script</A> to the name <CODE>registry</CODE> under the  
<A HREF="#MARKER-9-957">&quot;RootCause Registry&quot;</A>
+
<A HREF="#MARKER-9-971">.rootcause Directory</A>.  If unset, the location $APROBE/arca/registry is used.  Generally the  
). It is initialized by the  
+
<A HREF="#MARKER-9-963">RootCause Log</A> and  
<A HREF="#MARKER-9-978">setup Script</A>  
+
<A HREF="#MARKER-9-957">RootCause Registry</A> are kept in the same directory, defined by the value of the  
to the name <CODE>registry</CODE> under the  
+
<A HREF="#MARKER-9-982">APROBE_HOME</A> environment variable, so you shouldn't have to set this directly.
<A HREF="#MARKER-9-971">.rootcause Directory</A>.   
 
If unset, the location $APROBE/arca/registry 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.
 
  
 
=== APROBE_SEARCH_PATH ===
 
=== APROBE_SEARCH_PATH ===
 
<!--  <H3> APROBE_SEARCH_PATH</H3>  -->
 
<!--  <H3> APROBE_SEARCH_PATH</H3>  -->
  
The
 
 
<A NAME=MARKER-2-995></A>
 
<A NAME=MARKER-2-995></A>
 
<A NAME=MARKER-2-996></A>
 
<A NAME=MARKER-2-996></A>
APROBE_SEARCH_PATH environment variable identifies directories to be searched by  
+
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.
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.
 
 
 
For example, if a program
 
<A NAME=MARKER-10-998></A>
 
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:
 
  
 +
<A NAME=MARKER-10-998></A>
 +
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>
 
export APROBE_SEARCH_PATH=\   
 
export APROBE_SEARCH_PATH=\   
Line 518: Line 349:
  
 
<A NAME=MARKER-10-999></A>
 
<A NAME=MARKER-10-999></A>
Use of the environment variable to find source files is not usually necessary,
 
 
since the RootCause GUI provides an interface for specifying the
 
 
<A NAME=MARKER-2-1000></A>
 
<A NAME=MARKER-2-1000></A>
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.
  
The
 
 
<A NAME=MARKER-2-1001></A>
 
<A NAME=MARKER-2-1001></A>
APROBE_SEARCH_PATH environment variable is also used by RootCause and Aprobe to  
+
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.
 
 
find '''object''' files that have been moved -- see Appendix A of the Aprobe User's  
 
 
 
Guide.
 
  
 
=== LD_AUDIT (Solaris) ===
 
=== LD_AUDIT (Solaris) ===
 
<!--  <H3> LD_AUDIT (Solaris)</H3>  -->
 
<!--  <H3> LD_AUDIT (Solaris)</H3>  -->
  
The
 
 
<A NAME=MARKER-2-1002></A>  
 
<A NAME=MARKER-2-1002></A>  
 
<A NAME=MARKER-2-1003></A>
 
<A NAME=MARKER-2-1003></A>
LD_AUDIT environment variable is recognized by the
 
 
<A NAME=MARKER-2-1004></A>
 
<A NAME=MARKER-2-1004></A>
<b>Solaris</B> operating system and is used by RootCause to hook into applications
 
 
that are registered by RootCause.    The commands
 
 
<A NAME=MARKER-2-1005></A>
 
<A NAME=MARKER-2-1005></A>
<CODE>rootcause_on</CODE> and
 
 
<A NAME=MARKER-2-1006></A>
 
<A NAME=MARKER-2-1006></A>
<CODE>rootcause_off</CODE> will set and unset the LD_AUDIT environment variable for
+
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.
 
 
RootCause.
 
 
 
The RootCause setup script does not set the LD_AUDIT environment variable, so you
 
 
 
will need to execute <CODE>rootcause_on</CODE> 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
+
The RootCause setup script does not set the LD_AUDIT environment variable, so you will need to execute <CODE>rootcause_on</CODE> 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.
  
examined by RootCause as they launch, to ensure its robustness and low overhead.   
+
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.
  
But you can limit the scope of RootCause by limiting the scope of where the
+
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.
  
LD_AUDIT environment variable is set, even though the overhead imposed by this
+
'''Note''' that the LD_PRELOAD environment variable is '''not''' used by RootCause on Solaris.
 
 
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) ===
 
=== LD_PRELOAD (Linux) ===
 
<!--  <H3> LD_PRELOAD (Linux)</H3>  -->
 
<!--  <H3> LD_PRELOAD (Linux)</H3>  -->
  
The
 
 
<A NAME=MARKER-2-1007></A>  
 
<A NAME=MARKER-2-1007></A>  
 
<A NAME=MARKER-2-1008></A>
 
<A NAME=MARKER-2-1008></A>
LD_PRELOAD environment variable is recognized by the
 
 
<A NAME=MARKER-2-1009></A>
 
<A NAME=MARKER-2-1009></A>
<b>Linux</B> operating system and is used by RootCause to hook into applications
+
<A NAME=MARKER-2-1010></A>
 
 
that are registered by RootCause.    The commands <CODE>rootcause_on</CODE> and <A  
 
 
 
NAME=MARKER-2-1010></A>
 
<CODE>rootcause_off</CODE> 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
 
 
<A NAME=MARKER-2-1011></A>
 
<A NAME=MARKER-2-1011></A>
<CODE>rootcause_on</CODE> after the setup script to actually cause RootCause to  
+
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
 
 
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
+
<CODE>rootcause_off</CODE> will set and unset the LD_PRELOAD environment variable for RootCause.
  
this checking is small.
+
The RootCause setup script does not set the LD_PRELOAD environment variable, so you will need to execute <CODE>rootcause_on</CODE> 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.  
+
'''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.
  
In such cases you must take care in updating this variable: contact OC Systems for
+
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.
 
 
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) ===
 
=== AP_ROOTCAUSE_ENABLED (AIX) ===
Line 633: Line 395:
  
 
<A NAME=MARKER-2-1012></A>
 
<A NAME=MARKER-2-1012></A>
AIX has no mechanism corresponding to LD_AUDIT or LD_PRELOAD that allows libraries  
+
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 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  
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  
 
 
<A NAME=MARKER-2-1013></A>
 
<A NAME=MARKER-2-1013></A>
 
<CODE>run_with_apaudit</CODE>, as described in  
 
<CODE>run_with_apaudit</CODE>, as described in  
<A HREF="rcc-7.html#MARKER-9-532">&quot;Enabling RootCause for an AIX  
+
[[RCUG_4_Getting_Started#MARKER-9-532|&quot;Enabling RootCause for an AIX Application&quot;]].   
 
 
Application&quot;</A>.   
 
 
This script recognizes the  
 
This script recognizes the  
 
<A NAME=MARKER-2-1014></A>
 
<A NAME=MARKER-2-1014></A>
Line 654: Line 409:
 
<A NAME=MARKER-2-1016></A>
 
<A NAME=MARKER-2-1016></A>
 
<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>  -->
 +
<!--  [[RCUG_4_Getting_Started|CHAPTER 4 - Getting Started]]  -->
  
 
=== RC_WORKSPACE_LOC ===
 
=== RC_WORKSPACE_LOC ===
 
<!--  <H3> <A NAME=MARKER-9-1017></A>RC_WORKSPACE_LOC </H3>  -->
 
<!--  <H3> <A NAME=MARKER-9-1017></A>RC_WORKSPACE_LOC </H3>  -->
  
When an application is
 
<A HREF="rcc-6.html#MARKER-9-458">run with rootcause on</A>
 
and is
 
<A HREF="rcc-6.html#MARKER-9-451">register</A>ed
 
with a
 
<A HREF="rcc-6.html#MARKER-9-482">workspace</A>,
 
the location of that workspace is defined in the environment variable
 
 
<A NAME=MARKER-2-1018></A>
 
<A NAME=MARKER-2-1018></A>
RC_WORKSPACE_LOC prior to the application being run with
 
 
<A NAME=MARKER-2-1019></A>
 
<A NAME=MARKER-2-1019></A>
aprobe.  This allows one to use this environment variable to references files in  
+
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>  -->
aprobe options or within custom probes.  This is especially useful in specifying  
+
<!--  <A HREF="rcc-6.html#MARKER-9-451">register</A>  -->
 
+
<!--  <A HREF="rcc-6.html#MARKER-9-482">workspace</A>  -->
the location of the configuration file needed by a user-defined UAL in the  
+
<!--  <A HREF="rcc-11.html#MARKER-9-1457">Aprobe Parameters</A>  -->
<A HREF="rcc-11.html#MARKER-9-1457">Aprobe Parameters</A>  
+
<!--  <A HREF="rcc-11.html#MARKER-9-1444">Add UAL Dialog</A>  -->
field of the
+
<!--  <A HREF="rcc-11.html#MARKER-9-1461">Apformat Parameters</A>  -->
<A HREF="rcc-11.html#MARKER-9-1444">Add UAL Dialog</A>.  
+
<!--  [[RCUG_3_Terminology_and_Concepts|CHAPTER 3 - Terminology and Concepts]]  -->
This environment variable is also defined when data is formatted, and so can be
+
<!--  [[RCUG_RootCause_GUI_Reference|CHAPTER 8 - RootCause GUI Reference]]  -->
 
 
used in
 
<A HREF="rcc-11.html#MARKER-9-1461">Apformat Parameters</A>  
 
as well.
 
  
 
=== RC_SHORT_WORKSPACE_LOC ===
 
=== RC_SHORT_WORKSPACE_LOC ===
 
<!--  <H3> <A NAME=MARKER-9-1020></A>RC_SHORT_WORKSPACE_LOC</H3> -->
 
<!--  <H3> <A NAME=MARKER-9-1020></A>RC_SHORT_WORKSPACE_LOC</H3> -->
  
If the path to your workspace may contain blanks (such as is common on Windows
 
 
platforms), you should use the
 
 
<A NAME=MARKER-2-1021></A>
 
<A NAME=MARKER-2-1021></A>
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  
 
<A HREF="#MARKER-9-1017">RC_WORKSPACE_LOC</A>.
 
<A HREF="#MARKER-9-1017">RC_WORKSPACE_LOC</A>.
  
Line 696: Line 438:
 
<!--   
 
<!--   
 
</DIV>
 
</DIV>
<DIV>  -->
+
<DIV>
<HR>
+
<HR>  -->
 
<!--  <P>
 
<!--  <P>
 
<A HREF=rcc-11.html>[Next]</A>  
 
<A HREF=rcc-11.html>[Next]</A>  
Line 715: Line 457:
 
<!--  </div>  -->
 
<!--  </div>  -->
  
[[RCUG_RootCause_GUI_Reference|Next]] [[RCUG_6_Deploying_The_RootCause_Workspace|
+
[[RCUG_RootCause_GUI_Reference|Next]] [[RCUG_6_Deploying_The_RootCause_Workspace|Previous]] [[RCUG_Index|Index]] [[RCUG_Top|Top]]
 
 
Previous]] [[RCUG_Index|Index]] [[RCUG_Top|Top]]
 
  
  
 
[[Category:RCUG]]
 
[[Category:RCUG]]

Revision as of 22:58, 22 November 2017


Next Previous Index Top

RootCause User Guide


RootCause Files and Environment Variables



     RCUG RootCause Files and Environment Variables

rcc-10


<A NAME=HEADING10-0></A> <A NAME="UID-07environment_rc.fm-864080"></A>


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 <A NAME=MARKER-2-947></A> environment variables.

<A NAME=HEADING10-2></A> <A NAME="UID-07environment_rc.fm-949847"></A>

Workspace

<A NAME=MARKER-9-948></A>

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.

<A NAME=HEADING10-5></A> <A NAME="UID-07environment_rc.fm-949853"></A>

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.

<A NAME=HEADING10-7></A> <A NAME="UID-07environment_rc.fm-950024"></A>

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. <A NAME=MARKER-10-951></A>

<A NAME=HEADING10-9></A> <A NAME="UID-07environment_rc.fm-950058"></A>

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.

<A NAME=HEADING10-11></A> <A NAME="UID-07environment_rc.fm-949859"></A>

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.

<A NAME=HEADING10-13></A> <A NAME="UID-07environment_rc.fm-949861"></A>

Collect File

<A NAME=MARKER-2-953></A> <A NAME=MARKER-2-954></A> 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.

<A NAME=HEADING10-15></A> <A NAME="UID-07environment_rc.fm-949836"></A>

Decollection

<A NAME=MARKER-2-955></A> <A NAME=MARKER-2-956></A> 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.

<A NAME=HEADING10-17></A> <A NAME="UID-07environment_rc.fm-949411"></A>

RootCause Registry

<A NAME=MARKER-9-958></A> <A NAME=MARKER-9-959></A> 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.

<A NAME=MARKER-10-960></A> 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> The location of the RootCause registry is defined by the <A HREF="#MARKER-9-992">APROBE_REGISTRY</A> environment variable, and is generally under the <A HREF="#MARKER-9-971">.rootcause Directory</A> so that each user has a separate registry.

<A NAME=MARKER-2-962></A> 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!

<A NAME=HEADING10-25></A> <A NAME="UID-07environment_rc.fm-949420"></A>

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 <A NAME=MARKER-2-964></A> APP_START events. Programs that are traced by RootCause are recorded as <A NAME=MARKER-2-965></A> APP_TRACED events. The RootCause log file may also contain other messages and debug information as <A NAME=MARKER-2-966></A> 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> 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: <A NAME=MARKER-2-968></A>

rootcause register -s verbose -e off

<A NAME=MARKER-10-969></A> To log all applications that are executed when rootcause is enabled, whether or not they are registered:

rootcause register -s verbose -e on

<A NAME=MARKER-10-970></A> While becoming familiar with RootCause, you may want to examine the log file often. You can display it using the rootcause log command.

<A NAME=HEADING10-33></A> <A NAME="UID-07environment_rc.fm-950674"></A>

.rootcause Directory

The directory <A NAME=MARKER-10-972></A>

$HOME/.rootcause

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

  • the <A HREF="#MARKER-9-963">RootCause Log</A> file is located here by default
  • the <A HREF="#MARKER-9-957">RootCause Registry</A> is located here by default as well.
  • a customized <A HREF="#MARKER-9-975">rootcause.properties</A> file may be placed here. <A NAME=MARKER-2-973></A>
  • 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.

<A NAME=MARKER-2-974></A> The <A HREF="#MARKER-9-982">APROBE_HOME</A> may be used to specify a different location.

<A NAME=HEADING10-44></A> <A NAME="UID-07environment_rc.fm-952716"></A>

rootcause.properties

The file

<A NAME=MARKER-10-976></A> <A NAME=MARKER-10-977></A>

$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 <A HREF="#MARKER-9-971">.rootcause Directory</A>.

<A NAME=HEADING10-48></A> <A NAME="UID-07environment_rc.fm-964274"></A>

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.

<A NAME=HEADING10-50></A> <A NAME="UID-07environment_rc.fm-958874"></A>

Environment Variables

APROBE

<A NAME=MARKER-2-980></A> <A NAME=MARKER-10-981></A> 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

<A NAME=MARKER-2-983></A> The APROBE_HOME environment variable defines a non-default location for the <A HREF="#MARKER-9-971">.rootcause Directory</A>.

If APROBE_HOME is defined when the $APROBE/setup or setup.csh script is run, the <A HREF="#MARKER-9-963">RootCause Log</A> and <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.

APROBE_JRE

APROBE_JRE

<A NAME=MARKER-2-984></A> <A NAME=MARKER-2-985></A> 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

<A NAME=MARKER-2-986></A> <A NAME=MARKER-2-987></A> 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

<A NAME=MARKER-2-988></A> <A NAME=MARKER-2-989></A> <A NAME=MARKER-2-990></A> The APROBE_LOG environment variable specifies the location of the RootCause Log file (see <A HREF="#MARKER-9-963">"RootCause Log"</A>). It is initialized by the setup script (see "The Setup Script") to the name rclog 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 NAME=MARKER-10-991></A>

APROBE_REGISTRY

<A NAME=MARKER-2-993></A> <A NAME=MARKER-2-994></A> The APROBE_REGISTRY environment variable specifies the location of the RootCause registry file (see <A HREF="#MARKER-9-957">"RootCause Registry"</A>). It is initialized by the <A HREF="#MARKER-9-978">setup Script</A> to the name registry under the <A HREF="#MARKER-9-971">.rootcause Directory</A>. If unset, the location $APROBE/arca/registry 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.

APROBE_SEARCH_PATH

<A NAME=MARKER-2-995></A> <A NAME=MARKER-2-996></A> 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.

<A NAME=MARKER-10-998></A> 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" 

<A NAME=MARKER-10-999></A> <A NAME=MARKER-2-1000></A> 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> 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)

<A NAME=MARKER-2-1002></A> <A NAME=MARKER-2-1003></A> <A NAME=MARKER-2-1004></A> <A NAME=MARKER-2-1005></A> <A NAME=MARKER-2-1006></A> 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)

<A NAME=MARKER-2-1007></A> <A NAME=MARKER-2-1008></A> <A NAME=MARKER-2-1009></A> <A NAME=MARKER-2-1010></A> <A NAME=MARKER-2-1011></A> 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)

<A NAME=MARKER-2-1012></A> 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 <A NAME=MARKER-2-1013></A> run_with_apaudit, as described in "Enabling RootCause for an AIX Application". This script recognizes the <A NAME=MARKER-2-1014></A> AP_ROOTCAUSE_ENABLED environment variable, which is defined by the <A NAME=MARKER-2-1015></A> rootcause_on alias and unset by the <A NAME=MARKER-2-1016></A> rootcause_off alias.

RC_WORKSPACE_LOC

<A NAME=MARKER-2-1018></A> <A NAME=MARKER-2-1019></A> 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

<A NAME=MARKER-2-1021></A> 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 <A HREF="#MARKER-9-1017">RC_WORKSPACE_LOC</A>.

<A NAME="LINK-07environment_rc.fm-lastpage"></A>


Copyright 2006-2017 OC Systems, Inc.

Next Previous Index Top