incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r802300 [2/2] - in /websites/staging/ooo-site/trunk/content/tools: ./ moz_prebuild/ moz_prebuild/680/ moz_prebuild/OOo3.1/ moz_prebuild/OOo3.2/ profiling/ profiling/pod/ profiling/pod/LogFile/
Date Tue, 10 Jan 2012 16:23:38 GMT
Added: websites/staging/ooo-site/trunk/content/tools/profiling/pod/LogFile/XML.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/pod/LogFile/XML.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/pod/LogFile/XML.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+<TITLE>LogFile::XML - Perl module for writing creating an OpenOffice Calc document.</TITLE>
+<LINK REV="made" HREF="mailto:feedback@suse.de">
+
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/pod/">pod</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/pod/LogFile/">LogFile</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+
+<A NAME="__index__"></A>
+<!-- INDEX BEGIN -->
+
+<UL>
+
+  <LI><A HREF="#name">NAME</A></LI>
+  <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+  <LI><A HREF="#description">DESCRIPTION</A></LI>
+  <LI><A HREF="#customization">CUSTOMIZATION</A></LI>
+  <LI><A HREF="#internals">INTERNALS</A></LI>
+  <UL>
+
+    <LI><A HREF="#colors">Colors</A></LI>
+    <LI><A HREF="#indentation">Indentation</A></LI>
+  </UL>
+
+  <LI><A HREF="#author">AUTHOR</A></LI>
+</UL>
+<!-- INDEX END -->
+
+<HR>
+<P>
+<H1><A NAME="name">NAME</A></H1>
+<P>LogFile::XML - Perl module for writing creating an OpenOffice Calc document.</P>
+<P>
+<HR>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+    use LogFile::XML;</PRE>
+<PRE>
+    write_calc_document (&quot;test.sxc&quot;,
+        { name =&gt; &quot;table-name&quot;,
+          data =&gt; [ [&quot;first row&quot;, 1],
+                    [&quot;second row&quot;, 2],
+                    [&quot;third row&quot;, 3]
+          ] } );</PRE>
+<P>will generate a XML file readable by the OpenOffice Calc that consists
+of one page named ``table-name'' containing a table consisting of two
+columns and three rows.</P>
+<P>
+<HR>
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>Generates a XML file in OpenOffice Calc format.  The file contains a zipped
+collection of three files: <EM>META-INF/manifest.xml</EM>, <EM>meta.xml</EM>, and
+<EM>content.xml</EM>.</P>
+<P>A call to <CODE>write_calc_document</CODE> is passed the name of the zip file to
+create and a data structure that contains the data to be written in
+Calc XML format.  This data structure is a reference to an array of
+data tables.  Each data table is written as a distinct Calc page and
+has to contain the following elements in a hash reference:</P>
+<DL>
+<DT><STRONG><A NAME="item_title">title</A></STRONG><BR>
+<DD>
+The title of the page.
+<P></P>
+<DT><STRONG><A NAME="item_name">name</A></STRONG><BR>
+<DD>
+The name of the page.
+<P></P>
+<DT><STRONG><A NAME="item_threadid">threadid</A></STRONG><BR>
+<DD>
+The id of the thread.
+<P></P>
+<DT><STRONG><A NAME="item_prefix">prefix</A></STRONG><BR>
+<DD>
+A prefix given to all XML names.  With this table specific styles can be
+referenced.
+<P></P>
+<DT><STRONG><A NAME="item_colcount">colcount</A></STRONG><BR>
+<DD>
+the number of columns in the resulting table.
+<P></P>
+<DT><STRONG><A NAME="item_widths">widths (optional)</A></STRONG><BR>
+<DD>
+A reference to an array of column widths.  They widths have to be specified
+by numbers that give the widths in centimeters.
+<P></P>
+<DT><STRONG><A NAME="item_headline">headline</A></STRONG><BR>
+<DD>
+A reference to an array of column descriptions.  The number of descriptions
+may be different from colcount.
+<P></P>
+<DT><STRONG><A NAME="item_data">data</A></STRONG><BR>
+<DD>
+The actual data, an referenced array of array references.  This
+specifies a two-dimensional array arranged in rows and then in columns.
+<P></P></DL>
+<P>
+<HR>
+<H1><A NAME="customization">CUSTOMIZATION</A></H1>
+<P>The variables <CODE>$ZipCmd</CODE> and <CODE>$ZipFlags</CODE> are required to contain the
+name of the executable binary of the zip program and a set of suitable
+arguments.  They are initialized from the environment variables
+LOG_FILE_ZIP_CMD and LOG_FILE_ZIP_FLAGS respectively.  If the environment
+variables are not set then the values ``zip'' and ``'' are used as a default.</P>
+<P>
+<HR>
+<H1><A NAME="internals">INTERNALS</A></H1>
+<P>The functions <CODE>tag</CODE>, <CODE>enter</CODE>, and <CODE>leave</CODE> provide easy means of writing
+correctly nested and indented tags with arbitrary arguments.</P>
+<P>The manifest is taken care of if you create it with <CODE>create_manifest</CODE>, add all
+files making up the document with <CODE>add_file</CODE> and finally write it
+with <CODE>write_manifest</CODE>.</P>
+<P>Files are created with <CODE>open_file</CODE> relative to a temporary directory.  When the
+script terminates the temporary directory together with all files in it, is
+deleted.</P>
+<P>The special files <EM>meta.xml</EM> and <EM>manifest.xml</EM> are written with the
+functions <CODE>write_meta</CODE> and <CODE>write_manifest</CODE>.</P>
+<P>The actual calc document is written with a cascade of functions:</P>
+<DL>
+<DT><STRONG><A NAME="item_write_calc_content">write_calc_content</A></STRONG><BR>
+<DD>
+<DL>
+<DT><STRONG><A NAME="item_write_column_styles">write_column_styles</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_write_table_list">write_table_list</A></STRONG><BR>
+<DD>
+<DL>
+<DT><STRONG><A NAME="item_write_table">write_table</A></STRONG><BR>
+<DD>
+<DL>
+<DT><STRONG><A NAME="item_write_cell">write_cell</A></STRONG><BR>
+<DD>
+</DL>
+</DL>
+</DL>
+</DL>
+<P>
+<H2><A NAME="colors">Colors</A></H2>
+<P>You can change the backround colors of cells by changing the values of the
+variable <CODE>%Color</CODE>.</P>
+<P>
+<H2><A NAME="indentation">Indentation</A></H2>
+<P>The indentation is specified by the string in <CODE>$IndentationString</CODE>
+which defaults to two spaces.</P>
+<P>
+<HR>
+<H1><A NAME="author">AUTHOR</A></H1>
+<P>Andre Fischer &lt;<A HREF="mailto:andre.w.fischer@sun.com">andre.w.fischer@sun.com</A>&gt;.</P>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/tools/profiling/pod/Makefile
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/pod/Makefile (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/pod/Makefile Tue Jan 10 16:23:35 2012
@@ -0,0 +1,89 @@
+
+#*************************************************************************
+#
+#   $RCSfile: Makefile,v $
+#
+#   $Revision: 1.1 $
+#
+#   last change: $Author: af $ $Date: 2001/09/14 12:34:28 $
+#
+#   The Contents of this file are made available subject to the terms of
+#   either of the following licenses
+#
+#          - GNU Lesser General Public License Version 2.1
+#          - Sun Industry Standards Source License Version 1.1
+#
+#   Sun Microsystems Inc., October, 2000
+#
+#   GNU Lesser General Public License Version 2.1
+#   =============================================
+#   Copyright 2001 by Sun Microsystems, Inc.
+#   901 San Antonio Road, Palo Alto, CA 94303, USA
+#
+#   This library is free software; you can redistribute it and/or
+#   modify it under the terms of the GNU Lesser General Public
+#   License version 2.1, as published by the Free Software Foundation.
+#
+#   This library is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#   Lesser General Public License for more details.
+#
+#   You should have received a copy of the GNU Lesser General Public
+#   License along with this library; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+#   MA  02111-1307  USA
+#
+#
+#   Sun Industry Standards Source License Version 1.1
+#   =================================================
+#   The contents of this file are subject to the Sun Industry Standards
+#   Source License Version 1.1 (the "License"); You may not use this file
+#   except in compliance with the License. You may obtain a copy of the
+#   License at http://www.openoffice.org/license.html.
+#
+#   Software provided under this License is provided on an "AS IS" basis,
+#   WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+#   WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+#   MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+#   See the License for the specific provisions governing your rights and
+#   obligations concerning the Software.
+#
+#   The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+#
+#   Copyright: 2001 by Sun Microsystems, Inc.
+#
+#   All Rights Reserved.
+#
+#   Contributor(s): _______________________________________
+#
+#
+#
+#*************************************************************************
+
+#	This simple Makefile has been tested only 
+#	with GNU make version 3.79.1 on Linux.
+
+#	Transform the documentation contained in the perl
+#	files in tools/contrib/profiling into HTML files.
+
+HTML_FILES=write-calc-doc.html	\
+	LogFile/Filter.html			\
+	LogFile/Parser.html			\
+	LogFile/Processor.html		\
+	LogFile/XML.html
+
+POD2HTML=pod2html
+
+POD2HTML_FLAGS=--htmlroot=.
+
+all	:	$(HTML_FILES)
+
+clean	:
+	rm $(HTML_FILES)
+
+%.html	:	../../../contrib/profiling/%.pl
+	$(POD2HTML) $(POD2HTML_FLAGS) $< --outfile=$@
+
+LogFile/%.html	:	../../../contrib/profiling/LogFile/%.pm
+	$(POD2HTML) $(POD2HTML_FLAGS) $< --outfile=$@

Added: websites/staging/ooo-site/trunk/content/tools/profiling/pod/write-calc-doc.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/pod/write-calc-doc.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/pod/write-calc-doc.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+<TITLE>write-calc-doc - Transform profiling data into an OpenOffice Calc document.</TITLE>
+<LINK REV="made" HREF="mailto:feedback@suse.de">
+
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/pod/">pod</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+
+<A NAME="__index__"></A>
+<!-- INDEX BEGIN -->
+
+<UL>
+
+  <LI><A HREF="#name">NAME</A></LI>
+  <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+  <LI><A HREF="#description">DESCRIPTION</A></LI>
+  <LI><A HREF="#see also">SEE ALSO</A></LI>
+  <LI><A HREF="#feedback">FEEDBACK</A></LI>
+</UL>
+<!-- INDEX END -->
+
+<HR>
+<P>
+<H1><A NAME="name">NAME</A></H1>
+<P>write-calc-doc - Transform profiling data into an OpenOffice Calc document.</P>
+<P>
+<HR>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<P>write-calc-doc &lt;options&gt;* &lt;log-file-name&gt; [&lt;output-file-name&gt;]</P>
+<P>Transforms the profiling data in log-file-name into a Zip file named
+output-file-name containing XML files that form an OpenOffice Calc document.
+If output-file-name is not given, then the output file name is constructed
+from the log file name by replacing its .log extension by .sxc.
+Options are:</P>
+<DL>
+<DT><STRONG><A NAME="item_%2Di_%3Cfile%2Dname%3E">-i &lt;file-name&gt;</A></STRONG><BR>
+<DD>
+File containing regular expressions for the inclusion filter.
+<P></P>
+<DT><STRONG><A NAME="item_%2De_%3Cfile%2Dname%3E">-e &lt;file-name&gt;</A></STRONG><BR>
+<DD>
+File containing regular expressions for the exclusion filter.
+<P></P>
+<DT><STRONG><A NAME="item_%2Dh">-h</A></STRONG><BR>
+<DD>
+Print this usage information.
+<P></P></DL>
+<P>
+<HR>
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>The given log file is transformed into a collection of XML files that are then
+zippped into a single file.  The created XML files are:</P>
+<DL>
+<DT><STRONG><A NAME="item_META%2DINF%2Fmanifest%2Exml">META-INF/manifest.xml</A></STRONG><BR>
+<DD>
+List of these three files.
+<P></P>
+<DT><STRONG><A NAME="item_meta%2Exml">meta.xml</A></STRONG><BR>
+<DD>
+Some meta informations.
+<P></P>
+<DT><STRONG><A NAME="item_content%2Exml">content.xml</A></STRONG><BR>
+<DD>
+This file contains the actual Calc document.
+<P></P></DL>
+<P>The data for each thread is displayed on two Calc pages.</P>
+<P>The first is merely a pretty-printed version of the
+profiling data.  It lists all time stamps in the order in which they have been
+written.  The first column contains the time on which the time stamp has been
+written or to be more precise on which its writing has been requested.  The
+second column contains the amount of time that a function has taken to compute.
+The remaining columns are used to display the function names optionally
+followed by messages.  The indentation indicates the calling hierarchy.</P>
+<P>The second combines all time stamps with the same text and provides statistical
+information like average run time and number of calls.</P>
+<P>
+<HR>
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P>See also <A HREF="./LogFile/Parser.html">the LogFile::Parser manpage</A>, <A HREF="./LogFile/Filter.html">the LogFile::Filter manpage</A>, <A HREF="./LogFile/Processor.html">the LogFile::Processor manpage</A>,
+and <A HREF="./LogFile/XML.html">the LogFile::XML manpage</A>.</P>
+<P>
+<HR>
+<H1><A NAME="feedback">FEEDBACK</A></H1>
+<P>Please feel free to send your feedback to <A HREF="mailto:andre.w.fischer@sun.com">andre.w.fischer@sun.com</A></P>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/tools/profiling/profiling-howto.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/profiling-howto.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/profiling-howto.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+  <TITLE></TITLE>
+  <META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
+  <META NAME="CREATED" CONTENT="20010710;11455400">
+  <META NAME="CHANGED" CONTENT="20010802;10173004">
+  <STYLE>
+  <!--
+    @page { margin: 2cm }
+    H3 { margin-bottom: 0.21cm }
+    H2 { margin-bottom: 0.21cm; page-break-before: auto; page-break-after: auto }
+    P { margin-bottom: 0.21cm; text-align: left; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
+    H1 { margin-bottom: 0.21cm }
+    P { margin-bottom: 0.21cm; text-align: left; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
+  -->
+  </STYLE>
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+<H1>How To Generate Profiling Data</H1>
+<P>Andre Fischer and Carsten Driesner, July 11<SUP>th</SUP> , 2001.
+Last change on August 2<SUP>nd</SUP> , 2001.</P>
+<H2>Introduction</H2>
+<P>The task that is to be solved is the generation of profiling data
+for a manually selected set of points in programs of the
+OpenOffice/Sun One Webtop family. Moreover this should be
+accomplished as automatically as possible, so that timings of
+different program versions can be compared to each other
+automatically.</P>
+<P>The main reason for not using an existing tool like Truetime or
+Quantify is the huge amount of data generated by these programs. In
+general the developers of the different modules of the office know
+about the time critical parts of their code. Therefore only profiling
+informations about these code parts are of interest. Everything else
+only obscures the view to the relevant data.</P>
+<P>With this in mind we use a different approach. Instead of blindly
+instrumenting---i.e. adding code that generates profiling data---all
+files, we concentrate of the areas of interest. The developers have
+to add once manually commands into their code that emits time stamps
+together with context information. From then on everything else goes
+automatically. If the those files are compiled with a certain
+preprocessor symbol defined and the office is run with a certain
+environment variable set, then profiling information is written to a
+log file (or, to be more precise, to one log file per process). These
+log files are then processed by a Perl script and are transfomed into
+a Calc document.</P>
+<P>The details of this process are explained below. Note that this is
+a work in progress. Especially the transformation of the log files
+into a Calc document will have to be adapted to the needs of those
+who use those documents.</P>
+<H2>Instrumenting the source files</H2>
+<P>The header file &lt;rtl/logfile.hxx&gt; (guarded by the
+preprocessor symbol <CODE>_RTL_LOGFILE_HXX_</CODE>) contains a set of
+macros that can be used to emit time stamps at certain points in the
+code. The reason for using macros instead of a more decent C++
+construct is to provide a way of removing the code for writing
+profiling data completely from the compiled executable and it's
+libraries. The macros wrap calls to the class ::rtl::Logfile
+(declared in &lt;rtl/logfile.hxx&gt;) and the function
+rtl_logfile_trace (declared in &lt;rtl/logfile.h&gt;). They generate
+actual code only when at compile time the preprocessor symbol TIMELOG
+is defined. This is either accomplished by building a special office
+version (which will be the normal Pro-version) or by setting an
+environment variable <CODE>ENVCDEFS</CODE> to include <CODE>-DTIMELOG</CODE>.
+Depending on the shell you use</P>
+<P><CODE>set ENVCDEFS=-DTIMELOG</CODE></P>
+<P>will do that (4NT).</P>
+<P>The macros can be used in two ways:</P>
+<OL>
+  <LI><P><CODE>RTL_LOGFILE_CONTEXT_AUTHOR(instance,project,author,name)</CODE>
+  creates a context instance that can be referenced by <CODE>instance</CODE>.
+  The three remaining parameters contain the name of the project in
+  which the macro is used, the Sun id of the author beeing responsible
+  for the code in which the macro is used (for example af119097 for
+  one of the authors) and the <CODE>name</CODE> of the function or
+  other scope that this context refers to. The context instance emits
+  one time stamp when it is created and one when it is destroyed.
+  Therefore, if placed as first statement of a function definition, a
+  time stamp is written to the log file when the function is entered
+  and one when it is exited even when there is more then one
+  (implicit) return statement. 
+  </P>
+  <P>The name passed to the context instantiation is written with
+  every time stamp that originates from such a context. This is also
+  true for the following macros.</P>
+  <LI><P><CODE>RTL_LOGFILE_CONTEXT_TRACE(instance,message)</CODE>,</P>
+  <P><CODE>RTL_LOGFILE_CONTEXT_TRACE1(instance,message,arg1)</CODE>,</P>
+  <P><CODE>RTL_LOGFILE_CONTEXT_TRACE2(instance,message,arg1,arg2)</CODE>,
+  and</P>
+  <P><CODE>RTL_LOGFILE_CONTEXT_TRACE3(instance,message,arg1,arg2,arg3)</CODE>
+  write time stamps with arbitrary messages to the log file. The
+  actual message is given by the string <CODE>message</CODE>. Together
+  with zero to three arguments it is passed to a printf style output
+  function. That means that for every argument there has to be a
+  suitable % format string in <CODE>message</CODE>. In order to allow
+  the log file be parsed by the existing Perl scripts message may
+  contain newlines. Each message is prefixed with the context name.</P>
+  <P>These macros exist also in a context free version.</P>
+  <P><CODE>RTL_LOGFILE_TRACE_AUTHOR(project,author,message)</CODE>,</P>
+  <P><CODE>RTL_LOGFILE_TRACE_AUTHOR1(project,author,message,arg1)</CODE>,</P>
+  <P><CODE>RTL_LOGFILE_TRACE_AUTHOR2(project,author,message,arg1,arg2)</CODE>,
+  and</P>
+  <P><CODE>RTL_LOGFILE_TRACE_AUTHOR3(project,author,message,arg1,arg2,arg3)</CODE>
+  do the same thing as their context twins except that the messages
+  are not prefixed with a context name. As you can see, the project
+  and author have to given to each trace macro instead of just to the
+  one creating a context. They are defined in &lt;rtl/logfile.h&gt;
+  which is included from &lt;rtl/logfile.hxx&gt;. Therefore for only
+  using the context free macros it is sufficient to include
+  &lt;rtl/logfile.h&gt;.</P>
+</OL>
+<P>For every introduced above there is an analogon without the
+<CODE>_AUTHOR</CODE> suffix which do not accept the <CODE>project</CODE>
+and <CODE>author</CODE> arguments. Because both of these are used
+later in the post processing stage we discourage you to use these
+other macro versions.</P>
+<P>Depending on which of these two ways is used to generate a time
+stamp, they are named function/scope time stamps respectively message
+time stamps.</P>
+<H2>Creating profiling information</H2>
+<P>If you have instrumented your code like described above and have
+compiled and installed it you can create profiling information by
+starting the office with the bootsrap variable <CODE>RTL_LOGFILE</CODE>
+set to a file name prefix. This prefix is completed by appending an
+underscore, the process id and a &#147;.log&#148; suffix. Note that
+backslashes have to be escaped by another backslash. The variable
+<CODE>RTL_LOGFILE</CODE> can be set in one of the following ways:</P>
+<UL>
+  <LI><P>Setting the environment variable <CODE>RTL_LOGFILE</CODE>.
+  This for instance be done with</P>
+  <UL>
+    <P><CODE>set RTL_LOG<CODE>FILE</CODE>=c:\\logfile</CODE></P>
+  </UL>
+  <P>from a 4NT shell.</P>
+  <LI><P>Passing the argument <CODE>-env:RTL_LOGFIL<CODE>E=</CODE>c:\\logfile</CODE>
+  on the commandline to the office.</P>
+  <LI><P>Put an entry into &lt;executable&gt;<CODE>.ini</CODE> or
+  &lt;executable&gt;<CODE>rc</CODE> file (the first with, the second
+  without a dot) where &lt;executable&gt; is the name of the
+  executable. For more information on this method please refer to
+  <A HREF="http://udk.openoffice.org/common/man/concept/uno_default_bootstrapping.html">http://udk.openoffice.org/common/man/concept/uno_default_bootstrapping.html</A></P>
+</UL>
+<H2>Transforming the log files into Calc documents</H2>
+<P>Once you have created a log file you may want to convert it into a
+more readable form. There is a set of Perl scripts that create a Calc
+document from a log file that contains for every thread a set of
+pages with different views of the profiling data. 
+</P>
+<P>The first page shows a pretty printed version of the list of time
+stamps. They are indented according to the calling hierarchy. For
+each time stamp you can see the time it has been written (or to be
+more precise the time on which it's writing has been requested), if
+applicable the time the function/scope took to compute and the
+function/scope name and message.</P>
+<P>The second page shows a list of all functions/scopes for which
+timing informations exist. Every list entry shows the function/scope
+name, total, minimal, maximal, and average time and the number of
+calls.</P>
+<H3>Filtering</H3>
+<P>The list of time stamps can be filtered in order to reduce a large
+amount of data to a managable size and to exclude profiling
+information from projects you are not interested in. There are two
+filters. One is for explicit inclusion of time stamps, the other for
+explicit exclusion. Each is initialized from a file containing
+regular expressions (Perl style) given on the command line. The file
+after the <CODE>-i</CODE> switch defines those time stamps that are
+to be included in the reports and the file after the <CODE>-e</CODE>
+switch defines those time stamps that are to be excluded. The files
+may contain empty lines or comment lines whose first character is an
+'#'. An empty inclusion filter does have no effect. If both filters
+are specified, then a time stamp is written to the report if it
+matches at least one of the regular expression of the inclusion
+filter and none of the exclusion filter.</P>
+<P>The idea is to use the inclusion filter if you have just a small
+number of functions or messages you are interested in and to use the
+exclusion filter if there is only a small number you would not like
+in your reports.</P>
+<P>An inclusion file might look like this.</P>
+<P><CODE># Regular expression matching all function names that shall
+show up</CODE></P>
+<P><CODE># in the reports. </CODE>
+</P>
+<P><CODE># Show calls to BuildChart in the chart project.</CODE></P>
+<P><CODE>BuildChart</CODE></P>
+<H3>Outlook</H3>
+<P>The form and number of reports will of course have to be changed
+and extended. We are looking forward to your feedback.</P>
+<H2>Further Documentation</H2>
+<P>Furthor documentation can be found in the C++ header files
+<CODE>&lt;rtl/logfile.h&gt;</CODE> and <CODE>&lt;rtl/logfile.hxx&gt;</CODE>
+and the Perl scripts in project <CODE>tools/contrib/profiling</CODE>.
+You can use for instance <CODE>pod2html</CODE> to extract and
+transform the Perl scripts documentation in HTML documents.</P>
+<P>Documentation of the time stamp format can be found <A HREF="time-stamp-format.html">here</A>.</P>
+<H2>Contact</H2>
+<P>You can contact the authors under <A HREF="mailto:andre.w.fischer@sun.com">andre.w.fischer@sun.com</A>
+or <A HREF="mailto:carsten.driesner@sun.com">carsten.driesner@sun.com</A>.</P>
+<P><BR><BR>
+</P>
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/tools/profiling/profiling-howto.sxw
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/tools/profiling/profiling-howto.sxw
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+  <TITLE></TITLE>
+  <META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
+  <META NAME="CREATED" CONTENT="20010724;11274300">
+  <META NAME="CHANGED" CONTENT="20010731;15435171">
+  <STYLE>
+  <!--
+    @page { margin: 2cm }
+    H2 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic }
+    P { margin-bottom: 0.21cm; text-align: justify; page-break-before: auto; page-break-after: auto }
+    H1 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 16pt }
+    P { margin-bottom: 0.21cm; text-align: justify; page-break-before: auto; page-break-after: auto }
+  -->
+  </STYLE>
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+<H1>Profiling: Time Stamp Documentation</H1>
+<P>The purpose of this document is to give those of us who write
+filters for post-processing and analysis of profiling log files an
+overview over the available time stamps and their meaning. The
+documentation should enable us to write a filter which extracts only
+those time stamps from a log file that belong to a specific task say
+for example the loading of a writer document in XML format.</P>
+<P>Don't include a description of every time stamp into this
+document.</P>
+<H2>Format</H2>
+<P>The description of a time <SPAN STYLE="font-style: normal">stamp
+should include the following information:</SPAN></P>
+<OL>
+  <LI><P STYLE="font-style: normal">A (very) short description that
+  serves as a title.</P>
+  <LI><P STYLE="font-style: normal">The line that is written to the
+  logfile (that part of it that follows time and threadid of course).
+  Be very carefull with this because it is used in regular expressions
+  to match the time stamps in the log files. In time stamps that are
+  emitted on entering and leaving a function or other scope replace
+  the opening or closing curly brackets by a set of both (and include
+  such time stamps only once).</P>
+  <LI><P STYLE="font-style: normal">A description that tells the
+  filter writer what happens in the function that is bracketed with
+  the time stamp(s) in question, resp. what a message time stamp tells
+  you.</P>
+  <LI><P STYLE="font-style: normal">Whatever information you think
+  would be helpfull to the filter writer.</P>
+</OL>
+<H2>Example</H2>
+<P>Look at the following table taken from the chart project for an
+example of what time stamp descriptions might look like. Here <SAMP>sch</SAMP>
+is the name of the project (chart) and af is the author short</P>
+<TABLE COLS=4 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=0 FRAME=BELOW RULES=GROUPS>
+  <COL WIDTH=95>
+  <COL WIDTH=269>
+  <COL WIDTH=465>
+  <COL WIDTH=521>
+  <Tbody>
+    <TR VALIGN=TOP>
+      <TD WIDTH=95 HEIGHT=32 BGCOLOR="#ccccff">
+        <P ALIGN=LEFT><FONT SIZE=3><B>Project</B></FONT></P>
+      </TD>
+      <TD WIDTH=269 BGCOLOR="#ccccff">
+        <P ALIGN=LEFT><FONT SIZE=3><B>Short description</B></FONT></P>
+      </TD>
+      <TD WIDTH=465 BGCOLOR="#ccccff">
+        <P ALIGN=LEFT><FONT SIZE=3><B>Time stamp</B></FONT></P>
+      </TD>
+      <TD WIDTH=521 BGCOLOR="#ccccff">
+        <P ALIGN=LEFT><FONT SIZE=3><B>Description</B></FONT></P>
+      </TD>
+    </TR>
+  </Tbody>
+  <Tbody>
+    <TR>
+      <TD WIDTH=95 HEIGHT=40 VALIGN=TOP>
+        <P ALIGN=LEFT>Sch (Chart)</P>
+      </TD>
+      <TD WIDTH=269 VALIGN=TOP>
+        <P ALIGN=LEFT>Main function of the chart.</P>
+      </TD>
+      <TD WIDTH=465 VALIGN=TOP>
+        <P ALIGN=LEFT>{} sch (af119097) ::ChartModel::BuildChart</P>
+      </TD>
+      <TD WIDTH=521>
+        <P ALIGN=LEFT>BuildChart is the method that does most of the work
+        in creating a chart and consumes most of the time. It is called
+        mutch to often.</P>
+      </TD>
+    </TR>
+    <TR>
+      <TD WIDTH=95 HEIGHT=40 VALIGN=TOP>
+        <P><BR>
+        </P>
+      </TD>
+      <TD WIDTH=269 VALIGN=TOP>
+        <P ALIGN=LEFT>Build chart not skipped</P>
+      </TD>
+      <TD WIDTH=465 VALIGN=TOP>
+        <P ALIGN=LEFT>{} sch (af119097) ::ChartModel::BuildChart : {}
+        full</P>
+      </TD>
+      <TD WIDTH=521>
+        <P ALIGN=LEFT>Indication that due to a lock of the model the
+        build chart has not been skipped.</P>
+      </TD>
+    </TR>
+  </Tbody>
+  <Tbody>
+    <TR>
+      <TD WIDTH=95 HEIGHT=22 VALIGN=TOP>
+        <P><BR>
+        </P>
+      </TD>
+      <TD WIDTH=269 VALIGN=TOP>
+        <P ALIGN=LEFT>Loading of a chart</P>
+      </TD>
+      <TD WIDTH=465 VALIGN=TOP>
+        <P ALIGN=LEFT>{} sch (af119097) ::SchChartDocShell::Load</P>
+      </TD>
+      <TD WIDTH=521>
+        <P ALIGN=LEFT>Loading of a chart object.</P>
+      </TD>
+    </TR>
+    <TR>
+      <TD WIDTH=95 HEIGHT=20 VALIGN=TOP>
+        <P><BR>
+        </P>
+      </TD>
+      <TD WIDTH=269 VALIGN=TOP>
+        <P ALIGN=LEFT>Chart is loaded from XML format</P>
+      </TD>
+      <TD WIDTH=465 VALIGN=TOP>
+        <P ALIGN=LEFT>| sch (af119097) ::SchChartDocShell::Load : XML
+        Format</P>
+      </TD>
+      <TD WIDTH=521>
+        <P ALIGN=LEFT>Chart is loaded from an XML storage.</P>
+      </TD>
+    </TR>
+    <TR>
+      <TD WIDTH=95 HEIGHT=22 VALIGN=TOP>
+        <P><BR>
+        </P>
+      </TD>
+      <TD WIDTH=269 VALIGN=TOP>
+        <P ALIGN=LEFT>Chart is loaded from binary format</P>
+      </TD>
+      <TD WIDTH=465 VALIGN=TOP>
+        <P ALIGN=LEFT>| sch (af119097) ::SchChartDocShell::Load : Binary
+        Format</P>
+      </TD>
+      <TD WIDTH=521>
+        <P ALIGN=LEFT>Chart is loaded from a binary storage.</P>
+      </TD>
+    </TR>
+  </Tbody>
+</TABLE>
+<P><BR><BR>
+</P>
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation.sxc
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation.sxc
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation_html_m788e0595.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-documentation_html_m788e0595.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-format.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-format.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/time-stamp-format.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+  <TITLE></TITLE>
+  <META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
+  <META NAME="CREATED" CONTENT="20010719;12323000">
+  <META NAME="CHANGED" CONTENT="20010802;10214237">
+  <STYLE>
+  <!--
+    @page { margin: 2cm }
+    H2 { margin-bottom: 0.21cm; font-style: normal; text-align: justify }
+    P { margin-bottom: 0.21cm; text-align: left; page-break-before: auto; page-break-after: auto }
+    H1 { margin-bottom: 0.21cm; text-align: justify }
+    P { margin-bottom: 0.21cm; text-align: left; page-break-before: auto; page-break-after: auto }
+    CODE { font-size: 12pt }
+    SAMP { font-size: 9pt }
+  -->
+  </STYLE>
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+<H1 STYLE="text-indent: 1.38cm">How to format profiling time stamp
+messages</H1>
+<P>Carsten Driesner and Andre Fischer, last change on August 2<SUP>nd</SUP>,
+2001</P>
+<H2>Introduction</H2>
+<P>Each use of the macros <CODE>RTL_LOGFILE_CONTEXT_AUTHOR,
+RTL_LOGFILE_CONTEXT_TRACE</CODE><EM>&lt;n&gt;</EM><CODE>,</CODE> and<CODE>
+RTL_LOGFILE_TRACE_AUTHOR</CODE><EM>&lt;n&gt;</EM> writes a time stamp
+into a logfile that can be parsed by post-processing scripts. This
+works only if the text that is given as arguments to the macros
+follows certain rules.</P>
+<P>The next section describes the overall format of the time stamps
+written by the macros. The format of the text passed as arguments to
+the macros is described int the third section.</P>
+<H2>Overall time stamp format</H2>
+<P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+Each time stamp written by one of the macros
+<CODE>RTL_LOGFILE_CONTEXT_AUTHOR, RTL_LOGFILE_CONTEXT_TRACE</CODE><EM>&lt;n&gt;</EM><CODE>,</CODE>
+and <CODE>RTL_LOGFILE_TRACE_AUTHOR</CODE><EM>&lt;n&gt;</EM> has the
+format</P>
+<P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+%d %d %c %s : %s</P>
+<P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+with the following arguments:</P>
+<OL>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  Time in milliseconds after the first time stamp. This implies that
+  the first time stamp has always a value of 0 in this field. To
+  convert the relative times into absolute ones or ones that are
+  relative to the application start you can evaluate the first line in
+  the log-file which is described below.</P>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  Id of the thread from which the time stamp has been emitted. The
+  process id can be determined from the name of the log-file.</P>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  A character the classifies the time steps into three classes:</P>
+</OL>
+<OL>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  An { indicates the beginning of a function or other scope.</P>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  An } indicates the end of a function or other scope.</P>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  An | indicates a message from within a scope or without a scope.</P>
+</OL>
+<OL START=4>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  Name or description of a function or other scope. This name is used
+  to group beginnings and ends of a scope together. If
+  <CODE>RTL_LOGFILE_TRACE_AUTHOR</CODE><EM>&lt;n&gt;</EM> is used
+  instead of <CODE>RTL_LOGFILE_CONTEXT_TRACE</CODE><EM>&lt;n&gt;</EM>
+  then this field remains empty.</P>
+  <LI><P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+  Arbitrary message written by <CODE>RTL_LOGFILE_TRACE_AUTHOR</CODE><EM>&lt;n&gt;</EM>
+  and <CODE>RTL_LOGFILE_CONTEXT_TRACE</CODE><EM>&lt;n&gt;</EM>. If
+  <CODE>RTL_LOGFILE_CONTEXT_AUTHOR</CODE> is used instead then this
+  field remains empty.</P>
+</OL>
+<P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+Note that the dividing colon between the last two fields is written
+even if one of them remains empty.</P>
+<P STYLE="margin-bottom: 0cm; page-break-before: auto; page-break-after: auto">
+As you can see, you can only specify the content of the last two
+fields. The format that they may have is described in the following
+section.</P>
+<H2>Admissable format of scope names and messages</H2>
+<P>This section focuses on the format of the last two fields of a
+time stamp. The first one should have format</P>
+<P>%s (%s) %s 
+</P>
+<P>with the following arguments:</P>
+<OL>
+  <LI><P>Module name. This will be strings like <CODE>sfx2</CODE> or
+  <CODE>desktop</CODE>.</P>
+  <LI><P>Sun id with prefixed shortcut of responsible developer. That
+  would be <CODE>cd100003</CODE> or <CODE>af119097</CODE> for the
+  authors. Use the Sun id of the project owner, if you have no Sun id<I>.</I></P>
+  <LI><P>Fully qualified function name with leading double colon. Add
+  a simplified signature only if that is necessary to distinguish it
+  from other functions with the same name. The function name starts
+  with the complete namespace, the class name (if it is really a
+  method) and finally the actual function name.</P>
+</OL>
+<P>The three fields are separated by singles spaces.</P>
+<P>The second argument may have any format you like with two
+constraints:</P>
+<OL>
+  <LI><P>It may not contain a newline character.</P>
+  <LI><P>If it starts with an opening or a closing curly bracket then
+  it has a meaning similar to the third field of the overall format:
+  it describes the beginning or end of a scope. You can define a
+  logical scope with this format even though you don't have an analog
+  physical representation and don't want to introduce a new scope for
+  it.</P>
+</OL>
+<P>Use RTL_LOGFILE_CONTEXT_AUTHOR&lt;n&gt; if possible to
+automatically write the fields described above with every time stamp
+emitted from the context. If that is not possible or usefull then
+start the message field with a string that has the format described
+above. Use your common sense to fill in the second and fourth field.
+Divide that string with a colon surrounded by spaces from the actual
+message string.</P>
+<H2>Examples</H2>
+<P>The following pseudo code uses a context to write time stamps at
+the beginning and end of scopes in the implicit form and the explicit
+one that uses the message string to indicate the scope boundaries.</P>
+<P><SAMP>void ::Desktop::OpenStartupscreen (arguments)</SAMP></P>
+<P><SAMP>{</SAMP></P>
+<P><SAMP>RTL_LOGFILE_CONTEXT_AUTHOR (aInstance, &#132;desktop&#147;,
+&#132;cd100003&#147;, &#132;::Desktop::OpenStartupscreen&#147;);</SAMP></P>
+<P><SAMP>...</SAMP></P>
+<P><SAMP>RTL_LOGFILE_CONTEXT_TRACE (aInstance, &#132;{ lengthy
+calculation&#147;);</SAMP></P>
+<P><SAMP>for (...)</SAMP></P>
+<P><SAMP>{</SAMP></P>
+<P><SAMP>do something</SAMP></P>
+<P><SAMP>}</SAMP></P>
+<P><SAMP>RTL_LOGFILE_CONTEXT_TRACE (aInstance, &#132;} lengthy
+calculation&#147;);</SAMP></P>
+<P><CODE>}</CODE></P>
+<P>It generate time stamps like these:</P>
+<P><SAMP>001234 11 { desktop (cd100003) ::Desktop::OpenStartupscreen</SAMP></P>
+<P><SAMP>002345 11 | desktop (cd<SAMP>100003</SAMP>)
+::Desktop::OpenStartupscreen : { lengthy calculation</SAMP></P>
+<P><SAMP>003456 11 | desktop (cd<SAMP>100003</SAMP>)
+::Desktop::OpenStartupscreen : } lengthy calculation</SAMP></P>
+<P><SAMP>004567 11 } desktop (cd<SAMP>100003</SAMP>)
+::Desktop::OpenStartupscreen</SAMP></P>
+<P><BR><BR>
+</P>
+<P>This pseudo code uses the context free version:</P>
+<P><SAMP>void ::Desktop::CloseStartupscreen</SAMP></P>
+<P><SAMP>{</SAMP></P>
+<P><SAMP>...</SAMP></P>
+<P><SAMP>RTL_LOGFILE_TRACE_AUTHOR (&#132;desktop&#147;, &#132;cd<SAMP>100003&#147;,
+&#132;:</SAMP>:Desktop::CloseStartupscreen : Startup finished&#147;);</SAMP></P>
+<P><SAMP>}</SAMP></P>
+<P>It's output might look like this:</P>
+<P><SAMP>099999 11 | desktop (cd<SAMP>100003</SAMP>)
+::Desktop::CloseStartupscreen : Startup finished</SAMP></P>
+<P><BR><BR>
+</P>
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/tools/profiling/write-calc-doc.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/tools/profiling/write-calc-doc.html (added)
+++ websites/staging/ooo-site/trunk/content/tools/profiling/write-calc-doc.html Tue Jan 10 16:23:35 2012
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+  <TITLE></TITLE>
+  <!-- Changed by: Andre Fischer, 14-Sep-2001 -->
+  <META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
+  <META NAME="AUTHOR" CONTENT="Martin Hollmichel">
+  <META NAME="CREATED" CONTENT="20010419;16101287">
+  <META NAME="CHANGED" CONTENT="20010802;14455412">
+  <STYLE>
+  <!--
+    SAMP { font-size: 10pt }
+  -->
+  </STYLE>
+
+</head>
+
+<body>
+  <div id="bannera">
+    <div id="bannerleft"><img id="ooo-logo" alt="Apache OpenOffice (incubating)" src="/images/ooo-logo.png"/></div>
+    <div id="bannerright">
+      <a title="Apache Incubator" href="http://incubator.apache.org"><img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a>
+      <div style="relative; margin: 14px 0 0 0; height: 24px;">
+	<form id="cse-search-box-header" action="http://www.google.com/search" method="get">
+	  <div>
+	    <input type="hidden" name="domains" value="www.openoffice.org"/>
+	    <input type="hidden" name="sitesearch" value="www.openoffice.org"/>
+	  </div>
+	  <div class="topsrchbox">
+	    <input name="resultsPerPage" value="40" type="hidden"/> 
+	    <input name="q" id="query" alt="search" type="text"/>
+	    <input name="Button" value="search" type="submit" class="topsrchbutton"/>
+	  </div>
+	</form>
+      </div>
+    </div>
+    <div id="bannercenter"><br/>(incubating) | The Free and Open Productivity Suite</div>
+  </div>
+  <div id="topbara">
+    <div id="topnava"><ul>
+<li><a href="/product/index.html" title="OpenOffice.org product description">Product</a></li>
+<li><a href="/download/index.html" title="Download OpenOffice.org">Download</a></li>
+<li><a href="/support/index.html" title="Find Support for OpenOffice.org">Support</a></li>
+<li><a href="/extensions/index.html" title="Find Extensions and Templates">Extend</a></li>
+<li><a href="http://incubator.apache.org/openofficeorg/get-involved.html" title="Get involved in Apache OpenOffice (incubating)">Develop</a></li>
+<li><a href="/projects/accepted.html" title="OpenOffice.org development focus areas">Focus Areas</a></li>
+<li><a href="/projects/native-lang.html" title="OpenOffice.org in your Native Language">Native Language</a></li>
+</ul></div>
+    <div id="breadcrumbsa"><a href="/">home</a>&nbsp;&raquo&nbsp;<a href="/tools/">tools</a>&nbsp;&raquo&nbsp;<a href="/tools/profiling/">profiling</a></div>
+  </div>
+  <div id="clear"></div>
+  
+  
+  <div id="content">
+    
+    
+    
+<H2>write-calc-doc.pl</H2>
+<P>The Perl script write-calc-doc.pl transforms a log file into a
+Calc document containing two data sheets for every thread. The first
+sheet displays a pretty printed version of the raw data. The second
+sheet is made up by a table that contains for each function or other
+scope the minimal, maximal, average, and total time and the number of
+calls.</P>
+<H3>Synopsis</H3>
+<P>write-calc-doc.pl &lt;log-file-name&gt; [&lt;calc-document-name&gt;]</P>
+<P>The two arguments specify the name of the log-file to process and
+an optional name under which to write the report.  If that name is
+not given explicetly, then it is derived from the log-file name by
+replacing the suffix <CODE>.log</CODE> by the suffix <CODE>.sxc</CODE>.</P>
+<P>write-calc-doc.pl understands the following option parameters that
+may stand anywhere on the command line (but of course behind the
+script name):</P>
+<UL>
+  <LI><P>-h prints a short help text describing the command line
+  parameters.</P>
+  <LI><P>-i &lt;filename&gt; specifies a file that contains regular
+  expressions (in Perl style). Every time stamp in the log file that
+  matches at least one of these expressions is included into the
+  report.</P>
+  <LI><P>-e &lt;filename&gt; specifies a file that contains regular
+  expressions (in Perl style). Every time stamp in the log file that
+  matches at least one of these expressions is <B>not</B> included
+  into the report.</P>
+</UL>
+<H3>Configuration</H3>
+<P>There are several configuration features which the script tries to
+determine automatically. If that fails you have to specify them
+explicitly:</P>
+<UL>
+  <LI><P>If the perl interpreter is not found you have to specify it
+  on the command line: use <SAMP>&lt;perl-path&gt;/perl
+  write-calc-doc.pl &lt;arguments&gt;</SAMP> instead of
+  <SAMP>write-calc-doc.pl &lt;arguments&gt;</SAMP>.</P>
+  <LI><P>The Perl script uses several modules in the sub-directory
+  LogFile. If that sub-directory is not in your Perl search path and
+  can't be deduced automatically from the script's own name then you
+  have to pass that directory with the -I command line option to the
+  perl interpreter: use <SAMP>&lt;perl-path&gt;/perl
+  -I&lt;src-path&gt;/tools/contrib/profiling write-calc-doc.pl
+  &lt;arguments&gt;.</SAMP></P>
+  <LI><P>A zip executable is used to pack all XML files into a single
+  archive. If no zip executable with the base name &#132;zip&#147; is
+  found in the current search path, then you have to set the
+  environment variables LOG_FILE_ZIP_COMMAND to the path name of the
+  zip executable. The variable LOG_FILE_ZIP_FLAGS can be used to
+  control it's behaviour.</P>
+</UL>
+<P>Usually it should be sufficient to say</P>
+<P><SAMP>&lt;src-path&gt;/tools/contrib/profiling/write-calc-document.pl
+/tmp/profiling_1234.log</SAMP></P>
+<P>It creates the Calc document <CODE>/tmp/profiling_1234.sxc</CODE>.</P>
+<H3>Filtering the log file</H3>
+<P>On the command line you can specify two files with regular
+expressions. These expressions are used to filter the time stamps in
+the log file. A time stamp is taken into account for the report
+generation if it a) matches at least one regular expression in the
+inclusion filter file or that file is empty and b) matches none of
+the regular expressions in the exclusion filter file or that file is
+empty. The expressions in the filter files have to be written in the
+Perl <SPAN STYLE="font-style: normal">syntax.</SPAN></P>
+<H4>Filter Examples</H4>
+<P>An inclusion filter file containing only the line</P>
+<P><CODE>\(af119097\)</CODE></P>
+<P>includes exactly those time stamps into the report that belong the
+author with Sun id af119097.</P>
+<P>An exclusion filter file containing only the line</P>
+<P><CODE>^sch\b</CODE></P>
+<P>removes all time stamps from the report that belong to the chart
+project.</P>
+<h3>Further documentation</h3>
+Follow the links below to the documentation contained in the
+Perl scripts write-calc-document.pl and the modules loaded by it.  It has been created by running
+pod2html on the script files.
+<ul>
+<li><a href="pod/write-calc-doc.html">write-calc-doc.pl</a></li>
+<li><a href="pod/LogFile/Filter.html">LogFile/Filter.pm</a></li>
+<li><a href="pod/LogFile/Parser.html">LogFile/Parser.pm</a></li>
+<li><a href="pod/LogFile/Processor.html">LogFile/Processor.pm</a></li>
+<li><a href="pod/LogFile/XML.html">LogFile/XML.pm</a></li>
+</ul>
+<H3>References</H3>
+<P>For writing filters suitable for a given task you should have a
+look at the <A HREF="time-stamp-format.html">specification</A> of the
+general time stamp format and the <A HREF="time-stamp-documentation.html">documentation</A>
+of the time stamps emitted from the individual projects.</P>
+<P><BR><BR>
+</P>
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya"><p><img src="/images/feather-small.gif"/></p></div>
+    <div id="copyrighta">
+      <p>
+	Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/license.html">Copyright &amp; License</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>



Mime
View raw message