Re: [feedparser] Security patch

2006-10-11 Thread Kevin Burton

On 10/10/06, Nick Lothian <[EMAIL PROTECTED]> wrote:


Hi,

I'm a developer on the ROME RSS/Atom parser project
(http://rome.dev.java.net/). We were recently notified of a possible
security issue in our code
(http://www.somebits.com/weblog/tech/bad/xmlCode.html), which we've
fixed.

I'm aware that FeedParser is a dormant project, but the attached patch
will fix the same problem in the Apache-Commons project version.



FeedParser def isn't dormant

http://code.tailrank.com/feedparser

I just haven't officially announced that I'm moving it out of Apache.  Just
been to busy with official work to be a good maintainer :-/

I've also attached updated FeedParserImpl.java suitable for using with

Kevin's TailRank version (http://tailrank.com/code.php) (Hi Kevin!)



Sweet.

SAXBuilder.java is needed for both versions.


There is also an example RSS file which triggers the bug. (You'll need
some kind of monitoring tool to check for connections to example.com
on port 80).

Hopefully someone will find these useful.



Interesting.. I'll take a look.

Thanks.

Kevin

--
Founder/CEO Tailrank.com
Location: San Francisco, CA
AIM/YIM: sfburtonator
Skype: burtonator
Blog: feedblog.org
Cell: 415-637-8078


svn commit: r159217 - in jakarta/commons/proper/feedparser/trunk: build.xml src/java/org/apache/commons/feedparser/locate/ResourceExpander.java src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:47:14 2005
New Revision: 159217

URL: http://svn.apache.org/viewcvs?view=rev&rev=159217
Log:
Full javadoc cleanup... 

Modified:
jakarta/commons/proper/feedparser/trunk/build.xml

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java

Modified: jakarta/commons/proper/feedparser/trunk/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/build.xml?view=diff&r1=159216&r2=159217
==
--- jakarta/commons/proper/feedparser/trunk/build.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/build.xml Sun Mar 27 15:47:14 2005
@@ -170,13 +170,17 @@
 
 
 
+
+
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java?view=diff&r1=159216&r2=159217
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
 Sun Mar 27 15:47:14 2005
@@ -180,8 +180,8 @@
 }
 
 /**
- * Determines if the given resource has a scheme (i.e. does it start
- * with "http://foo.com"; or does it just have "foo.com").
+ * Determines if the given resource has a scheme. (i.e. does it start with
+ * "http://foo.com"; or does it just have "foo.com").
  */
 public static boolean hasScheme( String resource ) {
 return schemePattern.matcher( resource ).matches();

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java?view=diff&r1=159216&r2=159217
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/blogservice/BlogService.java
 Sun Mar 27 15:47:14 2005
@@ -196,9 +196,11 @@
 return (resource.indexOf(domain) != -1);
 }
 
-/** Determines if the given content was generated by the given generator
- *  (i.e. this document contains a meta tag with name="generator" and
- *  content equal to the generatorType).
+/**
+ * Determines if the given content was generated by the given generator.
+
+ * Example. This document contains a meta tag with name="generator" and
+ * content equal to the generatorType).
  */
 protected boolean hasGenerator(String content, String generatorType) {
 if (content == null) {

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java?view=diff&r1=159216&r2=159217
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java
 Sun Mar 27 15:47:14 2005
@@ -152,7 +152,7 @@
 
 /**
  * 
- * @see getResourceRequest( String )
+ * @see #getResourceRequest( String )
  * 
  */
 public static ResourceRequest getResourceRequest( String resource ) throws 
NetworkException {
@@ -161,7 +161,7 @@
 
 /**
  * 
- * @see getResourceRequest( String )
+ * @see #getResourceRequest( String )
  * 
  */
 public static ResourceRequest getResourceRequest( URL resource ) throws 
NetworkException {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r159216 - jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:37:28 2005
New Revision: 159216

URL: http://svn.apache.org/viewcvs?view=rev&rev=159216
Log:
removed more @authors and cleanup

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java?view=diff&r1=159215&r2=159216
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java
 Sun Mar 27 15:37:28 2005
@@ -21,6 +21,9 @@
 import java.util.*;
 
 /**
+ * 
+ * A blocking request that waits for a specified or random amount of time.
+ * 
  * SCHEME - block://localhost/?duration=100
  * 
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r159215 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: ContentDetector.java FeedFilter.java FeedVersion.java MetaFeedParserListener.java locate/EntityDecoder.java locate/ProbeLocator.java test/BaseTestCase.java test/TestBrokenFeeds.java

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:36:16 2005
New Revision: 159215

URL: http://svn.apache.org/viewcvs?view=rev&rev=159215
Log:
removed more @authors

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentDetector.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/EntityDecoder.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/BaseTestCase.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestBrokenFeeds.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentDetector.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentDetector.java?view=diff&r1=159214&r2=159215
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentDetector.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentDetector.java
 Sun Mar 27 15:36:16 2005
@@ -32,7 +32,7 @@
  * cheat because really we have no way of telling if this is RSS other 
than if
  * it is XML and it starts with an RSS 1.0, 2.0, 0.91 or 0.9 decl
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static ContentDetectorResult detect( String content ) throws 
Exception {
 
@@ -56,7 +56,7 @@
 /**
  * Return true if this is RSS 1.0 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isRSS_1_0_Content( String content ) throws Exception 
{
 
@@ -70,7 +70,7 @@
 /**
  * Return true if this is RSS 2.0 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isRSS_0_9_1_Content( String content ) throws 
Exception {
 
@@ -82,7 +82,7 @@
 /**
  * Return true if this is RSS 0.9.2 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isRSS_0_9_2_Content( String content ) throws 
Exception {
 
@@ -94,7 +94,7 @@
 /**
  * Return true if this is RSS 2.0 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isRSS_2_0_Content( String content ) throws Exception 
{
 
@@ -105,7 +105,7 @@
 /**
  * Return true if this is RSS 2.0 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isRSS_0_9_0_Content( String content ) throws 
Exception {
 
@@ -123,7 +123,7 @@
 /**
  * Return true if this is RSS 2.0 content
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isHTMLContent( String content ) throws Exception {
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java?view=diff&r1=159214&r2=159215
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
 Sun Mar 27 15:36:16 2005
@@ -44,7 +44,7 @@
  * think because assuming a content type is bad form.
  *
  * @deprecated Specify an encoding with #parse( bytes[], encoding )
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static byte[] parse( byte[] bytes )
 throws Exception {
@@ -67,7 +67,7 @@
  * 
  * 
http://wiki.apache.org/jakarta-commons/FeedParser_2fStringAllocationConsideredHelpful
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static byte[] parse( String content, String encoding )
 throws Exception {

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java?view=diff&r1=159214&r2=159215

svn commit: r159214 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: locate/ResourceExpander.java network/BaseResourceRequest.java tools/XMLEncodingParser.java

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:33:51 2005
New Revision: 159214

URL: http://svn.apache.org/viewcvs?view=rev&rev=159214
Log:
removed more @authors

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLEncodingParser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java?view=diff&r1=159213&r2=159214
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java
 Sun Mar 27 15:33:51 2005
@@ -57,7 +57,7 @@
  * @param link The link to possibly expand, such as "/index.rdf" or
  * "http://www.somehost.com/somepage.html";.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static String expand( String resource, String link ) {
 
@@ -161,7 +161,7 @@
 /**
  * Return true if this is an valid scheme and should be expanded.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean isValidScheme( String resource ) {
 if (hasScheme(resource) == false)
@@ -199,7 +199,7 @@
  *
  * for file: URLs we return file://
  *
-     * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static String getSite( String resource ) {
 
@@ -261,7 +261,7 @@
  * http://www.foo.com/directory
  *
      *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static String getBase( String resource ) {
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java?view=diff&r1=159213&r2=159214
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java
 Sun Mar 27 15:33:51 2005
@@ -79,7 +79,7 @@
 /**
  * Fire a new ArchiveEvent
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public void fireDataEvent( long count ) {
 
@@ -108,7 +108,7 @@
 /**
  * Fire a new ArchiveEvent
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public void fireDataEvent( DataEvent event ) {
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLEncodingParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLEncodingParser.java?view=diff&r1=159213&r2=159214
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLEncodingParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLEncodingParser.java
 Sun Mar 27 15:33:51 2005
@@ -33,7 +33,7 @@
 
 /**
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static String parse( byte[] content ) throws Exception {
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r159213 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: ./ locate/ network/

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:32:01 2005
New Revision: 159213

URL: http://svn.apache.org/viewcvs?view=rev&rev=159213
Log:
removed more @authors

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/DiscoveryLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/AdvancedInputStream.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BlockingResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/HTTPClientNetworkResource.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java?view=diff&r1=159212&r2=159213
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java
 Sun Mar 27 15:32:01 2005
@@ -96,7 +96,7 @@
  * Removing prolog whitespace, comments, and other garbage from the
  * beginning of a feed.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 private static String doRemoveLeadingProlog( String content, String 
encoding ) {
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java?view=diff&r1=159212&r2=159213
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java
 Sun Mar 27 15:32:01 2005
@@ -101,7 +101,7 @@
  * Used to represent RSS 2.0 GUIDs and atom:id constructs.  For Atom
  * isPermalink should be ignored.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public void onGUID( FeedParserState state,
 String value,

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParser.java?view=diff&r1=159212&r2=159213
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParser.java
 Sun Mar 27 15:32:01 2005
@@ -71,7 +71,7 @@
  * this needs to be per element.  It seems that the real infringer is
  * Delicious but I can fix this by processing dc:subject last.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static void doDcSubject( TagFeedParserListener listener, 
 FeedParserState state ) throws Exception {
@@ -100,7 +100,7 @@
 /**
  * Parse out atom:category and RSS 2.0/0.91 category
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static boolean doParseCategory( TagFeedParserListener listener, 
FeedParserState state ) throws 
Exception {

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/DiscoveryLocator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparse

svn commit: r159212 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: ./ impl/ locate/ network/ output/ sax/

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:31:07 2005
New Revision: 159212

URL: http://svn.apache.org/viewcvs?view=rev&rev=159212
Log:
removed more @authors

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FOAFFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedDirectoryParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedLifecycleListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedList.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/impl/DebugFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/AnchorParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/FeedLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ResourceExpander.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/MalformedResourceException.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/NetworkEventListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/NetworkException.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/output/RSS10_OutputFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/sax/RSSFeedParser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentFeedParserListener.java?view=diff&r1=159211&r2=159212
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentFeedParserListener.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ContentFeedParserListener.java
 Sun Mar 27 15:31:07 2005
@@ -75,7 +75,7 @@
  * @param isSummary True if this is just a summary of the content and not
  * the full content.  This is only known for Atom feeds.
  * 
- * @author mailto:[EMAIL PROTECTED]">Kevin Burton
+ * 
  */
 public void onContent( FeedParserState state,
String type,

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java?view=diff&r1=159211&r2=159212
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
 Sun Mar 27 15:31:07 2005
@@ -82,7 +82,7 @@
 /**
  * 
http://www.mnot.net/drafts/draft-nottingham-atom-format-00.html#rfc.section.3.2.8
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin Burton
+ * 
  */
 public void onCreated( FeedParserState state, Date date ) throws 
FeedParserException{}
 public void onCreatedEnd() throws FeedParserException {}
@@ -93,7 +93,7 @@
 /**
  * 
http://www.mnot.net/drafts/draft-nottingham-atom-format-00.html#rfc.section.3.2.7
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin Burton
+ * 
  */
 public void onIssued( FeedParserState state, String content ) throws 
FeedParserException {} 
 public void onIssuedEnd() throws FeedParserException {}

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FOAFFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FOAFFeedParse

svn commit: r159211 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: ./ impl/ locate/ network/ output/ tools/

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:24:21 2005
New Revision: 159211

URL: http://svn.apache.org/viewcvs?view=rev&rev=159211
Log:
removed @author to make javadoc build easier

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/ChangesFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FOAFFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FOAFFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedDirectoryParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedFilter.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedLifecycleListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedParserState.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/MetaFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/OPMLFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/TagFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/Test.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/impl/DebugFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/AnchorParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/AnchorParserException.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/DiscoveryLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/FeedLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/LinkLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/BaseResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/ResourceRequestFactory.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLCookieManager.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/output/RSS10_OutputFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/tools/XMLCleanser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java?view=diff&r1=159210&r2=159211
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
 Sun Mar 27 15:24:21 2005
@@ -53,7 +53,7 @@
 /**
  * Parse this feed.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 public static void parse( FeedParserListener listener,
   org.jdom.Document doc ) throws Exception {
@@ -302,7 +302,7 @@
 /**
  * Get the content of the given element.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * 
  */
 private static String getXMLOfContent( List content ) {
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java?view=diff&r1=159210&r2=159211
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java
 (original)
+++ 
jakarta/commons/proper/feedpars

svn commit: r159209 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: RSSFeedParser.java network/URLResourceRequest.java

2005-03-27 Thread burton
Author: burton
Date: Sun Mar 27 15:19:50 2005
New Revision: 159209

URL: http://svn.apache.org/viewcvs?view=rev&rev=159209
Log:
changed URL to not include the sandbox

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java?view=diff&r1=159208&r2=159209
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
 Sun Mar 27 15:19:50 2005
@@ -227,7 +227,9 @@
 Element items = state.current.getChild( "items", NS.CONTENT );
 
 if ( items != null ) {
-
+
+//FIXME: with malformed XML this could throw an NPE. Luckly
+//this format is rare now.
 Element value =
 items.getChild( "Bag", NS.RDF )
 .getChild( "li", NS.RDF )

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java?view=diff&r1=159208&r2=159209
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
 Sun Mar 27 15:19:50 2005
@@ -45,15 +45,22 @@
 
 public static final String ACCEPT_ENCODING_HEADER = "Accept-Encoding";
 public static final String IF_NONE_MATCH_HEADER = "If-None-Match";
-
 public static final String GZIP_ENCODING = "gzip";
-
 public static final String USER_AGENT_HEADER = "User-Agent";
-
+
+/**
+ *
+ * Enable RFC 3228 HTTP Delta for feeds.
+ * 
+ * http://bobwyman.pubsub.com/main/2004/09/using_rfc3229_w.html
+ * 
+ *  http://bobwyman.pubsub.com/main/2004/09/implementations.html
+ * 
+ */
 public static boolean ENABLE_HTTP_DELTA_FEED_IM = false;
 
 public static String USER_AGENT
-= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; 
aggregator:FeedParser; http://jakarta.apache.org/commons/sandbox/feedparser/) 
Gecko/20021130";
+= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; 
aggregator:FeedParser; http://jakarta.apache.org/commons/feedparser/) 
Gecko/20021130";
 
 public static String USER_AGENT_MOZILLA
 = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130";
@@ -62,7 +69,7 @@
  * Not used anymore.  Provided for historical reasons.
  */
 public static final String REFERER
-= 
"http://jakarta.apache.org/commons/sandbox/feedparser/?isAggregator=true";;
+= "http://jakarta.apache.org/commons/feedparser/?isAggregator=true";;
 
 public static final int MAX_CONTENT_LENGTH = 100;
 
@@ -166,7 +173,10 @@
 if ( ENABLE_HTTP_DELTA_FEED_IM ) {
 
 //note that this will return HTTP 226 if used.
+//
+
 httpURLConn.setRequestProperty( "A-IM", "feed, gzip" );
+
 }
 
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [patch?] feedparser (organizing imports)

2005-03-25 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Hi,
I liked the remove unused import statements patch.  How did you find 
this out?  Did you use checkstyle or something?

No. I used a feature from eclipse regarding that.
Cool... goign to have to play with that.
separating means?
one patch per clazz or per package ? 
Oh... separate it into one patch with removing the unnecessary imports ;)
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [patch?] feedparser (organizing imports)

2005-03-24 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Hi Kevin,
sorry for bothering you, but I started looking at sources for 
[feedparser] and saw lot's of "import java.xxx.*"

and also unused importstatements.
Are you interessted in "structuring" them?
I liked the remove unused import statements patch.  How did you find 
this out?  Did you use checkstyle or something?

I'm not sure about the generic import java.xxx.* removal.  I prefer this 
style as it saves a LOT of time over worrying about which classes to import.

I realize that some IDEs have support for just in time class import but 
I use Emacs which doesn't have that fancy feature ;)

Would you be interested in separating the patches?  I'd like to accept 
the remove unnecessary imports code.

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: VOTE: feedparser 0.5.0 RC1

2005-03-22 Thread Kevin A. Burton
Dion Gillard wrote:
There's no NOTICE file in the .tar.gz file as well.
 

I know... I was going to put it there before the release.Its going 
to be in there on release as the requirements are there.  I didn't think 
it was required for an RC.

Because the Apache release requirements are so long (> 15 steps). I've 
been putting it off.

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: VOTE: feedparser 0.5.0 RC1

2005-03-22 Thread Kevin A. Burton
Martin Cooper wrote:
Unfortunately, you also didn't get the minimum 3 +1s necessary. ;-(
(I have not looked at FeedParser, so I don't consider myself qualified
to vote one way or another.)
 

Uh... I don't think I need 3 +1s to do a release as long as their are no 
-1s...

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: VOTE: feedparser 0.5.0 RC1

2005-03-22 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Ok,
is there any result on this issue?
I played a bit with [feedparser] and it works for me ;)
So "+1" for rc1
But needs lot of JARs... ;-(

I'm working on the "Needs a lot of jars issue" :)
I didn't get any -1s so I assume its a go. The big issue is that I just 
haven't had time to do the release...

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r158368 - in jakarta/commons/proper/feedparser/trunk: ./ src/java/org/apache/commons/feedparser/ src/java/org/apache/commons/feedparser/impl/ src/java/org/apache/commons/feedparser/test/ xdocs/

2005-03-20 Thread burton
Author: burton
Date: Sun Mar 20 14:54:02 2005
New Revision: 158368

URL: http://svn.apache.org/viewcvs?view=rev&rev=158368
Log:
support for onContentItem from within the capture output layer

Added:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestBrokenFeeds.java
Modified:
jakarta/commons/proper/feedparser/trunk/project.xml

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/impl/DebugFeedParserListener.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/BaseTestCase.java
jakarta/commons/proper/feedparser/trunk/xdocs/index.xml

Modified: jakarta/commons/proper/feedparser/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/project.xml?view=diff&r1=158367&r2=158368
==
--- jakarta/commons/proper/feedparser/trunk/project.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/project.xml Sun Mar 20 14:54:02 2005
@@ -122,8 +122,6 @@
 1.2
 
 
-
-
 
 saxpath
 1.0-FCS

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java?view=diff&r1=158367&r2=158368
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/DefaultFeedParserListener.java
 Sun Mar 20 14:54:02 2005
@@ -39,7 +39,8 @@

ContentFeedParserListener {
 
 private Object context = null;
-
+
+public void onFeedVersion( FeedVersion version ) throws 
FeedParserException {}
 public void init() throws FeedParserException {}
 
 public void setContext( Object context ) throws FeedParserException {
@@ -117,7 +118,6 @@
 
 public void onAuthorEnd() throws FeedParserException {}
 
-
 public void onComments( FeedParserState state,
 String resource ) throws FeedParserException {}
 
@@ -128,7 +128,6 @@
 
 public void onCommentsFeedEnd() throws FeedParserException {}
 
-
 //  ModContentFeedParserListener 

 
 public void onContentEncoded( FeedParserState state,
@@ -148,8 +147,6 @@
 public void onXHTMLBody( FeedParserState state, Element value ) throws 
FeedParserException {}
 
 public void onXHTMLBodyEnd() throws FeedParserException {}
-
-public void onFeedVersion( FeedVersion version ) throws 
FeedParserException {}
 
 //  ContentFeedParserListener 
***
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java?view=diff&r1=158367&r2=158368
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/FeedVersion.java
 Sun Mar 20 14:54:02 2005
@@ -64,5 +64,26 @@
 public int version_major = 0;
 public int version_minor = 0;
 public int version_sub = 0;
+
+public String toString() {
+
+String result = "";
+
+if ( isAtom ) 
+result = "atom"; 
+else if ( isRSS )
+result = "rss";
+else if ( isFOAF )
+result = "foaf";
+else if ( isOPML )
+result = "opml";
+else if ( isXFN )
+result = "xfn";
+else if ( isChanges )
+result = "changes";
+
+return result += ":" + version;
+
+}
 
 }

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/impl/DebugFeedParserListener.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/impl/DebugFeedParserListener.java?view=diff&r1=158367&r2=158368
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/common

svn commit: r158366 - jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2

2005-03-20 Thread burton
Author: burton
Date: Sun Mar 20 14:26:32 2005
New Revision: 158366

URL: http://svn.apache.org/viewcvs?view=rev&rev=158366
Log:
added new unit test for zawodny not including content

Added:

jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2

Added: 
jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2?view=auto&rev=158366
==
--- 
jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2 
(added)
+++ 
jakarta/commons/proper/feedparser/trunk/tests/feeds/zawodny-broken-content.rss2 
Sun Mar 20 14:26:32 2005
@@ -0,0 +1,432 @@
+
+http://purl.org/dc/elements/1.1/";
+xmlns:sy="http://purl.org/rss/1.0/modules/syndication/";
+xmlns:admin="http://webns.net/mvcb/";
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+xmlns:content="http://purl.org/rss/1.0/modules/content/";>
+
+  
+Jeremy Zawodny's blog
+http://jeremy.zawodny.com/blog/
+SELECT * FROM random_thoughts ORDER BY date DESC
+en-us
+[EMAIL PROTECTED]
+Copyright 2005
+2005-03-20T12:56:26-08:00
+http://www.movabletype.org/?v=2.63"; />
+mailto:[EMAIL PROTECTED]"/>
+hourly
+1
+2000-01-01T12:00+00:00
+
+
+  Thoughts on Flickr and Yahoo
+  http://jeremy.zawodny.com/blog/archives/004362.html
+  The first time I used Flickr, I knew it was something 
different and something important. It took me a while to figure out and try to 
articulate exactly what that was, but I took my first swipe back in September 
when I called it a Next Generation Web Service. In that posting, I said: Flickr 
has been on my radar for a while now, but I only recently began to start 
playing with it. I'm impressed as hell. After my...
+  [EMAIL 
PROTECTED]://jeremy.zawodny.com/blog/
+  
+  Yahoo
+  2005-03-20T12:56:26-08:00
+
+
+  ETech, Yahoo! 360, Amazon, Open Search, and Generally Crazy 
Times
+  http://jeremy.zawodny.com/blog/archives/004357.html
+  I've been so busy between stuff going on at ETech and 
stuff back at Yahoo that I haven't had a chance to even post here. You 
probably heard about Yahoo! 360 (our answer to what happens when you combine 
your friends, your content (pictures, lists, reviews, etc), and a bit of 
blogging fu). I'll write more about it later, probably but am happy to see 
that some people "get it." 360 was not designed to be YASNS (Yet 
Another Social...
+  [EMAIL 
PROTECTED]://jeremy.zawodny.com/blog/
+  
+  Yahoo
+  2005-03-16T23:38:52-08:00
+
+
+  Headed to ETech in the Morning...
+  http://jeremy.zawodny.com/blog/archives/004351.html
+  I have a 7:00am flight tomorrow down to San Diego for the 
2005 Emerging Technologies Conference. The program looks great this year. 
They're even letting me speak: Introduction to Yahoo! Search Web Services. 
That topic's a big shock, I'm sure. Anyway, if you're in town 
for the conference I hope we run into each other. Don't forget to drop by 
the Yahoo booth to get some goodies, find out about getting a job at Yahoo, 
etc. In theory I arrive...
+  [EMAIL 
PROTECTED]://jeremy.zawodny.com/blog/
+  
+  Yahoo
+  2005-03-14T20:48:27-08:00
+
+
+  Transparensee's Discovery Search Engine
+  http://jeremy.zawodny.com/blog/archives/004348.html
+  In Grokking Transparensee, John Battelle said the 
following: This is powerful stuff when you think about it, and it solves a core 
database search issue, at least for me: you know there is the right answer for 
the query you are entering, but damned if it isn't escaping you, due to 
the blunt nature of structured search. He's referring to 
Transparensee's Discovery Search Engine. He did a decent job of explaining 
what it is, but it's really one of those...
+  [EMAIL 
PROTECTED]://jeremy.zawodny.com/blog/
+  
+  Random
+  2005-03-14T08:09:38-08:00
+
+
+  What about Microsoft's upcoming contextual advertising 
system?
+  http://jeremy.zawodny.com/blog/archives/004337.html
+  I keep reading all these speculative posts about Yahoo 
getting into the contextual advertising game, being "poised" to 
compete with AdSense, and so on. But what surprises me is how little chatter 
about Microsoft I read. If people really think that MSN Search is 
Microsoft's only assault on the cash cow in Mountain View, there's 
some really good crack getting smoked. Maybe it's time to review 
Google's financials and think like like the monoplist that Microsoft is. 
If you wanted...
+  [EMAIL 
PROTECTED]://jeremy.zaw

Re: [Feedparser] NoClassDefFoundError

2005-03-20 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Hi,
when I start the "HelloFeedParser" sample, I got:
NoClassDefFoundError: org/saxpath/SAXPathException
(see below)
I loaded the *binary* from http://apache.org/~burton/
here is the SRC of my "HelloFeedParser":
http://cvs.apache.org/viewcvs.cgi/jakarta-commons-sandbox/feedparser/src/java/org/apache/commons/feedparser/example/HelloFeedParser.java?rev=1.1&view=markup 

Looks like you'll need saxpath.jar from SVN in your classpath.
I think this dependency will go away once we move to Jaxen 1.0.. in 
0.6.0 of the FeedParser.

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Feedparser] dependencies of JARs

2005-03-20 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Hi,
I just saw on [1] that [feedparser] depends on lot's of JARs
are all of them really needed to "run" applications, based upon
[feedparser] ?
The only dependencies are jdom, jaxen, log4j, and xerces.  I want to get 
this down to JUST log4j and xerces in 2.0 though.

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Feedparser] dependencies of JARs

2005-03-20 Thread Kevin A. Burton
Matthias Wessendorf wrote:
Hi,
I just saw on [1] that [feedparser] depends on lot's of JARs
are all of them really needed to "run" applications, based upon
[feedparser] ?
Most are needed to compile.  I'll update the site in a bit to specify 
which jars are needed in a practical application.

Thanks!
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r158183 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-18 Thread burton
Author: burton
Date: Fri Mar 18 17:27:45 2005
New Revision: 158183

URL: http://svn.apache.org/viewcvs?view=rev&rev=158183
Log:
Assert that the constructor benchmark isn't actually registered

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=158182&r2=158183
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Fri Mar 18 17:27:45 2005
@@ -44,6 +44,9 @@
 child.start();
 child.complete();
 
+assertFalse( b.registered );
+
+assertEquals( 0, b.getTracker1().now.completed );
 assertEquals( 1, child.getTracker1().now.completed );
 
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r158178 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

2005-03-18 Thread burton
Author: burton
Date: Fri Mar 18 17:07:02 2005
New Revision: 158178

URL: http://svn.apache.org/viewcvs?view=rev&rev=158178
Log:
Fixed a bug where getBenchmark would accidentally create a benchmark

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=158177&r2=158178
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Fri Mar 18 17:07:02 2005
@@ -61,7 +61,7 @@
  */
 public Hashtable getBenchmarkAsHashtable( String name ) {
 
-Benchmark benchmark = Benchmark.getBenchmark( name );
+Benchmark benchmark = (Benchmark)Benchmark.getBenchmarks().get( name );
 
 if ( benchmark == null )
 return null;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r158174 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java test/org/apache/commons/benchmark/Test1.java

2005-03-18 Thread burton
Author: burton
Date: Fri Mar 18 16:53:10 2005
New Revision: 158174

URL: http://svn.apache.org/viewcvs?view=rev&rev=158174
Log:
more unit tests... more javadoc...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=158173&r2=158174
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Fri Mar 18 16:53:10 2005
@@ -54,6 +54,11 @@
.getTracker1().getLast().getMeanDuration() );
 }
 
+/**
+ * Get an individual benchmark as a hashtable with all values exposed.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
 public Hashtable getBenchmarkAsHashtable( String name ) {
 
 Benchmark benchmark = Benchmark.getBenchmark( name );
@@ -66,16 +71,20 @@
 //map.put( "1min.now.duration", new Double( 
benchmark.getTracker1().getNow().duration ) );
 //map.put( "1min.last.duration", new Double( 
benchmark.getTracker1().getNow().duration ) );
 
-addHashtableMetrics( map, benchmark.getTracker1().getLast(), 
"1min.last." );
-addHashtableMetrics( map, benchmark.getTracker5().getLast(), 
"5min.last." );
-addHashtableMetrics( map, benchmark.getTracker15().getLast(), 
"15min.last." );
+addHashtableMetrics( map, benchmark.getTracker1().getLast(), "1min." );
+addHashtableMetrics( map, benchmark.getTracker5().getLast(), "5min." );
+addHashtableMetrics( map, benchmark.getTracker15().getLast(), "15min." 
);
 
 return map;
 
 }
 
 /**
- * @see Benchmark.getBenchmarks()
+ *
+ * Get all current benchmarks that have been defined in the system. We
+ * return the data as a Hashtable with the name of the benchmark and the
+ * associated values.
+ * 
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
 public Map getBenchmarks() {

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=158173&r2=158174
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Fri Mar 18 16:53:10 2005
@@ -33,6 +33,21 @@
 super(testName);
 }
 
+public void testChild() throws Exception {
+
+Benchmark b = new Benchmark();
+
+Benchmark child = b.child( "foo" );
+
+assertTrue( "child not setup", child.getName().indexOf( "foo" ) != -1 
);
+
+child.start();
+child.complete();
+
+assertEquals( 1, child.getTracker1().now.completed );
+
+}
+
 //FIXME: write unit test for PERFORMANCE.  With it enabled/disabled we
 //should be able to call it FREQUENTLY without killing the CPU.
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r158157 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

2005-03-18 Thread burton
Author: burton
Date: Fri Mar 18 15:07:31 2005
New Revision: 158157

URL: http://svn.apache.org/viewcvs?view=rev&rev=158157
Log:
Fixed a bug due to a threading issue corrupting a HashSet.. we now use a 
mutex... 

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java?view=diff&r1=158156&r2=158157
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 Fri Mar 18 15:07:31 2005
@@ -37,6 +37,13 @@
 public class GraphTask extends Thread {
 
 /**
+ * RRD 1.4 has a bug where they use a HashSet internall to keep track of
+ * open writers which causes threads to screw up so we need to synchronize 
a
+ * mutex.  Since this is just disk IO it should be OK.
+ */
+public static final Object RRD_MUTEX = new Object();
+
+/**
  * True when we should generate tasks within the current process.
  */
 public static boolean ENABLE_GENERATE_GRAPHS=true;
@@ -208,7 +215,8 @@
 graph.saveAsPNG( path );
 
 System.out.println( "Generating graph: " + path + " ...done" );
-
+//graph.close();
+
 }
 
 /**
@@ -219,56 +227,60 @@
  */
 private void doCreateRRD() throws Exception {
 
-new File( ROOT ).mkdirs();
+synchronized( RRD_MUTEX ) {
 
-System.out.println( "Creating rrd file: " + rrd_path );
+new File( ROOT ).mkdirs();
 
-RrdDef rrdDef = new RrdDef( rrd_path );
-rrdDef.setStartTime( begin  );
+System.out.println( "Creating rrd file: " + rrd_path );
+
+RrdDef rrdDef = new RrdDef( rrd_path );
+rrdDef.setStartTime( begin  );
 
-rrdDef.addDatasource( "speed",
-  "GAUGE",
-  GraphTaskRunner.COUNTER_INTERVAL_SECONDS,
-  Double.NaN,
-  Double.NaN );
+rrdDef.addDatasource( "speed",
+  "GAUGE",
+  GraphTaskRunner.COUNTER_INTERVAL_SECONDS,
+  Double.NaN,
+  Double.NaN );
 
-//set the step to 1 minute (the default is 5 minutes).
-rrdDef.setStep( GraphTaskRunner.COUNTER_INTERVAL_SECONDS );
+//set the step to 1 minute (the default is 5 minutes).
+rrdDef.setStep( GraphTaskRunner.COUNTER_INTERVAL_SECONDS );
 
-//keep one measurement for every single poll.
+//keep one measurement for every single poll.
 
-//rrdDef.addArchive( "AVERAGE", 0.5, 1, 3600 );
+//rrdDef.addArchive( "AVERAGE", 0.5, 1, 3600 );
 
-//rrdDef.addArchive( "AVERAGE", 0.5, 1, 60 );
+//rrdDef.addArchive( "AVERAGE", 0.5, 1, 60 );
 
-//FIXME: increase this to about 400... because this would yield a much
-//higher density image.
+//FIXME: increase this to about 400... because this would yield a 
much
+//higher density image.
 
-//6 hours (6 minute intervals... with 60 measurements which yields 360
-//minutes which is 6 hours).
+//6 hours (6 minute intervals... with 60 measurements which yields 
360
+//minutes which is 6 hours).
 
-rrdDef.addArchive( "AVERAGE", 0.5, 1, 360 );
+rrdDef.addArchive( "AVERAGE", 0.5, 1, 360 );
 
-//12 hours
-rrdDef.addArchive( "AVERAGE", 0.5, 2, 360 );
+//12 hours
+rrdDef.addArchive( "AVERAGE", 0.5, 2, 360 );
 
-//24 hours
-rrdDef.addArchive( "AVERAGE", 0.5, 4, 360 );
+//24 hours
+rrdDef.addArchive( "AVERAGE", 0.5, 4, 360 );
 
-//1 week
-rrdDef.addArchive( "AVERAGE", 0.5, 28, 360 );
+//1 week
+rrdDef.addArchive( "AVERAGE", 0.5, 28, 360 );
 
-//1 month
-rrdDef.addArchive( "AVERAGE", 0.5, 120, 360 );
+//1 month
+rrdDef.addArchive( "AVERAGE", 0.5, 120, 360 );
 
-//1 year
-rrdDef.addArchive( "AVERAGE", 0.5, 1460, 360 );
+//1 year
+rrdDef.addArchive( "AVERAGE", 0.5, 1460, 360 );
 
-//FIXME: 

svn commit: r157627 - in jakarta/commons/sandbox/benchmark/trunk: project.xml src/java/org/apache/commons/benchmark/rrd/GraphTask.java

2005-03-15 Thread burton
Author: burton
Date: Tue Mar 15 18:13:59 2005
New Revision: 157627

URL: http://svn.apache.org/viewcvs?view=rev&rev=157627
Log:
cactch all throwables:

Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=157626&r2=157627
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Tue Mar 15 18:13:59 2005
@@ -83,6 +83,7 @@
 
 
 **/Test*.java
+**/TestPerformance.java
 
 
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java?view=diff&r1=157626&r2=157627
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 Tue Mar 15 18:13:59 2005
@@ -329,8 +329,8 @@
 exec();
 generateGraphs();
 
-} catch ( Exception e ) {
-e.printStackTrace();
+} catch ( Throwable t ) {
+t.printStackTrace();
 }
 
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Moving benchmark out of sandbox?

2005-03-15 Thread Kevin A. Burton
Niall Pemberton wrote:
JRobin is LGPL License: http://www.jrobin.org/license.html
 

Crap.. I totally forgot about that!
I'm going to ask the author if he's interested in a BSD version :)
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r157573 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java

2005-03-15 Thread burton
Author: burton
Date: Tue Mar 15 10:35:33 2005
New Revision: 157573

URL: http://svn.apache.org/viewcvs?view=rev&rev=157573
Log:
...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java?view=diff&r1=157572&r2=157573
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java
 Tue Mar 15 10:35:33 2005
@@ -47,7 +47,7 @@
 
 double tps = ((double)TEST1_COUNT / (double)bmeta.duration) * 1000D;
 
-assertTrue( "Not meeting minimum TPS", tps > 20 );
+assertTrue( "Not meeting minimum TPS", tps > 15 );
 
 //NOW disable the whole thing and trytry again.
 Benchmark.DISABLED=true;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How do I setup nightly builds?

2005-03-14 Thread Kevin A. Burton
Craig McClanahan wrote:
I added a build.xml generated from "maven ant", but the unit tests
fail (see my commit message for build.xml) which causes the "ant clean
dist" command to fail as well.  If the unit tests are made to work, I
can start uploading nightly builds for you, which will appear in:
 http://cvs.apache.org/builds/jakarta-commons/nightly/commons-benchmark/
 

I'll fix the unit tests.  There's a performance test which is probably 
confused when not running on my laptop ;).. Still trying to figure out 
how to write a test for that.

I'll fix it now :)
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: How do I setup nightly builds?

2005-03-14 Thread Kevin A. Burton
Martin Cooper wrote:
The Commons nightlies are run by Craig at the moment. As long as
FeedParser and Benchmark build cleanly with 'ant clean dist', a
request to Craig should get them added to the list of components built
nightly.
 

Do you know if I can run maven?  "maven clean dist" works fine.
I'm sure I could get Ant setup but Maven just gives it to me for free.
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


How do I setup nightly builds?

2005-03-14 Thread Kevin A. Burton
I want to setup nightly builds for FeedParser and Benchmark but I 
can't figure out how.  Looked all over the wiki in the TitleIndex and 
even tried google.

Pointers please! :)
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Moving benchmark out of sandbox?

2005-03-14 Thread Kevin A. Burton
Dion Gillard wrote:
Using nightly builds?
 

Thats a step in the right direction I guess ;)
I'll setup nightly builds and then blog about the benchmark package and 
what you can do with it... then build really nice javadoc.

I guess I'm getting ahead of myself because I want to integrate it 
within FeedParser :)

Thanks!
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r157511 - in jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config: ./ XMLConfigurator.java

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 20:45:29 2005
New Revision: 157511

URL: http://svn.apache.org/viewcvs?view=rev&rev=157511
Log:
added XMLConfigurator which wasn't present (bad)

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/XMLConfigurator.java

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/XMLConfigurator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/XMLConfigurator.java?view=auto&rev=157511
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/XMLConfigurator.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/config/XMLConfigurator.java
 Mon Mar 14 20:45:29 2005
@@ -0,0 +1,121 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark.config;
+
+import org.apache.commons.benchmark.rrd.*;
+
+import java.util.*;
+
+import javax.xml.parsers.*;
+import org.w3c.dom.*;
+
+import org.apache.commons.beanutils.*;
+
+/**
+ * Simple XML based configuration tool.
+ * 
+ * @author mailto:[EMAIL PROTECTED]">Kevin Burton
+ * @version $Id: Benchmark.java,v 1.3 2005/02/16 02:28:09 burton Exp $
+ */
+public class XMLConfigurator {
+
+/**
+ * Configure benchmark for the current VM.
+ */
+public static void configure( String path ) throws Exception {
+
+DocumentBuilder builder = DocumentBuilderFactory
+.newInstance().newDocumentBuilder();
+
+Document document = builder.parse( path );
+
+Element root = document.getDocumentElement();
+
+NodeList tasksList = root.getElementsByTagName( "tasks" );
+
+if ( tasksList.getLength() > 0 ) {
+
+//process tasks
+Node tasksNode = tasksList.item( 0 );
+Element tasksElement = (Element)tasksNode;
+
+NodeList sourceList = tasksElement.getElementsByTagName( "source" 
);
+
+for ( int i = 0; i < sourceList.getLength(); ++i ) {
+
+Node sourceNode = sourceList.item( i );
+Element sourceElement = (Element)sourceNode;
+
+String classname = sourceElement.getAttribute( "classname" );
+String name = sourceElement.getAttribute( "name" );
+String title = sourceElement.getAttribute( "title" );
+
+String unitDescription = sourceElement.getAttribute( 
"unitDescription" );
+String unitName = sourceElement.getAttribute( "unitName" );
+
+//FIXME: process params as well.
+
+Class clazz = Class.forName( classname );
+
+Source source = (Source)clazz.newInstance();
+
+//set properties on the source with beansutils.
+applyParams( source, sourceElement );
+
+GraphTask task = new GraphTask( name,
+title,
+unitDescription,
+unitName,
+source );
+
+GraphTaskRunner.tasks.add( task );
+
+}
+
+}
+
+}
+
+public static void applyParams( Source source, Element sourceElement )
+throws Exception {
+
+NodeList paramList = sourceElement.getElementsByTagName( "param" );
+
+for ( int j = 0; j < paramList.getLength(); ++j ) {
+
+Node paramNode = paramList.item( j );
+Element paramElement = (Element)paramNode;
+
+String name = paramElement.getAttribute( "name" );
+String value = paramElement.getAttribute( "value" );
+
+if ( value == null || value.equals( "" ) ) {
+value = paramElement.getFirstChild().getNodeValue();
+
+} 
+
+PropertyUtils.setSimpleProperty( source, name, value );
+

Re: Moving benchmark out of sandbox?

2005-03-14 Thread Kevin A. Burton
Martin Cooper wrote:
I don't believe Benchmark is ready to be promoted to Commons Proper.
As far as I can tell, it is missing the single most important
ingredient of a project at the ASF - community. It has a single
committer and very little discussion on the lists. This isn't all that
surprising, since it hasn't been around very long, but it does mean
that it's not ready for promotion out of the Sandbox quite yet.
 

I was thinking the same ting... which is one reason I thought I'd 
mention Benchmark again ;)

The problem is how do I get community if I can't do a release - the 
sandbox prohibits releases!


Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: VOTE: feedparser 0.5.0 RC1

2005-03-14 Thread Kevin A. Burton
Dion Gillard wrote:
Accessing http://apache.org/~burton/commons-feedparser-0.5-beta.tar.gz
gives:
Forbidden
You don't have permission to access
/~burton/commons-feedparser-0.5-beta.tar.gz on this server.
 

Wow... sorry. Permissions issue :-/
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r157486 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 16:01:08 2005
New Revision: 157486

URL: http://svn.apache.org/viewcvs?view=rev&rev=157486
Log:
Fixed a race condition that would lockup the runner

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java?view=diff&r1=157485&r2=157486
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 Mon Mar 14 16:01:08 2005
@@ -316,11 +316,13 @@
 public void run() {
 
 while ( true ) {
+
+isWaiting = true;
+
 synchronized( this ) {
 
 try {
 
-isWaiting = true;
 wait();
 isWaiting = false;
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r157480 - in jakarta/commons/proper/feedparser/trunk: build.xml src/java/org/apache/commons/feedparser/locate/ProbeLocator.java src/java/org/apache/commons/feedparser/test/TestPerformance.java src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 15:02:23 2005
New Revision: 157480

URL: http://svn.apache.org/viewcvs?view=rev&rev=157480
Log:
Refactored test mechanism.. all of our anchor parser unit tests works. Blogger 
test fails but I think thats not release depenedent and is a blogger bug

Modified:
jakarta/commons/proper/feedparser/trunk/build.xml

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestPerformance.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

Modified: jakarta/commons/proper/feedparser/trunk/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/build.xml?view=diff&r1=157479&r2=157480
==
--- jakarta/commons/proper/feedparser/trunk/build.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/build.xml Mon Mar 14 15:02:23 2005
@@ -112,7 +112,7 @@
 
 
 
+depends="jar">
 
 
 
 
-
 
 
@@ -151,13 +151,18 @@
 
 
 
-
-
+
+ 
 
 
 
 
+
+
+
+
 
+
 
 
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java?view=diff&r1=157479&r2=157480
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/locate/ProbeLocator.java
 Mon Mar 14 15:02:23 2005
@@ -175,8 +175,10 @@
  * 
  *  @author Brad Neuberg, [EMAIL PROTECTED]
  */
-protected static boolean feedExists(String resource, BlogService 
blogService) 
-throws Exception {
+protected static boolean feedExists( String resource,
+ BlogService blogService) 
+throws Exception {
+
 log.debug("feedExists, resource="+resource);
 ResourceRequest request = ResourceRequestFactory.getResourceRequest( 
resource );
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestPerformance.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestPerformance.java?view=diff&r1=157479&r2=157480
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestPerformance.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestPerformance.java
 Mon Mar 14 15:02:23 2005
@@ -38,11 +38,15 @@
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  * @version $Id$
  */
-public class TestPerformance {
+public class TestPerformance extends TestCase {
+
+public TestPerformance( String name ) {
+super( name );
+}
 
 static SAXParser parser = null;
 
-public static void doTestSAX() throws Exception {
+public static void testSAX() throws Exception {
 
 if ( parser == null ) {
 parser = SAXParserFactory.newInstance().newSAXParser();
@@ -92,7 +96,7 @@
 
 }
 
-public static void doTestDefault() throws Exception {
+public static void testDefault() throws Exception {
 
 FeedParser parser = FeedParserFactory.newFeedParser();
 FeedParserListener listener = new DefaultFeedParserListener() {};
@@ -110,13 +114,13 @@
 
 public static void main( String[] args ) throws Exception {
 
-TestPerformance test = new TestPerformance();
+TestPerformance test = new TestPerformance( null );
 
 //test.testGetWeblogLinkForResource();
 //test.test1();
 
-doTestMethod( "doTestSAX", TestPerformance.class, 100 );
-doTestMethod( "doTestDefault", TestPerformance.class, 100 );
+doTestMethod( "testSAX", TestPerformance.class, 100 );
+doTestMethod( "testDefault", TestPerformance.class, 100 );
 
 }
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/tr

svn commit: r157468 - in jakarta/commons/sandbox/benchmark/trunk: src/java/org/apache/commons/benchmark/BenchmarkMeta.java src/java/org/apache/commons/benchmark/BenchmarkUtils.java xdocs/index.xml

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 13:40:09 2005
New Revision: 157468

URL: http://svn.apache.org/viewcvs?view=rev&rev=157468
Log:
changed to package level with getters/setters

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java?view=diff&r1=157467&r2=157468
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 Mon Mar 14 13:40:09 2005
@@ -25,13 +25,13 @@
  */
 public class BenchmarkMeta {
 
-public long timestamp = -1;
+long timestamp = -1;
 
-public long started = 0;
+long started = 0;
 
-public long completed = 0;
+long completed = 0;
 
-public long duration = 0;
+long duration = 0;
 
 /**
  * The time the current benchmark was started.  -1 for never started.

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java?view=diff&r1=157467&r2=157468
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 Mon Mar 14 13:40:09 2005
@@ -50,8 +50,6 @@
int numIterations,
Class clazz ) throws 
Exception {
 
-System.gc();
-
 Method method = clazz.getMethod( name, null );
 
 if ( method == null )
@@ -60,6 +58,7 @@
 BenchmarkMethodMeta bmeta = new BenchmarkMethodMeta();
 bmeta.name = name;
 
+System.gc();
 bmeta.memoryBefore = getUsedMemory();
 long duration = 0;
 

Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=157467&r2=157468
==
--- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Mon Mar 14 13:40:09 
2005
@@ -120,16 +120,17 @@
 
 
 
-Benchmark benchmark = Benchmark.getBenchmark( "foo" );
+//get a benchmark
+Benchmark benchmark = Benchmark.getBenchmark( 
"my_benchmark_name" );
 
 try {
 
-benchmark.start();
+benchmark.start();
 
-//do something expensive
+//do something expensive
 
 } finally {
-benchmark.complete();
+benchmark.complete();
 }
 
 
@@ -141,6 +142,15 @@
 overhead.
 
 
+
+We provide shortcuts for determining the benchmark name from 
the
+caller.  For example if youre class
+is mypackage.MyClass and you call
+Benchmark.getBenchmark() or simply new
+Benchmark() we automatically determine the class name 
and
+use this as the name of the benchmark.
+
+
 
 
 
@@ -276,7 +286,20 @@
 
 no
 
+
+
+
+
+xmlrpc
+
+
+
+no
+
 
+
+yes
+
 
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Moving benchmark out of sandbox?

2005-03-14 Thread Kevin A. Burton
Michael Heuer wrote:
On Sun, 13 Mar 2005, Kevin A. Burton wrote:
 

Has annyone had a chance to take a look at the benchmark project I've
been working on?
http://jakarta.apache.org/commons/sandbox/benchmark/
I'm really happy with the way everything is turning out and I'd like to
move from the sandbox to proper so that I can do a release.
   

I am not an apache committer, so consider these comments appropriately,
but I do not feel that benchmark as-is should move to commons proper.  A
checkstyle report should be generated, as there are lots of style and API
problems that I see, public fields, methods with no javadoc, wild-card
imports, package-level fields on a public abstract class, etc.  Even if
the quality of the implementation is good, it doesn't look it at first
glance.
 

There are a few issues here:
I agree that javadoc should be updated. That was the first thing I would 
do prior to the move to is to run though all the methods and update the 
javadoc.

The public fields were intentional. I was going to blog a manifesto 
about javabean semantic considered harmful but I have yet had the time. 
That said I probably don't want to open that can of worms by having it 
conflict with the commit so I'll probably just update the code.

I don't disagree with the wild-card import issue though.
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412



svn commit: r157449 - jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 10:58:01 2005
New Revision: 157449

URL: http://svn.apache.org/viewcvs?view=rev&rev=157449
Log:
ability to run tests from disk...

Modified:

jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java?view=diff&r1=157448&r2=157449
==
--- 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 Mon Mar 14 10:58:01 2005
@@ -22,6 +22,8 @@
 
 import junit.framework.*;
 
+import org.apache.commons.feedparser.network.*;
+
 /**
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
@@ -32,33 +34,32 @@
 super( name );
 }
 
-static int anchorCount = 0;
-
-private void assertAnchorCount( int linkCount, String content ) throws 
Exception {
+private void doTest( int linkCount, String resource ) throws Exception {
 
-anchorCount = 0;
-
-AnchorParserListener listener = new AnchorParserListener() {
+ResourceRequest request = ResourceRequestFactory.getResourceRequest( 
resource );
+String content = request.getInputStreamAsString();
 
-public boolean onAnchor( String href, String rel, String title 
) {
+TestAnchorParserListener listener = new TestAnchorParserListener();
 
-++anchorCount;
-
-return true;
-}
+AnchorParser.parse( content, listener );
 
-public Object getResult() { return null; }
-public void setContext( Object context ) {}
+System.out.println( "Found N anchors: " + listener.anchorCount );
 
-};
+assertEquals( linkCount, listener.anchorCount );
+
+}
+
+private void assertAnchorCount( int linkCount, String content ) throws 
Exception {
+
+TestAnchorParserListener listener = new TestAnchorParserListener();
 
 AnchorParser.parse( content, listener );
 
-assertEquals( linkCount, anchorCount );
+assertEquals( linkCount, listener.anchorCount );
 
 }
 
-public void test1() throws Exception {
+public void testBasic() throws Exception {
 
 assertAnchorCount( 1, "http://peerfear.org\"; 
title=\"linux\" >adf" );
 
@@ -74,14 +75,44 @@
 //assertAnchorCount( "",
 //   1 );
 
+//FIXME: what about unit tests which have multiple lines ?
+
+}
+
+public void testContent() throws Exception {
+
+doTest( 1, "file:tests/anchor/anchor1.html" );
+doTest( 1, "file:tests/anchor/anchor2.html" );
+doTest( 1, "file:tests/anchor/anchor3.html" );
+doTest( 1, "file:tests/anchor/anchor4.html" );
+
 }
 
 public static void main( String[] args ) throws Exception {
 
 //FIXME: won't work with 
 
-new TestAnchorParser( null ).test1();
+TestAnchorParser test = new TestAnchorParser( null );
+test.testBasic();
+test.testContent();
 
 }
 
 }
+
+class TestAnchorParserListener implements AnchorParserListener {
+
+public int anchorCount;
+
+public boolean onAnchor( String href, String rel, String title ) {
+
+++anchorCount;
+
+return true;
+}
+
+public Object getResult() { return null; }
+public void setContext( Object context ) {}
+
+}
+



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r157447 - in jakarta/commons/proper/feedparser/trunk/src/test: ./ org/ org/apache/ org/apache/commons/ org/apache/commons/feedparser/ org/apache/commons/feedparser/locate/ org/apache/commons/feedparser/locate/TestAnchorParser.java

2005-03-14 Thread burton
Author: burton
Date: Mon Mar 14 10:49:21 2005
New Revision: 157447

URL: http://svn.apache.org/viewcvs?view=rev&rev=157447
Log:
Added unit tests for the anchor parser... init of moving the test to src/test

Added:
jakarta/commons/proper/feedparser/trunk/src/test/
jakarta/commons/proper/feedparser/trunk/src/test/org/
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/

jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/

jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/

jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java

Added: 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java?view=auto&rev=157447
==
--- 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 (added)
+++ 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 Mon Mar 14 10:49:21 2005
@@ -0,0 +1,87 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.feedparser.locate;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.regex.*;
+
+import junit.framework.*;
+
+/**
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public class TestAnchorParser extends TestCase {
+
+public TestAnchorParser( String name ) {
+super( name );
+}
+
+static int anchorCount = 0;
+
+private void assertAnchorCount( int linkCount, String content ) throws 
Exception {
+
+anchorCount = 0;
+
+AnchorParserListener listener = new AnchorParserListener() {
+
+public boolean onAnchor( String href, String rel, String title 
) {
+
+++anchorCount;
+
+return true;
+}
+
+public Object getResult() { return null; }
+public void setContext( Object context ) {}
+
+};
+
+AnchorParser.parse( content, listener );
+
+assertEquals( linkCount, anchorCount );
+
+}
+
+public void test1() throws Exception {
+
+assertAnchorCount( 1, "http://peerfear.org\"; 
title=\"linux\" >adf" );
+
+assertAnchorCount( 1, "http://peerfear.org\"; rel='linux' 
title='linux' >adf" );
+
+assertAnchorCount( 1, "adf" );
+
+assertAnchorCount( 1,  "http://peerfear.org\"; >adf" );
+
+assertAnchorCount( 1,  "http://peerfear.org\"; rel=\"linux\" 
title=\"linux\" >adf" );
+
+//FIXME: this won't work because it has an image
+//assertAnchorCount( "",
+//   1 );
+
+}
+
+public static void main( String[] args ) throws Exception {
+
+//FIXME: won't work with 
+
+new TestAnchorParser( null ).test1();
+
+}
+
+}



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Moving benchmark out of sandbox?

2005-03-14 Thread Kevin A. Burton
Has annyone had a chance to take a look at the benchmark project I've 
been working on?

http://jakarta.apache.org/commons/sandbox/benchmark/
I'm really happy with the way everything is turning out and I'd like to 
move from the sandbox to proper so that I can do a release.

I want to use the benchmark code within the FeedParser so I can export 
benchmarks on network IO, feed parse time, etc.  I need to move into 
proper so that I can do a benchmark 1.0 release. :)

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


VOTE: feedparser 0.5.0 RC1

2005-03-13 Thread Kevin A. Burton
(Sent this out on Friday but it looks like it bounced... )
OK.
I took the time tonight and made an FeedParser 0.5.0 RC1 available for 
testing:

http://apache.org/~burton/
http://apache.org/~burton/commons-feedparser-0.5-beta.tar.gz
This is our initial release and on Monday I'll probably cut 0.5.0 final 
assuming there are no objections.

http://jakarta.apache.org/commons/feedparser/
Since this is a first release a changelog doesn't really apply.  One 
thing to note is that this includes Brad's RSS feed location bugfixes.

The current release plan to 1.0 is to release 0.5.0 as a initial 
release.  I'll probably want to do a 0.6.0 release right after this with 
some refactoring and commons-benchmark. 
Then I want to release a FeedParser 1.0 as the code is really solid.

Thanks!
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r157305 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/BenchmarkMeta.java java/org/apache/commons/benchmark/BenchmarkMethodMeta.java java/org/apache/commons/benchmark/BenchmarkUtils.java test/org/apache/commons/benchmark/TestPerformance.java

2005-03-12 Thread burton
Author: burton
Date: Sat Mar 12 18:02:06 2005
New Revision: 157305

URL: http://svn.apache.org/viewcvs?view=rev&rev=157305
Log:
unit tests for speed

Added:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestPerformance.java
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java?view=diff&r1=157304&r2=157305
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 Sat Mar 12 18:02:06 2005
@@ -72,16 +72,6 @@
 return duration > 0 ? duration / completed : 0;
 }
 
-public float getCompletedPerSecond() {
-
-long meanDuration = getMeanDuration();
-
-if ( meanDuration == 0 )
-return 0;
-
-return  1000 / getMeanDuration();
-}
-
 public void reset() {
 started = 0;
 completed = 0;

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java?view=diff&r1=157304&r2=157305
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
 Sat Mar 12 18:02:06 2005
@@ -65,7 +65,8 @@
 
 buff.append( "--\n" );;
 buff.append( "Results from method test: " + name + "\n" );
-buff.append( "Total duration: " + duration + "milliseconds \n" );
+buff.append( "Total duration: " + duration + " milliseconds \n" );
+buff.append( "Mean duration: " + getMeanDuration() + " milliseconds 
\n" );
 buff.append( "Total completed: " + completed + "\n" );
 buff.append( "Total completed per second: " + getCompletedPerSecond() 
+ "\n" );
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java?view=diff&r1=157304&r2=157305
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 Sat Mar 12 18:02:06 2005
@@ -29,7 +29,17 @@
 public static BenchmarkMethodMeta benchmarkMethod( String name ) throws 
Exception {
 return benchmarkMethod( name, 10 );
 }
-
+
+public static BenchmarkMethodMeta benchmarkMethod( String name,
+   int numIterations ) 
throws Exception {
+
+String caller = Benchmark.getCallerClassname();
+
+Class clazz = Class.forName( caller );
+
+return benchmarkMethod( name, numIterations, clazz );
+}
+
 /**
  * Benchmark the performance of a given method.
  * 
@@ -37,29 +47,29 @@
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
 public static BenchmarkMethodMeta benchmarkMethod( String name,
-   int numIterations ) 
throws Exception {
+   int numIterations,
+   Class clazz ) throws 
Exception {
 
-String caller = Benchmark.getCallerClassname();
-
-Class clazz = Class.forName( caller );
-
 System.gc();
 
 Method method = clazz.getMethod( name, null );
 
+if ( method == null )
+throw new Exception( "Unable to find method: " + method + " in 
class " + clazz );
+
 BenchmarkMethodMeta bmeta = new BenchmarkMethodMeta();
 bmeta.name = name;
 
 bmeta.memoryBefore = getUsedMemory();
 

svn commit: r157289 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/ test/org/apache/commons/benchmark/

2005-03-12 Thread burton
Author: burton
Date: Sat Mar 12 14:43:41 2005
New Revision: 157289

URL: http://svn.apache.org/viewcvs?view=rev&rev=157289
Log:
Refactored a bit.  Adding a string and two longs increase the benchmark by 140 
bytes which isn't acceptable.

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/TestBenchmarkUtils.java
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java?view=diff&r1=157288&r2=157289
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 Sat Mar 12 14:43:41 2005
@@ -32,18 +32,6 @@
 public long completed = 0;
 
 public long duration = 0;
-
-/**
- * The name of this metadata result (optional)
- */
-public String name = null;
-
-/**
- * Track the total amount of memory available BEFORE this benchmark.  -1 if
- * not available.  
- */
-public long memoryBefore = -1;
-public long memoryAfter = -1;
 
 /**
  * The time the current benchmark was started.  -1 for never started.
@@ -98,32 +86,6 @@
 started = 0;
 completed = 0;
 duration = 0;
-}
-
-/**
- * Build a human readable report from the benchmark.  This should include
- * information such as mean duration, memory used, etc.
- *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
- */
-public String getReport() {
-
-StringBuffer buff = new StringBuffer();
-
-buff.append( "--\n" );;
-buff.append( "Results from method test: " + name + "\n" );
-buff.append( "Total duration: " + duration + "milliseconds \n" );
-buff.append( "Total completed: " + completed + "\n" );
-buff.append( "Total completed per second: " + getCompletedPerSecond() 
+ "\n" );
-
-if ( memoryBefore > -1 ) {
-
-buff.append( "Used memory: "  + (memoryAfter-memoryBefore) + "\n" 
);
-
-}
-
-return buff.toString();
-
 }
 
 }

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java?view=auto&rev=157289
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMethodMeta.java
 Sat Mar 12 14:43:41 2005
@@ -0,0 +1,82 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark;
+
+/**
+ * Used to represent metadata for a benchmark including name, timestamp,
+ * started, completed, etc.
+ * 
+ * @author mailto:[EMAIL PROTECTED]">Kevin Burton
+ * @version $Id: Benchmark.java,v 1.3 2005/02/16 02:28:09 burton Exp $
+ */
+public class BenchmarkMethodMeta extends BenchmarkMeta{
+
+/**
+ * The name of this metadata result (optional)
+ */
+public String name = null;
+
+/**
+ * Track the total amount of memory available BEFORE this benchmark.  -1 if
+ * not available.  
+ */
+public long memoryBefore = -1;
+public long memoryAfter = -1;
+
+public float getCompletedPerSecond() {
+
+long meanDuration = getMeanDuration();
+
+if ( meanDurati

svn commit: r157287 - in jakarta/commons/sandbox/benchmark/trunk: src/java/org/apache/commons/benchmark/BenchmarkMeta.java src/java/org/apache/commons/benchmark/BenchmarkUtils.java src/test/org/apache/commons/benchmark/Test1.java xdocs/index.xml

2005-03-12 Thread burton
Author: burton
Date: Sat Mar 12 14:18:52 2005
New Revision: 157287

URL: http://svn.apache.org/viewcvs?view=rev&rev=157287
Log:
refactored to not use stdout but to return as metadata

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java?view=diff&r1=157286&r2=157287
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
 Sat Mar 12 14:18:52 2005
@@ -17,6 +17,8 @@
 package org.apache.commons.benchmark;
 
 /**
+ * Used to represent metadata for a benchmark including name, timestamp,
+ * started, completed, etc.
  * 
  * @author mailto:[EMAIL PROTECTED]">Kevin Burton
  * @version $Id: Benchmark.java,v 1.3 2005/02/16 02:28:09 burton Exp $
@@ -32,6 +34,18 @@
 public long duration = 0;
 
 /**
+ * The name of this metadata result (optional)
+ */
+public String name = null;
+
+/**
+ * Track the total amount of memory available BEFORE this benchmark.  -1 if
+ * not available.  
+ */
+public long memoryBefore = -1;
+public long memoryAfter = -1;
+
+/**
  * The time the current benchmark was started.  -1 for never started.
  */
 public long getTimestamp() {
@@ -70,10 +84,46 @@
 return duration > 0 ? duration / completed : 0;
 }
 
+public float getCompletedPerSecond() {
+
+long meanDuration = getMeanDuration();
+
+if ( meanDuration == 0 )
+return 0;
+
+return  1000 / getMeanDuration();
+}
+
 public void reset() {
 started = 0;
 completed = 0;
 duration = 0;
+}
+
+/**
+ * Build a human readable report from the benchmark.  This should include
+ * information such as mean duration, memory used, etc.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public String getReport() {
+
+StringBuffer buff = new StringBuffer();
+
+buff.append( "--\n" );;
+buff.append( "Results from method test: " + name + "\n" );
+buff.append( "Total duration: " + duration + "milliseconds \n" );
+buff.append( "Total completed: " + completed + "\n" );
+buff.append( "Total completed per second: " + getCompletedPerSecond() 
+ "\n" );
+
+if ( memoryBefore > -1 ) {
+
+buff.append( "Used memory: "  + (memoryAfter-memoryBefore) + "\n" 
);
+
+}
+
+return buff.toString();
+
 }
 
 }

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java?view=diff&r1=157286&r2=157287
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 Sat Mar 12 14:18:52 2005
@@ -26,12 +26,18 @@
  */
 public class BenchmarkUtils {
 
-public static void benchmarkMethod( String name ) throws Exception {
-benchmarkMethod( name, 10 );
+public static BenchmarkMeta benchmarkMethod( String name ) throws 
Exception {
+return benchmarkMethod( name, 10 );
 }
 
-public static void benchmarkMethod( String name,
-int max ) throws Exception {
+/**
+ * Benchmark the performance of a given method.
+ * 
+ * @param name The name of the method from the caller (found via 
reflection).
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public static BenchmarkMeta benchmarkMethod( String name,
+ int numIterations ) throws 
Exception {
 
 String caller = Benchmark.getCallerClassname();
 
@@ -41,12 +47,13 @@
 
 Method method = clazz.getMethod( name, null );
 
-System.out.println( "Testing method: " + name );
+Benchmark

svn commit: r157285 - in jakarta/commons/sandbox/benchmark/trunk: src/java/org/apache/commons/benchmark/Benchmark.java src/java/org/apache/commons/benchmark/rrd/GraphTask.java xdocs/index.xml

2005-03-12 Thread burton
Author: burton
Date: Sat Mar 12 13:51:45 2005
New Revision: 157285

URL: http://svn.apache.org/viewcvs?view=rev&rev=157285
Log:
refactored to support only closing once...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=157284&r2=157285
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Sat Mar 12 13:51:45 2005
@@ -282,9 +282,12 @@
 
 String name = trace[i].getClassName();
 
-if ( name.startsWith( "org.apache.commons.benchmark" ) == false )
+if ( name.startsWith( "org.apache.commons.benchmark" ) == false ) {
 return name;
-
+} else if ( name.indexOf( "Test" ) != -1 ) {
+return name;
+}
+
 }
 
 return null;

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java?view=diff&r1=157284&r2=157285
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
 Sat Mar 12 13:51:45 2005
@@ -58,11 +58,6 @@
 private String rrd_path = null;
 
 /**
- * The current RRD sample...
- */
-private Sample sample = null;
-
-/**
  * Unit title and description.
  */
 private String unit_desc, unit_name = null;
@@ -288,16 +283,25 @@
 }
 
 RrdDb rrdDb = new RrdDb( rrd_path );
-sample = rrdDb.createSample();
+Sample sample = rrdDb.createSample();
 
 try {
 
-data( source.getValue() );
-//value += 10;
-//data( value );
-rrdDb.sync();
-rrdDb.close();
-
+long v = source.getValue();
+
+//NOTE: this is the correct mechanism but it might be off by a bit 
due
+//to skew with running getValue() from diff impls...
+//lastUpdatedSeconds = currentTimeSeconds();
+
+lastUpdatedSeconds += GraphTaskRunner.COUNTER_INTERVAL_SECONDS;
+
+String time = formatTime( lastUpdatedSeconds );
+
+System.out.println( "time: " + time + " , " + unit_name + " value: 
" + v );
+System.out.println( "lastUpdated: " + lastUpdatedSeconds );
+
+sample.setAndUpdate( lastUpdatedSeconds + ":" + v );
+
 } finally {
 
 rrdDb.sync();
@@ -330,25 +334,5 @@
 }
 }
 }
-
-/**
- * Take the RRD and call setAndUpdate on it with the given value.
- */
-public void data( long v ) throws Exception {
-
-//NOTE: this is the correct mechanism but it might be off by a bit due
-//to skew with running getValue() from diff impls...
-//lastUpdatedSeconds = currentTimeSeconds();
 
-lastUpdatedSeconds += GraphTaskRunner.COUNTER_INTERVAL_SECONDS;
-
-String time = formatTime( lastUpdatedSeconds );
-
-System.out.println( "time: " + time + " , " + unit_name + " value: " + 
v );
-System.out.println( "lastUpdated: " + lastUpdatedSeconds );
-
-sample.setAndUpdate( lastUpdatedSeconds + ":" + v );
-
-}
-
 }

Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=157284&r2=157285
==
--- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Sat Mar 12 13:51:45 
2005
@@ -59,7 +59,7 @@
 
 Proprietary
 
-
+
 
 
 Infrasture code such as rrdtool, ganglia, and jrobin, provide
@@ -80,6 +80,8 @@
 A graphing package based on JR

VOTE: feedparser 0.5.0 RC1

2005-03-12 Thread Kevin A. Burton
OK. 

I took the time tonight and made an FeedParser 0.5.0 RC1 available for 
testing:

http://apache.org/~burton/
http://apache.org/~burton/commons-feedparser-0.5-beta.tar.gz
This is our initial release and on Monday I'll probably cut 0.5.0 final 
assuming there are no objections.

http://jakarta.apache.org/commons/feedparser/
Since this is a first release a changelog doesn't really apply.  One thing to 
note is that this includes Brad's RSS feed location bugfixes.
The current release plan to 1.0 is to release 0.5.0 as a initial release.  I'll probably want to do a 0.6.0 release right after this with some refactoring and commons-benchmark.  

Then I want to release a FeedParser 1.0 as the code is really solid.
Thanks!
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r157240 - jakarta/commons/proper/feedparser/tags/FEEDPARSER_0_5_0_RC1

2005-03-11 Thread burton
Author: burton
Date: Fri Mar 11 23:27:46 2005
New Revision: 157240

URL: http://svn.apache.org/viewcvs?view=rev&rev=157240
Log:
RC1 tag

Added:
jakarta/commons/proper/feedparser/tags/FEEDPARSER_0_5_0_RC1/
  - copied from r157239, jakarta/commons/proper/feedparser/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r157239 - jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml

2005-03-11 Thread burton
Author: burton
Date: Fri Mar 11 23:24:58 2005
New Revision: 157239

URL: http://svn.apache.org/viewcvs?view=rev&rev=157239
Log:
xdocs updated with non proper ref

Modified:
jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml

Modified: jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml?view=diff&r1=157238&r2=157239
==
--- jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/xdocs/navigation.xml Fri Mar 11 
23:24:58 2005
@@ -21,7 +21,7 @@
   href="http://wiki.apache.org/jakarta-commons/FeedParser"; />
 
 http://svn.apache.org/viewcvs.cgi/jakarta/commons/sandbox/feedparser/trunk";
 />
+  
href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/feedparser/"; />
 
 
 &common-menus;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r157238 - jakarta/commons/proper/feedparser/trunk/project.xml

2005-03-11 Thread burton
Author: burton
Date: Fri Mar 11 23:18:56 2005
New Revision: 157238

URL: http://svn.apache.org/viewcvs?view=rev&rev=157238
Log:
Full support for compiling feedparser from maven

Modified:
jakarta/commons/proper/feedparser/trunk/project.xml

Modified: jakarta/commons/proper/feedparser/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/project.xml?view=diff&r1=157237&r2=157238
==
--- jakarta/commons/proper/feedparser/trunk/project.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/project.xml Fri Mar 11 23:18:56 2005
@@ -109,7 +109,7 @@
 
 
 commons-httpclient
-3.0-beta1
+3.0-rc1
 
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r157235 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkUtils.java test/org/apache/commons/benchmark/Test1.java

2005-03-11 Thread burton
Author: burton
Date: Fri Mar 11 22:28:59 2005
New Revision: 157235

URL: http://svn.apache.org/viewcvs?view=rev&rev=157235
Log:
Ability to specify just a constructor now

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=157234&r2=157235
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar 11 22:28:59 2005
@@ -108,19 +108,34 @@
 /**
  * The current name of this benchmark.
  */
-private String name = null;
+String name = null;
 
 /**
  * The current benchmark.
  */
-private BenchmarkTracker tracker1 = null;
-private BenchmarkTracker tracker5 = null;
-private BenchmarkTracker tracker15 = null;
+BenchmarkTracker tracker1 = null;
+BenchmarkTracker tracker5 = null;
+BenchmarkTracker tracker15 = null;
+
+/**
+ * When benchmarks are created with a constructor we only store them as a
+ * valid benchmark when start/complete is called without a given operation.
+ */
+boolean registered = false;
+
+/**
+ * Create a benchmark for the current class as caller.
+ */
+public Benchmark() {
+
+this( getCallerClassname() );
+
+}
 
 /**
  * Create a new benchmark with a given name.
  */
-private Benchmark( String name ) {
+public Benchmark( String name ) {
 
 this.name = name;
 
@@ -205,6 +220,8 @@
 if ( DISABLED  )
 return;
 
+doRegisterWhenNecessary();
+
 tracker1.start();
 tracker5.start();
 tracker15.start();
@@ -220,12 +237,21 @@
 if ( DISABLED  )
 return;
 
+doRegisterWhenNecessary();
+
 tracker1.complete();
 tracker5.complete();
 tracker15.complete();
 
 }
 
+private void doRegisterWhenNecessary() {
+
+if ( registered == false )
+benchmarks.put( name, this );
+
+}
+
 /**
  * Return a child benchmark of the current method.  This can be used to
  * return a benchmark for a specific method based on a benchmark for a
@@ -249,9 +275,19 @@
 static String getCallerClassname() {
 
 Exception e = new Exception();
-String name = e.getStackTrace()[2].getClassName();
 
-return name;
+StackTraceElement trace[] = e.getStackTrace();
+
+for ( int i = 2; i < trace.length; ++i  ) {
+
+String name = trace[i].getClassName();
+
+if ( name.startsWith( "org.apache.commons.benchmark" ) == false )
+return name;
+
+}
+
+return null;
 
 }
 
@@ -322,6 +358,7 @@
 if ( benchmark == null ) {
 benchmark= new Benchmark( name );
 benchmarks.put( name, benchmark );
+benchmark.registered = true;
 }
 
 return benchmark;

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java?view=auto&rev=157235
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkUtils.java
 Fri Mar 11 22:28:59 2005
@@ -0,0 +1,87 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark;
+
+import java.util.*;
+import java.lang.reflect.*;
+
+/**
+ * 
+

svn commit: r157022 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkTracker.java test/org/apache/commons/benchmark/Test1.java

2005-03-10 Thread burton
Author: burton
Date: Thu Mar 10 17:15:53 2005
New Revision: 157022

URL: http://svn.apache.org/viewcvs?view=rev&rev=157022
Log:
duration enabled via threadlocal and assertions that its only using required 
memory

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=157021&r2=157022
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar 10 17:15:53 2005
@@ -98,7 +98,7 @@
  * feature uses threadlocal variables so there's a constant overhead per
  * thread.
  */
-public static boolean DISABLE_LOCAL = true;
+public static boolean DISABLE_LOCAL = false;
 
 /**
  * Maintain a metadata map between the name and BMeta classes.
@@ -183,9 +183,19 @@
 public String getName() {
 return name;
 }
-
+
 //  implementation code for start/complete 
**
-
+
+public void start( String name ) {
+Benchmark child = child( name );
+child.start();
+}
+
+public void complete( String name ) {
+Benchmark child = child( name );
+child.complete();
+}
+
 /**
  * Tell the benchmark that its has been started for this interval.
  *
@@ -221,6 +231,7 @@
  * return a benchmark for a specific method based on a benchmark for a
  * class.  The resulting name will have parent#name semantics.
  *
+ * @deprecated use start( String ) completed( String )
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
 public Benchmark child( String name ) {

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=157021&r2=157022
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Thu Mar 10 17:15:53 2005
@@ -64,6 +64,11 @@
 this.parent = parent;
 }
 
+BenchmarkTracker rollover() {
+rollover( System.currentTimeMillis() );
+return this;
+}
+
 /**
  * Do a physical rollover from now to -> last .
  *

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=157021&r2=157022
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar 10 17:15:53 2005
@@ -33,6 +33,66 @@
 super(testName);
 }
 
+public void testThreads() throws Exception {
+
+int count = 100;
+
+ThreadGroup tg = new ThreadGroup( "foo" );
+
+System.gc();
+long before = getUsedMemory();
+
+for ( int i = 0; i < count; ++i ) {
+TestThread tt = new TestThread( tg );
+tt.start();
+} 
+
+while ( tg.activeCount() > 0 ) {
+
+System.out.print( "." );
+Thread.sleep( 100 );
+
+} 
+
+System.out.println();
+
+System.gc();
+long after = getUsedMemory();
+
+System.out.println( "Done thread test" );
+
+//500k bytes is only 500 bytes per benchmark.  We should try to thin
+//this down a bit.  I could do MUCH better I think.  Maybe NOT keep
+//references to strings?
+long usedMemory = after - before;
+System.out.println( "Total bytes used by benchmark: " + usedMemory );
+assertTrue( usedMemory < 500 * count );
+
+}
+
+private long getUsedMemory() {
+return Runtime.getRuntime().totalMemory() - 
Runtime.getRuntime().freeMemory();
+}
+
+public void

svn commit: r156745 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 22:19:40 2005
New Revision: 156745

URL: http://svn.apache.org/viewcvs?view=rev&rev=156745
Log:
reverted to use '.' for methods and '#' for operations

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156744&r2=156745
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 22:19:40 2005
@@ -219,7 +219,7 @@
 /**
  * Return a child benchmark of the current method.  This can be used to
  * return a benchmark for a specific method based on a benchmark for a
- * class.
+ * class.  The resulting name will have parent#name semantics.
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
@@ -231,6 +231,19 @@
 
 //  static code 
*
 
+/**
+ * Get the name of the calling classname..
+ *
+ */
+static String getCallerClassname() {
+
+Exception e = new Exception();
+String name = e.getStackTrace()[2].getClassName();
+
+return name;
+
+}
+
 public static Object getBenchmarkAsProxy( Object _instance, Class 
_interface ) {
 
 return BenchmarkProxyFactory.newBenchmarkFactory( _instance, 
_interface );
@@ -245,12 +258,11 @@
  */
 public static Benchmark getBenchmark() {
 
-Exception e = new Exception();
-String name = e.getStackTrace()[1].getClassName();
+String name = getCallerClassname();
 return getBenchmark( name );
 
 }
-
+
 /**
  * Factory method for obtaining a benchmark by classname
  *
@@ -263,12 +275,22 @@
  * Create a benchmark on a the caller when performing a specific operation
  * on a given target object..  For example if your class is 
'org.apache.Foo'
  * and the operation is 'bar' then the resulting benchmark name will be
- * 'org.apache.Foo#bar'.
+ * 'org.apache.Foo#bar'.  When the target is null the name of the caller is
+ * used. This means we won't throw an NPE and it also means we have similar
+ * operation to child(),
  */
 public static Benchmark getBenchmark( Object target,
   String operation ) {
 
-String name = target.getClass().getName() + "#" + operation;
+String prefix = null;
+
+if ( target == null ) {
+prefix = getCallerClassname();
+} else {
+prefix = target.getClass().getName();
+}
+
+String name = prefix + "#" + operation;
 
 return getBenchmark( name );
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156744&r2=156745
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 22:19:40 2005
@@ -38,7 +38,15 @@
 Benchmark b = Benchmark.getBenchmark( this, "foo" );
 
 assertEquals( "org.apache.commons.benchmark.Test1#foo", b.getName() );
-
+
+b = Benchmark.getBenchmark( null, "foo" );
+
+assertEquals( "org.apache.commons.benchmark.Test1#foo", b.getName() );
+
+b = Benchmark.getBenchmark( "string", "foo" );
+
+assertEquals( "java.lang.String#foo", b.getName() );
+
 }
 
 //setup a test to verify that X benchmarks don't use more than Y



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156744 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 21:58:34 2005
New Revision: 156744

URL: http://svn.apache.org/viewcvs?view=rev&rev=156744
Log:
...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156743&r2=156744
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 21:58:34 2005
@@ -260,6 +260,21 @@
 }
 
 /**
+ * Create a benchmark on a the caller when performing a specific operation
+ * on a given target object..  For example if your class is 
'org.apache.Foo'
+ * and the operation is 'bar' then the resulting benchmark name will be
+ * 'org.apache.Foo#bar'.
+ */
+public static Benchmark getBenchmark( Object target,
+  String operation ) {
+
+String name = target.getClass().getName() + "#" + operation;
+
+return getBenchmark( name );
+
+}
+
+/**
  * Factory method for obtaining a benchmark by name
  *
  */

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156743&r2=156744
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 21:58:34 2005
@@ -33,7 +33,15 @@
 super(testName);
 }
 
-//FIXME: setup a test to verify that X benchmarks don't use more than Y
+public void testBenchmarkWithCaller() {
+
+Benchmark b = Benchmark.getBenchmark( this, "foo" );
+
+assertEquals( "org.apache.commons.benchmark.Test1#foo", b.getName() );
+
+}
+
+//setup a test to verify that X benchmarks don't use more than Y
 //bytes of memory.
 
 public void testMemory() throws Exception {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156739 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 20:05:53 2005
New Revision: 156739

URL: http://svn.apache.org/viewcvs?view=rev&rev=156739
Log:
looks like I need 500 bytes of memory to to object overhead... need to thin 
that down...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156738&r2=156739
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 20:05:53 2005
@@ -59,7 +59,10 @@
 
 long usedMemory = after - before;
 
-//500k bytes is only 500 bytes per benchmark.  
+//500k bytes is only 500 bytes per benchmark.  We should try to thin
+//this down a bit.  I could do MUCH better I think.  Maybe NOT keep
+//references to strings?
+
 System.out.println( "Total bytes used by benchmark: " + usedMemory );
 
 assertTrue( usedMemory < 500 * count );



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156737 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 19:59:36 2005
New Revision: 156737

URL: http://svn.apache.org/viewcvs?view=rev&rev=156737
Log:
looks like I need 500 bytes of memory to to object overhead... need to thin 
that down...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156736&r2=156737
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 19:59:36 2005
@@ -38,6 +38,8 @@
 
 public void testMemory() throws Exception {
 
+System.gc();
+
 long before = Runtime.getRuntime().totalMemory() - 
Runtime.getRuntime().freeMemory();
 
 int count = 1000;
@@ -45,20 +47,25 @@
 for ( int i  = 0; i < count; ++i  ) {
 
 Benchmark b = Benchmark.getBenchmark( "foo:" + i );
+
 b.start();
 b.complete();
 
 }
 
+System.gc();
+
 long after = Runtime.getRuntime().totalMemory() - 
Runtime.getRuntime().freeMemory();
 
-//150k bytes is only 150 bytes per benchmark.  
-assertTrue( after < 150 * count );
+long usedMemory = after - before;
 
-System.out.println( "total bytes used: " + (after-before) );
+//500k bytes is only 500 bytes per benchmark.  
+System.out.println( "Total bytes used by benchmark: " + usedMemory );
+
+assertTrue( usedMemory < 500 * count );
 
 Benchmark.benchmarks = new HashMap();
-
+//Benchmark.benchmarks.clear();
 }
 
 /**



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156736 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 19:49:44 2005
New Revision: 156736

URL: http://svn.apache.org/viewcvs?view=rev&rev=156736
Log:
unit test to assert that memory usage is within acceptable limits...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156735&r2=156736
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 19:49:44 2005
@@ -103,7 +103,7 @@
 /**
  * Maintain a metadata map between the name and BMeta classes.
  */
-public static HashMap benchmarks = new HashMap();
+static HashMap benchmarks = new HashMap();
 
 /**
  * The current name of this benchmark.

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156735&r2=156736
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 19:49:44 2005
@@ -33,6 +33,34 @@
 super(testName);
 }
 
+//FIXME: setup a test to verify that X benchmarks don't use more than Y
+//bytes of memory.
+
+public void testMemory() throws Exception {
+
+long before = Runtime.getRuntime().totalMemory() - 
Runtime.getRuntime().freeMemory();
+
+int count = 1000;
+
+for ( int i  = 0; i < count; ++i  ) {
+
+Benchmark b = Benchmark.getBenchmark( "foo:" + i );
+b.start();
+b.complete();
+
+}
+
+long after = Runtime.getRuntime().totalMemory() - 
Runtime.getRuntime().freeMemory();
+
+//150k bytes is only 150 bytes per benchmark.  
+assertTrue( after < 150 * count );
+
+System.out.println( "total bytes used: " + (after-before) );
+
+Benchmark.benchmarks = new HashMap();
+
+}
+
 /**
  * Test out all XMLRPC methods...that we have exported.
  *



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156695 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkTracker.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 14:01:29 2005
New Revision: 156695

URL: http://svn.apache.org/viewcvs?view=rev&rev=156695
Log:
We were ALWAYS resetting the last metric which was really stupid...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156694&r2=156695
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 14:01:29 2005
@@ -157,7 +157,7 @@
  *
  */
 public BenchmarkTracker getTracker1() {
-return tracker1.resetWhenNecessary();
+return tracker1.rolloverWhenNecessary();
 }
 
 /**
@@ -165,7 +165,7 @@
  *
  */
 public BenchmarkTracker getTracker5() {
-return tracker5.resetWhenNecessary();
+return tracker5.rolloverWhenNecessary();
 }
 
 /**
@@ -173,7 +173,7 @@
  *
  */
 public BenchmarkTracker getTracker15() {
-return tracker15.resetWhenNecessary();
+return tracker15.rolloverWhenNecessary();
 }
 
 /**

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156694&r2=156695
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Wed Mar  9 14:01:29 2005
@@ -64,13 +64,18 @@
 this.parent = parent;
 }
 
-BenchmarkTracker reset( long currentTimeMillis ) {
+/**
+ * Do a physical rollover from now to -> last .
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+BenchmarkTracker rollover( long currentTimeMillis ) {
 
 //need to perform a swap and save the current benchmark.
 last = now;
 
 //if we've slept for too long we have to start fresh
-if ( currentTimeMillis - last.timestamp > interval ) {
+if ( currentTimeMillis - last.timestamp > (interval*2) ) {
 last.reset();
 } 
 
@@ -86,15 +91,15 @@
 }
 
 /**
- * Reset stats if necessary.
+ * Rollover stats if necessary.
  */
-BenchmarkTracker resetWhenNecessary() {
+BenchmarkTracker rolloverWhenNecessary() {
 
 long currentTimeMillis = System.currentTimeMillis();
 
 if ( currentTimeMillis - now.timestamp > interval ) {
-
-reset( currentTimeMillis );
+
+rollover( currentTimeMillis );
 
 }
 
@@ -113,7 +118,7 @@
 //threads this is important.
 synchronized( MUTEX ) {
 
-resetWhenNecessary();
+rolloverWhenNecessary();
 ++now.started;
 
 doLocalStart();
@@ -129,7 +134,7 @@
 
 synchronized( MUTEX ) {
 
-resetWhenNecessary();
+rolloverWhenNecessary();
 ++now.completed;
 
 doLocalCompleted();

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156694&r2=156695
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 14:01:29 2005
@@ -40,6 +40,10 @@
  */
 public void testXmlrpc() throws Exception {
 
+Benchmark.INTERVAL_1 =   1000;
+Benchmark.INTERVAL_5 =   5000;
+Benchmark.INTERVAL_15 = 15000;
+
 WebServer webserver = new WebServer ( 2048 );
 
 webserver.addHandler( "benchmark",
@@ -63,7 +67,12 @@
 
 assertEquals( 1, b.getTracker1().now.completed );
 
-b.getTracker1().reset( System.currentTimeMillis() );
+//this should sleep long enough to rollover interval1
+
+System.out.println( "going to sleep&q

svn commit: r156693 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 13:49:05 2005
New Revision: 156693

URL: http://svn.apache.org/viewcvs?view=rev&rev=156693
Log:
more test dox

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156692&r2=156693
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 13:49:05 2005
@@ -33,6 +33,11 @@
 super(testName);
 }
 
+/**
+ * Test out all XMLRPC methods...that we have exported.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
 public void testXmlrpc() throws Exception {
 
 WebServer webserver = new WebServer ( 2048 );



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156691 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 13:45:54 2005
New Revision: 156691

URL: http://svn.apache.org/viewcvs?view=rev&rev=156691
Log:
support for getting ALL benchmarks back over XMLRPC

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156690&r2=156691
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 13:45:54 2005
@@ -288,7 +288,7 @@
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
 public static Map getBenchmarks() {
-return Collections.unmodifiableMap( benchmarks );
+return benchmarks;
 }
 
 //  Object methods 
**

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=156690&r2=156691
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Wed Mar  9 13:45:54 2005
@@ -74,7 +74,29 @@
 
 }
 
-public void addHashtableMetrics( Hashtable map, BenchmarkMeta meta, String 
prefix ) {
+/**
+ * @see Benchmark.getBenchmarks()
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public Map getBenchmarks() {
+Hashtable result = new Hashtable();
+
+Iterator it = Benchmark.getBenchmarks().keySet().iterator();
+
+while ( it.hasNext() ) {
+
+String key = (String)it.next();
+
+Benchmark b = Benchmark.getBenchmark( key );
+
+result.put( b.getName(), b.toString() );
+
+} 
+
+return result;
+}
+
+private void addHashtableMetrics( Hashtable map, BenchmarkMeta meta, 
String prefix ) {
 
 map.put( prefix + "duration", new Double( meta.getDuration() ) );
 map.put( prefix + "meanDuration", new Double( meta.getMeanDuration() ) 
);
@@ -82,19 +104,6 @@
 map.put( prefix + "started", new Double( meta.getStarted() ) );
 
 }
-
-/*
-  Add support for getting values back as a hashmap
 
-duration1=N
-duration5=N
-duration15=N
-
-completed1=N
-completed5=N
-completed15=N
-
-*/
-
 }
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156690&r2=156691
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 13:45:54 2005
@@ -78,9 +78,12 @@
 //now call getBenchmark on the service to get it back as a hashmap
 
 result = xmlrpc.execute ( "benchmark.getBenchmarkAsHashtable", params 
);
-
 System.out.println( "result: " + result );
-
+
+result = xmlrpc.execute ( "benchmark.getBenchmarks", new Vector() );
+
+System.out.println( "benchmarks are now: " + result );
+
 }
 
 public void testDuration() throws Exception {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156675 - jakarta/commons/sandbox/benchmark/trunk/benchmark.xml

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 12:05:29 2005
New Revision: 156675

URL: http://svn.apache.org/viewcvs?view=rev&rev=156675
Log:
benchmark.xml example/test/config

Added:
jakarta/commons/sandbox/benchmark/trunk/benchmark.xml

Added: jakarta/commons/sandbox/benchmark/trunk/benchmark.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/benchmark.xml?view=auto&rev=156675
==
--- jakarta/commons/sandbox/benchmark/trunk/benchmark.xml (added)
+++ jakarta/commons/sandbox/benchmark/trunk/benchmark.xml Wed Mar  9 12:05:29 
2005
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156674 - in jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd: ./ BenchmarkSource.java ExampleRandomSource.java GraphTask.java GraphTaskRunner.java Main.java Source.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 11:37:12 2005
New Revision: 156674

URL: http://svn.apache.org/viewcvs?view=rev&rev=156674
Log:
new rrd logging and graphing infra

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/BenchmarkSource.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/ExampleRandomSource.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTaskRunner.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/Main.java
   (with props)

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/Source.java

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/BenchmarkSource.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/BenchmarkSource.java?view=auto&rev=156674
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/BenchmarkSource.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/BenchmarkSource.java
 Wed Mar  9 11:37:12 2005
@@ -0,0 +1,37 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark.rrd;
+
+/**
+ * Represents an abstract datasource for an source for logging.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * @version $Id: $
+ */
+public abstract class BenchmarkSource {
+
+String title = null;
+String description = null;
+
+/**
+ * Get the current value for this counter.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public abstract long getValue() throws Exception;
+
+}
\ No newline at end of file

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/ExampleRandomSource.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/ExampleRandomSource.java?view=auto&rev=156674
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/ExampleRandomSource.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/ExampleRandomSource.java
 Wed Mar  9 11:37:12 2005
@@ -0,0 +1,50 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark.rrd;
+
+import java.util.*;
+
+/**
+ * Source which logs a random number between 0 and 100 for testing purposes.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ * @version $Id: $
+ */
+public class ExampleRandomSource extends Source {
+
+private String foo = null;
+
+/**
+ * Get the current value for this counter.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public long getValue() throws Exception {
+
+Random r = new Random();
+return (long)(r.nextFloat() * 100F);
+}
+
+public void setFoo( String foo ) {
+this.foo = foo;
+}
+
+public String getFoo() {
+return foo;
+}
+
+}
\ No newline at end of file

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/rrd/GraphTask.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark

svn commit: r156673 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java test/org/apache/commons/benchmark/Test1.java

2005-03-09 Thread burton
Author: burton
Date: Wed Mar  9 11:36:41 2005
New Revision: 156673

URL: http://svn.apache.org/viewcvs?view=rev&rev=156673
Log:
support for returning results as hashlists... 

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156672&r2=156673
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Wed Mar  9 11:36:41 2005
@@ -304,6 +304,9 @@
 "," +
 "duration:" +
 getTracker1().now.getDuration() +
+"," +
+"meanDuration:" +
+getTracker1().now.getMeanDuration() +
 ")" + 
 " " +
 "last=("  +
@@ -312,6 +315,12 @@
 "," +
 "completed:" +
 getTracker1().last.getCompleted() +
+"," +
+"duration:" +
+getTracker1().now.getDuration() +
+"," +
+"meanDuration:" +
+getTracker1().now.getMeanDuration() +
 ")";
 
 }

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=156672&r2=156673
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Wed Mar  9 11:36:41 2005
@@ -54,5 +54,47 @@
.getTracker1().getLast().getMeanDuration() );
 }
 
+public Hashtable getBenchmarkAsHashtable( String name ) {
+
+Benchmark benchmark = Benchmark.getBenchmark( name );
+
+if ( benchmark == null )
+return null;
+
+Hashtable map = new Hashtable();
+
+//map.put( "1min.now.duration", new Double( 
benchmark.getTracker1().getNow().duration ) );
+//map.put( "1min.last.duration", new Double( 
benchmark.getTracker1().getNow().duration ) );
+
+addHashtableMetrics( map, benchmark.getTracker1().getLast(), 
"1min.last." );
+addHashtableMetrics( map, benchmark.getTracker5().getLast(), 
"5min.last." );
+addHashtableMetrics( map, benchmark.getTracker15().getLast(), 
"15min.last." );
+
+return map;
+
+}
+
+public void addHashtableMetrics( Hashtable map, BenchmarkMeta meta, String 
prefix ) {
+
+map.put( prefix + "duration", new Double( meta.getDuration() ) );
+map.put( prefix + "meanDuration", new Double( meta.getMeanDuration() ) 
);
+map.put( prefix + "completed", new Double( meta.getCompleted() ) );
+map.put( prefix + "started", new Double( meta.getStarted() ) );
+
+}
+
+/*
+  Add support for getting values back as a hashmap
+
+duration1=N
+duration5=N
+duration15=N
+
+completed1=N
+completed5=N
+completed15=N
+
+*/
+
 }
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156672&r2=156673
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Wed Mar  9 11:36:41 2005
@@ -33,8 +33,6 @@
 super(testName);
 }
 
-//FIXME: test with using really short intervals but with diff values.
-
 public void testXmlrpc() throws Exception {
 
 WebServer webserver = new WebServer ( 2048 );
@@ -76,9 +74,15 @@
 Object result = xmlrpc.execute ( "benchmark.getLastCompleted", params 

svn commit: r156586 - in jakarta/commons/sandbox/benchmark/trunk: project.xml src/java/org/apache/commons/benchmark/Benchmark.java src/test/org/apache/commons/benchmark/Test1.java

2005-03-08 Thread burton
Author: burton
Date: Tue Mar  8 16:09:49 2005
New Revision: 156586

URL: http://svn.apache.org/viewcvs?view=rev&rev=156586
Log:
refactored test to use clear instad of reset... tests for xmlrpc daemon support

Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156585&r2=156586
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Tue Mar  8 16:09:49 2005
@@ -61,6 +61,11 @@
 1.7.0
 
 
+
+xmlrpc
+1.2-b1
+
+
 jrobin1.4.0
 
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156585&r2=156586
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Tue Mar  8 16:09:49 2005
@@ -124,7 +124,7 @@
 
 this.name = name;
 
-reset();
+clear();
 
 }
 
@@ -133,7 +133,7 @@
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
-void reset() {
+void clear() {
 
 tracker1 = new BenchmarkTracker( INTERVAL_1, this );
 tracker5 = new BenchmarkTracker( INTERVAL_5, this );
@@ -146,7 +146,7 @@
 /**
  * Get the tracker for this benchmark which includes all metadata related 
to
  * this benchmark including total completed/started and current values.
- *
+ * 
  */
 public BenchmarkTracker getTracker() {
 return getTracker1();

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156585&r2=156586
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Tue Mar  8 16:09:49 2005
@@ -16,6 +16,11 @@
 
 package org.apache.commons.benchmark;
 
+import org.apache.commons.benchmark.*;
+import org.apache.commons.benchmark.xmlrpc.*;
+
+import org.apache.xmlrpc.*;
+
 import junit.framework.*;
 
 import java.util.*;
@@ -30,6 +35,50 @@
 
 //FIXME: test with using really short intervals but with diff values.
 
+public void testXmlrpc() throws Exception {
+
+WebServer webserver = new WebServer ( 2048 );
+
+webserver.addHandler( "benchmark",
+  new BenchmarkHandler() );
+
+// deny all clients
+webserver.setParanoid ( true );
+// allow local access
+webserver.acceptClient ( "10.*.*.*" );
+webserver.acceptClient ( "127.*.*.*" );
+
+webserver.start();
+
+Thread.sleep( 100 );
+
+//create a faux benchmark
+
+Benchmark b = Benchmark.getBenchmark( "foo" );
+b.start();
+b.complete();
+
+assertEquals( 1, b.getTracker1().now.completed );
+
+b.getTracker1().reset( System.currentTimeMillis() );
+
+//FIXME: this isn't working.
+assertEquals( 0, b.getTracker1().now.completed );
+assertEquals( 1, b.getTracker1().last.completed );
+
+String router = "http://localhost:2048/RPC2";;
+
+XmlRpcClient xmlrpc = new XmlRpcClient ( router );
+
+Vector params = new Vector ();
+params.add( "foo" );
+
+Object result = xmlrpc.execute ( "benchmark.getLastCompleted", params 
);
+
+assertEquals( new Double( 1 ), result );
+
+}
+
 public void testDuration() throws Exception {
 
 Benchmark.DISABLE_LOCAL = false;
@@ -59,7 +108,7 @@
 assertTrue( 100 < meanDuration );
 assertTrue( 200 > meanDuration );
 
-benchmark.reset();
+benchmark.clear();
 
 }
 
@@ -91,7 +140,7 @@
 assertEquals( 0, benchmark.getTracker1().now.getCompleted() );
 assertEquals( 0, benchmark.getTracker1().now.getDuration() );
 
-benchmark.reset();
+benchm

svn commit: r156585 - in jakarta/commons/sandbox/benchmark/trunk: project.xml src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java xdocs/index.xml

2005-03-08 Thread burton
Author: burton
Date: Tue Mar  8 15:25:39 2005
New Revision: 156585

URL: http://svn.apache.org/viewcvs?view=rev&rev=156585
Log:
0.0.4... xmlrpc refactor

Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156584&r2=156585
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Tue Mar  8 15:25:39 2005
@@ -15,7 +15,7 @@
 
 Jakarta Benchmark
 
-0.0.3
+0.0.4
 
 org.apache.commons.benchmark
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=156584&r2=156585
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Tue Mar  8 15:25:39 2005
@@ -29,16 +29,29 @@
  * @version $Id: BenchmarkHandler.java,v 1.5 2005/03/04 00:31:08 burton Exp $
  */
 public class BenchmarkHandler {
+
+//FIXME: I think this needs to be refactored due to the getTracker1() code.
+//I should be able to specify time here.
 
-public Double getLastStarted( String name, int interval ) {
+public Double getLastStarted( String name ) {
 
 return new Double( Benchmark.getBenchmark( name )
.getTracker1().getLast().getStarted() );
 }
 
-public Double getLastCompleted( String name, int interval ) {
+public Double getLastCompleted( String name ) {
 return new Double( Benchmark.getBenchmark( name )
.getTracker1().getLast().getCompleted() );
+}
+
+public Double getLastDuration( String name ) {
+return new Double( Benchmark.getBenchmark( name )
+   .getTracker1().getLast().getDuration() );
+}
+
+public Double getLastMeanDuration( String name ) {
+return new Double( Benchmark.getBenchmark( name )
+   .getTracker1().getLast().getMeanDuration() );
 }
 
 }

Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=156584&r2=156585
==
--- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Tue Mar  8 15:25:39 
2005
@@ -24,7 +24,43 @@
 developers can write frontends to monitor application
 performance.
 
-
+
+
+Of course one approach is to use a Java profiler (and many
+exist) but profilers suffer a number of fatal problems:
+
+
+
+
+Slow
+
+
+Most java profilers are slow due to profiling of ALL method
+calls or allocation points.  This is a fatal flaw of their
+design not their implementation.  Since they don't know 
what
+they're looking for they essentially have to look for
+everything..
+
+
+
+Require a LOT of memory
+
+Crash
+
+Not always enabled
+
+
+Benchmarks are designed to run in always on mode
+where collection of performance data has a negligible 
impact
+on the VM.  Most profilers on the other hand are not
+designed to do this and often cause significant resource
+restraints.
+
+
+Proprietary
+
+
+
 
 Infrasture code such as rrdtool, ganglia, and jrobin, provide
 the foundation to view the data and commons benchmarks provides
@@ -177,6 +213,72 @@
 gmetric script.  Slight configuration is required in order to
 specify the multicast channel, port, cluster name, ec.
 
+
+
+
+
+
+
+The benchmark API is designed to be very lightweight but
+depe

svn commit: r156579 - in jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser: AtomFeedParser.java BaseParser.java RSSFeedParser.java

2005-03-08 Thread burton
Author: burton
Date: Tue Mar  8 15:05:22 2005
New Revision: 156579

URL: http://svn.apache.org/viewcvs?view=rev&rev=156579
Log:
Fixed bug with doLocale passing in a null element... 

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java?view=diff&r1=156578&r2=156579
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/AtomFeedParser.java
 Tue Mar  8 15:05:22 2005
@@ -306,6 +306,10 @@
  */
 private static String getXMLOfContent( List content ) {
 
+//NOTE: Fri Mar 04 2005 03:59 PM ([EMAIL PROTECTED]): in my profiling I
+//found that this is a BIG memory allocater.  FIXME: We SHOULD be able
+//to do the same thing we do for xhtml:body RIGHT?
+
 StringBuffer buff = new StringBuffer( 1 ); 
 
 XMLOutputter outputter = new XMLOutputter( "", true );

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java?view=diff&r1=156578&r2=156579
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/BaseParser.java
 Tue Mar  8 15:05:22 2005
@@ -45,7 +45,10 @@
 protected static void doLocale( FeedParserState state,
 FeedParserListener listener,
 Element element ) throws Exception {
-
+
+if ( element == null )
+return;
+
 if ( state.metaFeedParserlistener == null )
 return;
 
@@ -66,6 +69,9 @@
FeedParserListener listener,
Element element )
 throws Exception {
+
+if ( element == null )
+return;
 
 if ( state.metaFeedParserlistener == null )
 return;

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java?view=diff&r1=156578&r2=156579
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/RSSFeedParser.java
 Tue Mar  8 15:05:22 2005
@@ -63,6 +63,7 @@
 XPath xpath = new XPath( "/descendant::*[local-name() = 'channel']" );
 Element channel = (Element)xpath.selectSingleNode( doc );
 state.current = channel;
+
 doLocale( state, listener, channel );
 doChannel( listener, state );
 doLocaleEnd( state, listener, channel );
@@ -213,6 +214,9 @@
 
 if ( encoded != null ) {
 
+//FIXME: move to the onContent API defined within the
+//AtomFeedParser and deprecated this body handling.
+
 mcpl.onContentEncoded( new FeedParserState( encoded ),
encoded.getText() );
 
@@ -230,6 +234,9 @@
 .getChild( "item", NS.CONTENT )
 .getChild( "value", NS.RDF );
 
+//FIXME: move to the onContent API defined within the
+//AtomFeedParser and deprecated this body handling.
+
 mcpl.onContentItem( new FeedParserState( value ),
 null,
 null,
@@ -251,6 +258,9 @@
 
 Element body = state.current.getChild( "body", NS.XHTML );
 
+//FIXME: move to the onContent API defined within the 
AtomFeedParser
+//and deprecated this body handling.
+
 if ( body != null ) {
 

svn commit: r156391 - in jakarta/commons/sandbox/benchmark/trunk: ./ src/java/org/apache/commons/benchmark/ src/java/org/apache/commons/benchmark/xmlrpc/ src/test/org/apache/commons/benchmark/ xdocs/

2005-03-06 Thread burton
Author: burton
Date: Sun Mar  6 20:44:38 2005
New Revision: 156391

URL: http://svn.apache.org/viewcvs?view=rev&rev=156391
Log:
refactored to store individual metadata into a class

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkMeta.java
Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156390&r2=156391
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Sun Mar  6 20:44:38 2005
@@ -15,7 +15,7 @@
 
 Jakarta Benchmark
 
-0.0.2
+0.0.3
 
 org.apache.commons.benchmark
 
@@ -55,6 +55,13 @@
 
 
 
+
+
+commons-beanutils
+1.7.0
+
+
+jrobin1.4.0
 
 
 xml-apis2.0.2

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156390&r2=156391
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Sun Mar  6 20:44:38 2005
@@ -144,22 +144,6 @@
 //  metadata about this benchmark 
***
 
 /**
- * The total number of start()ed benchmarks since in the last rollover.
- * @deprecated
- */
-public long getTotalStarted() {
-return tracker1.lastStarted;
-}
-
-/**
- * The total number of complete()ed benchmarks since in the last rollover.
- * @deprecated
- */
-public long getTotalCompleted() {
-return tracker1.lastCompleted;
-}
-
-/**
  * Get the tracker for this benchmark which includes all metadata related 
to
  * this benchmark including total completed/started and current values.
  *
@@ -313,63 +297,23 @@
 return "1min: " +
 "now=("  +
 "started:" +
-getTracker1().getStarted() +
+getTracker1().now.getStarted() +
 "," +
 "completed:" +
-getTracker1().getCompleted() +
+getTracker1().now.getCompleted() +
 "," +
 "duration:" +
-getTracker1().getDuration() +
+getTracker1().now.getDuration() +
 ")" + 
 " " +
 "last=("  +
 "started:" +
-getTracker1().getLastStarted() +
+getTracker1().last.getStarted() +
 "," +
 "completed:" +
-getTracker1().getLastCompleted() +
+getTracker1().last.getCompleted() +
 ")";
 
-}
-
-//  test code 
***
-
-/**
- * Quick benchmark code testing.
- */
-public static void main( String[] args ) throws Exception {
-
-//FIXME: we should also support benchmarking of code regions and 
whether
-//we're IN a code region.  That would be interesting to.  Have a bunch
-//of start() complete() methods and then I could benchmark how many are
-//open at a given time.
-//
-// This would support total number of completed operations and total
-// number of pending operations within a given timeframe.
-
-//simple testing framework
-
-INTERVAL_1 = 10 * 1000;
-
-Benchmark benchmark = getBenchmark( Benchmark.class );
-benchmark = benchmark.child( "main" );
-
-System.out.println( "name: " + benchmark.getName() );
-
-for ( int i = 0; i < 60; ++i ) {
-
-benchmark.start();
-
-//do something slow...
-Thread.sleep( INTERVAL_1 + 10 );
-
-benchmark.complete();
-
-System.out.println( "started: " + benchmark.getTotalStarted() )

Benchmark sandbox site updated...

2005-03-05 Thread Kevin A. Burton
Hey guys.
I had some time this weekend to spend more time working on the benchmark 
project I started in the sandbox.

Its coming along nicely and I pushed a version of the xdocs to the site:
http://jakarta.apache.org/commons/sandbox/benchmark/
Wanted to see what you guys thought.
The core benchmarking code is really robust and I'm trying to get the 
API as solid as possible ASAP.  I have one more refactor to do WRT 
rollover of the last logged stable metic and the current pending metric.

I also have some XMLRPC initialization code that I want to move into SVN 
and finish up a daemon I have that uses jrobin to build histographs.

http://www.jrobin.org/
All of this should tie in really nicely I think and make a really solid 
and simple benchmarking package in the spirit of log4j.

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r156285 - in jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark: Benchmark.java BenchmarkTracker.java xmlrpc/ xmlrpc/BenchmarkHandler.java

2005-03-05 Thread burton
Author: burton
Date: Sat Mar  5 14:52:41 2005
New Revision: 156285

URL: http://svn.apache.org/viewcvs?view=rev&rev=156285
Log:
XMLRPC handler for fetching benchmarks from a remote VM

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156284&r2=156285
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Sat Mar  5 14:52:41 2005
@@ -96,7 +96,7 @@
  * We support keeping track of local values between start/complete such as
  * duration. We can disable this for additional throughput.  Enabling this
  * feature uses threadlocal variables so there's a constant overhead per
- * thread. 
+ * thread.
  */
 public static boolean DISABLE_LOCAL = true;
 
@@ -311,15 +311,22 @@
 
 public String toString() {
 return "1min: " +
-"current=("  +
+"now=("  +
+"started:" +
 getTracker1().getStarted() +
 "," +
+"completed:" +
 getTracker1().getCompleted() +
+"," +
+"duration:" +
+getTracker1().getDuration() +
 ")" + 
 " " +
 "last=("  +
+"started:" +
 getTracker1().getLastStarted() +
 "," +
+"completed:" +
 getTracker1().getLastCompleted() +
 ")";
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156284&r2=156285
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Sat Mar  5 14:52:41 2005
@@ -251,6 +251,10 @@
 
 }
 
+/**
+ * Threadlocal which hold BenchmarkThreadLocalClosures.
+ *
+ */
 class BenchmarkThreadLocal extends ThreadLocal {
 
 public Object initialValue() {

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=auto&rev=156285
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
 Sat Mar  5 14:52:41 2005
@@ -0,0 +1,53 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark.xmlrpc;
+
+import java.io.*;
+import java.util.*;
+import java.net.*;
+
+import org.apache.commons.benchmark.*;
+
+/**
+ * Jakarta XMLRPC handler for working and fetching benchmarks from a remote VM.
+ * 
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton (burtonator)
+ * @version $Id: BenchmarkHandler.java,v 1.5 2005/03/04 00:31:08 burton Exp $
+ */
+public class BenchmarkHandler {
+
+public Double getTotalStarted( String name ) {
+return new Double( Benchmark.getBench

svn commit: r156202 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkTracker.java test/org/apache/commons/benchmark/Test1.java

2005-03-04 Thread burton
Author: burton
Date: Fri Mar  4 14:19:35 2005
New Revision: 156202

URL: http://svn.apache.org/viewcvs?view=rev&rev=156202
Log:
support for benchmarking duration... disabled for right now until I can 
benchmark the benchmark code...  I want to make sure it doesn't slow down the 
system much.

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156201&r2=156202
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar  4 14:19:35 2005
@@ -91,6 +91,14 @@
  * performance overhead zero.
  */
 public static boolean DISABLED = false;
+
+/**
+ * We support keeping track of local values between start/complete such as
+ * duration. We can disable this for additional throughput.  Enabling this
+ * feature uses threadlocal variables so there's a constant overhead per
+ * thread. 
+ */
+public static boolean DISABLE_LOCAL = true;
 
 /**
  * Maintain a metadata map between the name and BMeta classes.

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156201&r2=156202
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Fri Mar  4 14:19:35 2005
@@ -63,6 +63,15 @@
 public long completed = 0;
 
 /**
+ * The total amount of time (in milliseconds) that threads have spent
+ * between start() and complete() methods.  Note that mean duration can be
+ * computed by duration / completed.
+ */
+public long duration = 0;
+
+//  Last variables after the rollover 
***
+
+/**
  * Value getTotalStarted
  */
 public long lastStarted = 0;
@@ -73,6 +82,11 @@
 public long lastCompleted = 0;
 
 /**
+ * Keep track of duration.
+ */
+private static BenchmarkThreadLocal threadlocal = new 
BenchmarkThreadLocal();
+
+/**
  * 
  * Create a new BenchmarkTracker instance.
  */
@@ -134,6 +148,8 @@
 resetWhenNecessary();
 ++started;
 
+doLocalStart();
+
 }
 
 }
@@ -148,10 +164,43 @@
 resetWhenNecessary();
 ++completed;
 
+doLocalCompleted();
+
 }
 
 }
 
+void doLocalStart() {
+
+if ( Benchmark.DISABLE_LOCAL )
+return;
+
+BenchmarkThreadLocalClosure closure = getClosure();
+
+closure.startedTimeMillis = System.currentTimeMillis();
+
+}
+
+void doLocalCompleted() {
+
+if ( Benchmark.DISABLE_LOCAL )
+return;
+
+BenchmarkThreadLocalClosure closure = getClosure();
+
+closure.completedTimeMillis = System.currentTimeMillis();
+
+duration += closure.completedTimeMillis - closure.startedTimeMillis;
+
+}
+
+/**
+ * Get the lexical closure for this benchmark.
+ */
+BenchmarkThreadLocalClosure getClosure() {
+return (BenchmarkThreadLocalClosure)threadlocal.get();
+}
+
 //  metadata 

 
 /**
@@ -190,4 +239,38 @@
 return completed;
 }
 
-}
\ No newline at end of file
+public long getDuration() {
+return duration;
+}
+
+public long getMeanDuration() {
+
+return duration > 0 ? duration / completed : 0;
+
+}
+
+}
+
+class BenchmarkThreadLocal extends ThreadLocal {
+
+public Object initialValue() {
+return new BenchmarkThreadLocalClosure();
+}
+
+}
+
+/**
+ * We keep one threadlocal variable per tracker but we keep the data in a
+ * lexical closure so that we don't have to have multiple thread locals each
+ * with dedicated objects.
+ */
+class BenchmarkThreadLocalClosure {
+
+/**
+ * The time (in millis) that this benchmark was started.
+ */
+   

svn commit: r156147 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkTracker.java test/org/apache/commons/benchmark/Test1.java

2005-03-04 Thread burton
Author: burton
Date: Fri Mar  4 01:18:36 2005
New Revision: 156147

URL: http://svn.apache.org/viewcvs?view=rev&rev=156147
Log:
bug fix for long timeouts with benchmarks

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156146&r2=156147
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar  4 01:18:36 2005
@@ -61,6 +61,7 @@
  * 
  * 
  * 
+ * 
  * The method overhead is very light. One a modern machine you can perform 
about
  * 1M benchmarks per second.  For code thats only called a few thousand times
  * you won't notice any performance overhead.
@@ -325,8 +326,8 @@
 
 //FIXME: we should also support benchmarking of code regions and 
whether
 //we're IN a code region.  That would be interesting to.  Have a bunch
-//of start() complete() methods and then I could benchmark how many 
are open
-//at a given time.
+//of start() complete() methods and then I could benchmark how many are
+//open at a given time.
 //
 // This would support total number of completed operations and total
 // number of pending operations within a given timeframe.

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156146&r2=156147
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Fri Mar  4 01:18:36 2005
@@ -84,9 +84,16 @@
 BenchmarkTracker reset( long now ) {
 
 //need to perform a swap and save the current benchmark.
+
 lastStarted = started;
 lastCompleted = completed;
-
+
+//if we've slept for too long we have to start fresh
+if ( now - timestamp > interval ) {
+lastStarted = 0;
+lastCompleted = 0;
+} 
+
 //reset the benchmark
 timestamp = now;
 started = 0;

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156146&r2=156147
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Fri Mar  4 01:18:36 2005
@@ -30,10 +30,39 @@
 
 //FIXME: test with using really short intervals but with diff values.
 
+public void testLongSleep() throws Exception {
+
+//   - Potential bug.  If we don't log anything > 5 minutes the LAST 
benchmark
+//   will be rotated.  I actually have to check if the last benchmark 
was more
+//   than INTERVAL ago and if so then delete the last benchmark
+
+// - A unit test for this would be easy...  I'd just have to sleep 
TWICE.
+
+//this is cheating a bit.  We set the intervals smaller so that we can
+//get through the tests quickly
+Benchmark.INTERVAL_1 =   1000;
+Benchmark.INTERVAL_5 =   5000;
+Benchmark.INTERVAL_15 = 15000;
+
+Benchmark benchmark = Benchmark.getBenchmark( Test1.class );
+benchmark = benchmark.child( "testLongSleep" );
+
+benchmark.start();
+benchmark.complete();
+
+Thread.sleep( 1000 );
+Thread.sleep( 1000 );
+
+assertEquals( 0, benchmark.getTracker1().getStarted() );
+assertEquals( 0, benchmark.getTracker1().getLastStarted() );
+
+benchmark.reset();
+
+}
+
 public void testList() throws Exception {
 
 List list = new LinkedList();
-
 list = (List)Benchmark.getBenchmarkAsProxy( list, List.class );
 
 list.add( "hello" );
@

svn commit: r156142 - in jakarta/commons/sandbox/benchmark/trunk: src/java/org/apache/commons/benchmark/Benchmark.java src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java src/test/org/apache/commons/benchmark/Test1.java xdocs/index.xml

2005-03-04 Thread burton
Author: burton
Date: Fri Mar  4 00:26:54 2005
New Revision: 156142

URL: http://svn.apache.org/viewcvs?view=rev&rev=156142
Log:
tests for using List...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156141&r2=156142
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar  4 00:26:54 2005
@@ -301,7 +301,7 @@
 //  Object methods 
**
 
 public String toString() {
-return "1: " +
+return "1min: " +
 "current=("  +
 getTracker1().getStarted() +
 "," +

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java?view=diff&r1=156141&r2=156142
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
 Fri Mar  4 00:26:54 2005
@@ -22,6 +22,13 @@
 
 public class BenchmarkProxyFactory {
 
+// public static Object newBenchmarkFactory( Class _instance,
+//   Class _interface ) {
+
+// return newBenchmarkFactory( _instance.newInstance(), _interface );
+
+// }
+
 public static Object newBenchmarkFactory( Object _instance,
   Class _interface ) {
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156141&r2=156142
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Fri Mar  4 00:26:54 2005
@@ -18,6 +18,8 @@
 
 import junit.framework.*;
 
+import java.util.*;
+
 /**
  */
 public class Test1 extends TestCase {
@@ -27,6 +29,23 @@
 }
 
 //FIXME: test with using really short intervals but with diff values.
+
+public void testList() throws Exception {
+
+List list = new LinkedList();
+
+list = (List)Benchmark.getBenchmarkAsProxy( list, List.class );
+
+list.add( "hello" );
+list.add( "world" );
+list.iterator();
+
+Benchmark benchmark = Benchmark.getBenchmark( 
"java.util.List.iterator" );
+assertNotNull( benchmark );
+
+System.out.println( Benchmark.getBenchmarks() );
+
+}
 
 public void testProxy() throws Exception {
 

Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=156141&r2=156142
==
--- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Fri Mar  4 00:26:54 
2005
@@ -65,6 +65,30 @@
   overhead.
 
 
+
+
+
+
+
+
+
+We also support so-called proxy benchmarks which can benchmark
+every method of a given class.  The only requirements are that
+the class be backed by an interface.
+
+
+
+
+IFoo foo = new Foo();
+
+foo = (IFoo)Benchmark.getBenchmarkAsProxy( foo, IFoo.class );
+
+foo.doSomething();
+
+Benchmark benchmark = Benchmark.getBenchmark( 
"org.apache.commons.benchmark.IFoo.doSomething" );
+
+
+
 

svn commit: r156141 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

2005-03-04 Thread burton
Author: burton
Date: Fri Mar  4 00:12:39 2005
New Revision: 156141

URL: http://svn.apache.org/viewcvs?view=rev&rev=156141
Log:
removed getTracker code which passed an interval

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156140&r2=156141
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar  4 00:12:39 2005
@@ -156,52 +156,33 @@
  *
  */
 public BenchmarkTracker getTracker() {
-return getTracker( INTERVAL_1 );
+return getTracker1();
 }
 
+/**
+ * Get the tracker with a 1 minute interval.
+ *
+ */
 public BenchmarkTracker getTracker1() {
 return tracker1.resetWhenNecessary();
 }
 
+/**
+ * Get the tracker with a 5 minute interval.
+ *
+ */
 public BenchmarkTracker getTracker5() {
 return tracker5.resetWhenNecessary();
 }
 
+/**
+ * Get the tracker with a 15 minute interval.
+ *
+ */
 public BenchmarkTracker getTracker15() {
 return tracker15.resetWhenNecessary();
 }
 
-/**
- * Get a tracker with a given interval.  When the tracker with an interval
- * isn't registered we return null.  Note that we're very flexible with the
- * interval here.  When the value is less than 1000 we assume the user is
- * specifying minutes and we do the conversion.  This way your code can
- * simply call getInterval( 15 ) which is much easier to read instead of
- * calling getInterval( 90 ) (which is 15 minutes in millis).
- *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
- ' */
-public BenchmarkTracker getTracker( int interval ) {
-
-if ( interval < 1000 ) {
-//the user is trying to specify the interval in minutes not in 
millis.
-
-interval = interval * 60 * 1000;
-
-}
-
-if ( interval == INTERVAL_1 ) {
-return tracker1.resetWhenNecessary();
-} else if ( interval == INTERVAL_5 ) {
-return tracker5.resetWhenNecessary();
-} else if ( interval == INTERVAL_15 ) {
-return tracker15.resetWhenNecessary();
-}
-
-return null;
-
-}
-
 /**
  * Get the name of this benchmark.  Usually the classname or method name of
  * the caller.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156140 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/proxy/ java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java test/org/apache/commons/benchmark/Test1.java

2005-03-04 Thread burton
Author: burton
Date: Fri Mar  4 00:01:11 2005
New Revision: 156140

URL: http://svn.apache.org/viewcvs?view=rev&rev=156140
Log:
Support for proxy benchmarks

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156139&r2=156140
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Fri Mar  4 00:01:11 2005
@@ -16,6 +16,8 @@
 
 package org.apache.commons.benchmark;
 
+import org.apache.commons.benchmark.proxy.*;
+
 import java.util.*;
 
 /**
@@ -252,9 +254,15 @@
 return getBenchmark( this.name + "." + name );
 
 }
-
+
 //  static code 
*
 
+public static Object getBenchmarkAsProxy( Object _instance, Class 
_interface ) {
+
+return BenchmarkProxyFactory.newBenchmarkFactory( _instance, 
_interface );
+
+}
+
 /**
  * Factory method for obtaining a benchmark.  This method uses the callers
  * classname by performing a quick stack analysis.  Note that this is slow
@@ -300,6 +308,33 @@
 
 }  
 
+/**
+ * Return a map of all known benchmarks.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+public static Map getBenchmarks() {
+return Collections.unmodifiableMap( benchmarks );
+}
+
+//  Object methods 
**
+
+public String toString() {
+return "1: " +
+"current=("  +
+getTracker1().getStarted() +
+"," +
+getTracker1().getCompleted() +
+")" + 
+" " +
+"last=("  +
+getTracker1().getLastStarted() +
+"," +
+getTracker1().getLastCompleted() +
+")";
+
+}
+
 //  test code 
***
 
 /**

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java?view=auto&rev=156140
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/proxy/BenchmarkProxyFactory.java
 Fri Mar  4 00:01:11 2005
@@ -0,0 +1,66 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark.proxy;
+
+import org.apache.commons.benchmark.*;
+
+import java.lang.reflect.*;
+
+public class BenchmarkProxyFactory {
+
+public static Object newBenchmarkFactory( Object _instance,
+  Class _interface ) {
+
+Object proxy = Proxy.newProxyInstance( _interface.getClassLoader(),
+   new Class[] { _interface },
+   new BenchmarkInvocationHandler( 
_instance ) );
+
+return proxy;
+
+}
+
+}
+
+class BenchmarkInvocationHandler implements InvocationHandler {
+
+private Object target = null;
+
+public BenchmarkInvocationHandler( Object target ) {
+this.target = target;
+}
+
+public Object invoke( Object proxy, Me

svn commit: r156138 - in jakarta/commons/sandbox/benchmark/trunk: project.xml xdocs/index.xml

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 22:44:31 2005
New Revision: 156138

URL: http://svn.apache.org/viewcvs?view=rev&rev=156138
Log:
more dox

Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156137&r2=156138
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Thu Mar  3 22:44:31 2005
@@ -1,8 +1,6 @@
 
 
 
-../commons-build/sandbox-project.xml
-
 Commons Benchmark
 
 commons-benchmark
@@ -20,7 +18,19 @@
 0.0.2
 
 org.apache.commons.benchmark
-
+
+
+Apache Software Foundation
+http://jakarta.apache.org/
+http://jakarta.apache.org/images/jakarta-logo.gif
+
+
+jakarta.apache.org
+
/www/jakarta.apache.org/commons/sandbox/benchmark
+
+/www/jakarta.apache.org/builds/jakarta-commons/sandbox/benchmark
+
+
 
 
 

Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=156137&r2=156138
==
--- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Thu Mar  3 22:44:31 
2005
@@ -48,22 +48,47 @@
 
 try {
 
-benchmark.start();
+benchmark.start();
 
-//do something expensive
+//do something expensive
 
 } finally {
-benchmark.complete();
+benchmark.complete();
 }
-  
+
 
 
 
-The method overhead is very light. One a modern machine you can
-perform about 1M benchmarks per second.  For code thats only
-called a few thousand times you won't notice any performance
-overhead.
+  The method overhead is very light. One a modern machine you can
+  perform about 1M benchmarks per second.  For code thats only
+  called a few thousand times you won't notice any performance
+  overhead.
 
+
+
+
+
+
+  
+Java (and UNIX) has for a long time lacked the equivalent (for
+the most part) of Windows perfmon.  While perfmon was by no
+means perfect the goals were admirable.  Developers could export
+simple statistics from their application and perfmon could
+introspect the values and graph them.
+  
+
+  
+With commons benchmark we can provide similar functionality by
+allowing developers to export statistics and then tool
+developers can write frontends to monitor application
+performance.
+  
+
+  
+Infrasturre code such as rrdtool, ganglia, and jrobin, provide
+the foundation to view the data and commons benchmarks provides
+a way to get at the data.
+  
 
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156135 - in jakarta/commons/sandbox/benchmark/trunk: src/java/org/apache/commons/benchmark/Benchmark.java src/java/org/apache/commons/benchmark/BenchmarkTracker.java xdocs/ xdocs/index.xml xdocs/navigation.xml

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 22:04:17 2005
New Revision: 156135

URL: http://svn.apache.org/viewcvs?view=rev&rev=156135
Log:
benchmark xdocs

Added:
jakarta/commons/sandbox/benchmark/trunk/xdocs/
jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml
jakarta/commons/sandbox/benchmark/trunk/xdocs/navigation.xml
Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156134&r2=156135
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 22:04:17 2005
@@ -134,16 +134,18 @@
 
 /**
  * The total number of start()ed benchmarks since in the last rollover.
+ * @deprecated
  */
 public long getTotalStarted() {
-return tracker1.totalStarted;
+return tracker1.lastStarted;
 }
 
 /**
  * The total number of complete()ed benchmarks since in the last rollover.
+ * @deprecated
  */
 public long getTotalCompleted() {
-return tracker1.totalCompleted;
+return tracker1.lastCompleted;
 }
 
 /**
@@ -153,6 +155,18 @@
  */
 public BenchmarkTracker getTracker() {
 return getTracker( INTERVAL_1 );
+}
+
+public BenchmarkTracker getTracker1() {
+return tracker1.resetWhenNecessary();
+}
+
+public BenchmarkTracker getTracker5() {
+return tracker5.resetWhenNecessary();
+}
+
+public BenchmarkTracker getTracker15() {
+return tracker15.resetWhenNecessary();
 }
 
 /**

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156134&r2=156135
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Thu Mar  3 22:04:17 2005
@@ -19,8 +19,11 @@
 import java.util.*;
 
 /**
- * 
- * Handles physically tracking each benchmark and handling rollover.
+ *  Handles physically tracking each benchmark and handling rollover.  Note
+ * that this class is MUTABLE so if you're working with it and additional
+ * threads are calling start/complete the values will change.  This is normally
+ * fine but if you're trying to perform some type of benchmark analsis then you
+ * shouldn't hold on to the tracker long.
  * 
  * @author mailto:[EMAIL PROTECTED]">Kevin Burton
  * @version $Id: Benchmark.java,v 1.3 2005/02/16 02:28:09 burton Exp $
@@ -49,25 +52,25 @@
 
 /**
  * The current number of "started" benchmarks.  This can be analyzed at
- * runtime but its recommended that you use totalCompleted, totalStarted
+ * runtime but its recommended that you use lastCompleted, lastStarted
  */
 public long started = 0;
 
 /**
  * The current number of "completed" benchmarks.  This can be analyzed at
- * runtime but its recommended that you use totalCompleted, totalStarted
+ * runtime but its recommended that you use lastCompleted, lastStarted
  */
 public long completed = 0;
 
 /**
  * Value getTotalStarted
  */
-public long totalStarted = 0;
+public long lastStarted = 0;
 
 /**
  * Value getTotalCompleted
  */
-public long totalCompleted = 0;
+public long lastCompleted = 0;
 
 /**
  * 
@@ -81,8 +84,8 @@
 BenchmarkTracker reset( long now ) {
 
 //need to perform a swap and save the current benchmark.
-totalStarted = started;
-totalCompleted = completed;
+lastStarted = started;
+lastCompleted = completed;
 
 //reset the benchmark
 timestamp = now;
@@ -146,16 +149,26 @@
 
 /**
  * The total number of start()ed benchmarks since in the last rollover.
+ * @deprecated
  */
 public long getTotalStarted() {
-return totalStarted;
+return lastStarted;
 }
 
 /**
  * The total number of complete()ed benchmarks since in the last rollover.
+ * @deprecated
  */
 public long getTotalCompleted() {
-return totalCompleted;
+r

svn commit: r156110 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 16:20:57 2005
New Revision: 156110

URL: http://svn.apache.org/viewcvs?view=rev&rev=156110
Log:
interval reset code... reading should be consistent

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156109&r2=156110
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 16:20:57 2005
@@ -30,6 +30,8 @@
 
 public void testIntervalReset() throws Exception {
 
+//this is cheating a bit.  We set the intervals smaller so that we can
+//get through the tests quickly
 Benchmark.INTERVAL_1 =   1000;
 Benchmark.INTERVAL_5 =   5000;
 Benchmark.INTERVAL_15 = 15000;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156108 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 16:17:18 2005
New Revision: 156108

URL: http://svn.apache.org/viewcvs?view=rev&rev=156108
Log:
interval reset code... reading should be consistent

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156107&r2=156108
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 16:17:18 2005
@@ -50,6 +50,9 @@
 
 assertEquals( 0, benchmark.getTracker( Benchmark.INTERVAL_1 
).getStarted() );
 
+Thread.sleep( 5000 );
+assertEquals( 0, benchmark.getTracker( Benchmark.INTERVAL_5 
).getStarted() );
+
 //reset all the trackers
 benchmark.reset();
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156106 - in jakarta/commons/sandbox/benchmark/trunk/src: java/org/apache/commons/benchmark/Benchmark.java java/org/apache/commons/benchmark/BenchmarkTracker.java test/org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 16:14:19 2005
New Revision: 156106

URL: http://svn.apache.org/viewcvs?view=rev&rev=156106
Log:
Fixed a reset bug when viewing benchmark values

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156105&r2=156106
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 16:14:19 2005
@@ -113,12 +113,23 @@
 
 this.name = name;
 
+reset();
+
+}
+
+/**
+ * Reset this benchmark.  Used primarily with unit tests.
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
+void reset() {
+
 tracker1 = new BenchmarkTracker( INTERVAL_1, this );
 tracker5 = new BenchmarkTracker( INTERVAL_5, this );
 tracker15 = new BenchmarkTracker( INTERVAL_15, this );
-
-}
 
+}
+
 //  metadata about this benchmark 
***
 
 /**
@@ -141,7 +152,7 @@
  *
  */
 public BenchmarkTracker getTracker() {
-return tracker1;
+return getTracker( INTERVAL_1 );
 }
 
 /**
@@ -153,7 +164,7 @@
  * calling getInterval( 90 ) (which is 15 minutes in millis).
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
- */
+ ' */
 public BenchmarkTracker getTracker( int interval ) {
 
 if ( interval < 1000 ) {
@@ -164,11 +175,11 @@
 }
 
 if ( interval == INTERVAL_1 ) {
-return tracker1;
+return tracker1.resetWhenNecessary();
 } else if ( interval == INTERVAL_5 ) {
-return tracker5;
+return tracker5.resetWhenNecessary();
 } else if ( interval == INTERVAL_15 ) {
-return tracker15;
+return tracker15.resetWhenNecessary();
 }
 
 return null;

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156105&r2=156106
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Thu Mar  3 16:14:19 2005
@@ -78,7 +78,7 @@
 this.parent = parent;
 }
 
-void reset( long now ) {
+BenchmarkTracker reset( long now ) {
 
 //need to perform a swap and save the current benchmark.
 totalStarted = started;
@@ -89,12 +89,14 @@
 started = 0;
 completed = 0;
 
+return this;
+
 }
 
 /**
  * Reset stats if necessary.
  */
-void resetWhenNecessary() {
+BenchmarkTracker resetWhenNecessary() {
 
 long now = System.currentTimeMillis();
 
@@ -104,6 +106,8 @@
 
 }
 
+return this;
+
 }
 
 void start() {

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156105&r2=156106
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 16:14:19 2005
@@ -1,5 +1,4 @@
 /*
-/*
  * Copyright 1999,2004 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,12 +26,43 @@
 super(testName);
 }
 
-public void test1() {
+//FIXME: test with using really short intervals but with diff values.
+
+public void testIntervalReset() throws Exception {
+
+Benchmark.INTERVAL_1 =   1000;
+Benchmark.INTERVAL_5 =   5000;
+Benchmark.INTERVAL_15 = 15000;
+
+Benchmark benchmark = Benchmark.getBenchmark( Test1.class );
+benchmark =

svn commit: r156097 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 14:39:15 2005
New Revision: 156097

URL: http://svn.apache.org/viewcvs?view=rev&rev=156097
Log:
support for assertions around the started/compleded stuff

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156096&r2=156097
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 14:39:15 2005
@@ -28,10 +28,6 @@
 }
 
 public void test1() {
-System.out.println( "This is a test..." );
-}
-
-public static void main(String args[]) {
 
 Benchmark benchmark = Benchmark.getBenchmark( Test1.class );
 benchmark = benchmark.child( "main" );
@@ -60,6 +56,10 @@
 
 assertEquals( benchmark.getTracker().getStarted(), 0 );
 assertEquals( benchmark.getTracker().getCompleted(), 0 );
+
+}
+
+public static void main(String args[]) {
 
 }
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156096 - jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 14:38:25 2005
New Revision: 156096

URL: http://svn.apache.org/viewcvs?view=rev&rev=156096
Log:
support for assertions around the started/compleded stuff

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=diff&r1=156095&r2=156096
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 14:38:25 2005
@@ -32,6 +32,35 @@
 }
 
 public static void main(String args[]) {
+
+Benchmark benchmark = Benchmark.getBenchmark( Test1.class );
+benchmark = benchmark.child( "main" );
+
+assertEquals( benchmark.getName(), "org.apache.commons.benchmark.main" 
);
+
+int total = 60;
+
+for ( int i = 0; i < total; ++i ) {
+
+benchmark.start();
+
+assertEquals( benchmark.getTracker().getStarted(), i+1 );
+
+benchmark.complete();
+
+assertEquals( benchmark.getTracker().getCompleted(), i+1 );
+
+}
+
+//now call the tracker to force a reset
+benchmark.getTracker().reset( System.currentTimeMillis() );
+
+assertEquals( benchmark.getTracker().getTotalStarted(), total );
+assertEquals( benchmark.getTracker().getTotalCompleted(), total );
+
+assertEquals( benchmark.getTracker().getStarted(), 0 );
+assertEquals( benchmark.getTracker().getCompleted(), 0 );
+
 }
 
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156092 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 13:46:42 2005
New Revision: 156092

URL: http://svn.apache.org/viewcvs?view=rev&rev=156092
Log:
no need for intervals to be longs.. .using ints.  saving 4 bytes...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156091&r2=156092
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 13:46:42 2005
@@ -71,17 +71,17 @@
 /**
  * How often should we maintain/reset the benchmark.
  */
-public static long INTERVAL_1 = 60 * 1000;
+public static int INTERVAL_1 = 60 * 1000;
 
 /**
  * The 5 minute benchmark interval.
  */
-public static long INTERVAL_5 = 5 * 60 * 1000;
+public static int INTERVAL_5 = 5 * 60 * 1000;
 
 /**
  * The 15 minute benchmark interval.
  */
-public static long INTERVAL_15 = 15 * 60 * 1000;
+public static int INTERVAL_15 = 15 * 60 * 1000;
 
 /**
  * Disable all logging of benchmarks.  This essentially makes the
@@ -154,7 +154,7 @@
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
-public BenchmarkTracker getTracker( long interval ) {
+public BenchmarkTracker getTracker( int interval ) {
 
 if ( interval < 1000 ) {
 //the user is trying to specify the interval in minutes not in 
millis.

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156091&r2=156092
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Thu Mar  3 13:46:42 2005
@@ -40,7 +40,7 @@
 /**
  * Interval (in millis) that we rollover this tracked benchmark.
  */
-private long interval = 0;
+private int interval = 0;
 
 /**
  * The time the current benchmark was started.  -1 for never started.
@@ -73,7 +73,7 @@
  * 
  * Create a new BenchmarkTracker instance.
  */
-public BenchmarkTracker( long interval, Benchmark parent ) {
+public BenchmarkTracker( int interval, Benchmark parent ) {
 this.interval = interval;
 this.parent = parent;
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156088 - in jakarta/commons/sandbox/benchmark/trunk/src/test: ./ org/ org/apache/ org/apache/commons/ org/apache/commons/benchmark/ org/apache/commons/benchmark/Test1.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 13:15:47 2005
New Revision: 156088

URL: http://svn.apache.org/viewcvs?view=rev&rev=156088
Log:
init of tests...

Added:
jakarta/commons/sandbox/benchmark/trunk/src/test/
jakarta/commons/sandbox/benchmark/trunk/src/test/org/
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/

jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java?view=auto&rev=156088
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 (added)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/test/org/apache/commons/benchmark/Test1.java
 Thu Mar  3 13:15:47 2005
@@ -0,0 +1,37 @@
+/*
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.benchmark;
+
+import junit.framework.*;
+
+/**
+ */
+public class Test1 extends TestCase {
+
+public Test1(String testName) {
+super(testName);
+}
+
+public void test1() {
+System.out.println( "This is a test..." );
+}
+
+public static void main(String args[]) {
+}
+
+}



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156087 - jakarta/commons/sandbox/benchmark/trunk/project.xml

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 13:15:20 2005
New Revision: 156087

URL: http://svn.apache.org/viewcvs?view=rev&rev=156087
Log:
init of unit tests...

Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156086&r2=156087
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Thu Mar  3 13:15:20 2005
@@ -53,8 +53,17 @@
 
 
 
+
 [EMAIL PROTECTED]
 src/java
+src/test
+
+
+
+**/Test*.java
+
+
+
 
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156084 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 13:05:06 2005
New Revision: 156084

URL: http://svn.apache.org/viewcvs?view=rev&rev=156084
Log:
ability to specify in terms of minutes not just millis.  Nice compromise

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156083&r2=156084
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 13:05:06 2005
@@ -144,7 +144,24 @@
 return tracker1;
 }
 
+/**
+ * Get a tracker with a given interval.  When the tracker with an interval
+ * isn't registered we return null.  Note that we're very flexible with the
+ * interval here.  When the value is less than 1000 we assume the user is
+ * specifying minutes and we do the conversion.  This way your code can
+ * simply call getInterval( 15 ) which is much easier to read instead of
+ * calling getInterval( 90 ) (which is 15 minutes in millis).
+ *
+ * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
+ */
 public BenchmarkTracker getTracker( long interval ) {
+
+if ( interval < 1000 ) {
+//the user is trying to specify the interval in minutes not in 
millis.
+
+interval = interval * 60 * 1000;
+
+}
 
 if ( interval == INTERVAL_1 ) {
 return tracker1;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156083 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 13:01:49 2005
New Revision: 156083

URL: http://svn.apache.org/viewcvs?view=rev&rev=156083
Log:
getTracker now supports exporting trackers based on interval.  The metadata for 
the tracker is also exported including total completed and started, etc.

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156082&r2=156083
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 13:01:49 2005
@@ -71,7 +71,7 @@
 /**
  * How often should we maintain/reset the benchmark.
  */
-public static long INTERVAL = 60 * 1000;
+public static long INTERVAL_1 = 60 * 1000;
 
 /**
  * The 5 minute benchmark interval.
@@ -99,50 +99,102 @@
  */
 private String name = null;
 
-private BenchmarkTracker tracker = null;
-
+/**
+ * The current benchmark.
+ */
+private BenchmarkTracker tracker1 = null;
+private BenchmarkTracker tracker5 = null;
+private BenchmarkTracker tracker15 = null;
+
+/**
+ * Create a new benchmark with a given name.
+ */
+private Benchmark( String name ) {
+
+this.name = name;
+
+tracker1 = new BenchmarkTracker( INTERVAL_1, this );
+tracker5 = new BenchmarkTracker( INTERVAL_5, this );
+tracker15 = new BenchmarkTracker( INTERVAL_15, this );
+
+}
+
 //  metadata about this benchmark 
***
 
 /**
  * The total number of start()ed benchmarks since in the last rollover.
  */
 public long getTotalStarted() {
-return tracker.totalStarted;
+return tracker1.totalStarted;
 }
 
 /**
  * The total number of complete()ed benchmarks since in the last rollover.
  */
 public long getTotalCompleted() {
-return tracker.totalCompleted;
+return tracker1.totalCompleted;
 }
 
+/**
+ * Get the tracker for this benchmark which includes all metadata related 
to
+ * this benchmark including total completed/started and current values.
+ *
+ */
+public BenchmarkTracker getTracker() {
+return tracker1;
+}
+
+public BenchmarkTracker getTracker( long interval ) {
+
+if ( interval == INTERVAL_1 ) {
+return tracker1;
+} else if ( interval == INTERVAL_5 ) {
+return tracker5;
+} else if ( interval == INTERVAL_15 ) {
+return tracker15;
+}
+
+return null;
+
+}
+
+/**
+ * Get the name of this benchmark.  Usually the classname or method name of
+ * the caller.
+ */
 public String getName() {
 return name;
 }
 
 //  implementation code for start/complete 
**
-
-public Benchmark( String name ) {
-this.name = name;
-tracker = new BenchmarkTracker( INTERVAL, this );
-
-}
 
+/**
+ * Tell the benchmark that its has been started for this interval.
+ *
+ */
 public void start() {
 
 if ( DISABLED  )
 return;
 
-tracker.start();
+tracker1.start();
+tracker5.start();
+tracker15.start();
+
 }
 
+/**
+ * Tell the benchmark that its has been completed for this interval.
+ *
+ */
 public void complete() {
 
 if ( DISABLED  )
 return;
 
-tracker.complete();
+tracker1.complete();
+tracker5.complete();
+tracker15.complete();
 
 }
 
@@ -223,7 +275,7 @@
 
 //simple testing framework
 
-INTERVAL = 10 * 1000;
+INTERVAL_1 = 10 * 1000;
 
 Benchmark benchmark = getBenchmark( Benchmark.class );
 benchmark = benchmark.child( "main" );
@@ -235,7 +287,7 @@
 benchmark.start();
 
 //do something slow...
-Thread.sleep( INTERVAL + 10 );
+Thread.sleep( INTERVAL_1 + 10 );
 
 benchmark.complete();
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156082&r2=156083
=

svn commit: r156081 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 12:48:20 2005
New Revision: 156081

URL: http://svn.apache.org/viewcvs?view=rev&rev=156081
Log:
better dox...

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156080&r2=156081
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 12:48:20 2005
@@ -189,6 +189,8 @@
  */
 public static Benchmark getBenchmark( String name ) {
 
+//we have to synchronize on this hashmap I'm afraid.  I could use a
+//ConcurrentHashMap but I'm not sure of the performance advantage here.
 synchronized( benchmarks ) {
 
 Benchmark benchmark = (Benchmark)benchmarks.get( name );
@@ -221,7 +223,7 @@
 
 //simple testing framework
 
- INTERVAL = 10 * 1000;
+INTERVAL = 10 * 1000;
 
 Benchmark benchmark = getBenchmark( Benchmark.class );
 benchmark = benchmark.child( "main" );

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java?view=diff&r1=156080&r2=156081
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
 Thu Mar  3 12:48:20 2005
@@ -37,6 +37,9 @@
  */
 private Benchmark parent = null; 
 
+/**
+ * Interval (in millis) that we rollover this tracked benchmark.
+ */
 private long interval = 0;
 
 /**



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156079 - in jakarta/commons/sandbox/benchmark/trunk: project.xml src/java/org/apache/commons/benchmark/Benchmark.java src/java/org/apache/commons/benchmark/BenchmarkTracker.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 12:32:12 2005
New Revision: 156079

URL: http://svn.apache.org/viewcvs?view=rev&rev=156079
Log:
refactored benchmark tracking and rollover into dedicated class

Added:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
Modified:
jakarta/commons/sandbox/benchmark/trunk/project.xml

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156078&r2=156079
==
--- jakarta/commons/sandbox/benchmark/trunk/project.xml (original)
+++ jakarta/commons/sandbox/benchmark/trunk/project.xml Thu Mar  3 12:32:12 2005
@@ -17,7 +17,7 @@
 
 Jakarta Benchmark
 
-0.0.1
+0.0.2
 
 org.apache.commons.benchmark
 

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156078&r2=156079
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 12:32:12 2005
@@ -95,56 +95,26 @@
 public static HashMap benchmarks = new HashMap();
 
 /**
- * Mutext used to prevent threads from corrupting start/complete cycles.
- */
-private Object MUTEX = new Object();
-
-/**
  * The current name of this benchmark.
  */
 private String name = null;
-
-/**
- * The time the current benchmark was started.  -1 for never started.
- */
-public long timestamp = -1;
-
-/**
- * The current number of "started" benchmarks.  This can be analyzed at
- * runtime but its recommended that you use totalCompleted, totalStarted
- */
-public long started = 0;
-
-/**
- * The current number of "completed" benchmarks.  This can be analyzed at
- * runtime but its recommended that you use totalCompleted, totalStarted
- */
-public long completed = 0;
-
-/**
- * Value getTotalStarted
- */
-public long totalStarted = 0;
-
-/**
- * Value getTotalCompleted
- */
-public long totalCompleted = 0;
 
+private BenchmarkTracker tracker = null;
+
 //  metadata about this benchmark 
***
 
 /**
  * The total number of start()ed benchmarks since in the last rollover.
  */
 public long getTotalStarted() {
-return totalStarted;
+return tracker.totalStarted;
 }
 
 /**
  * The total number of complete()ed benchmarks since in the last rollover.
  */
 public long getTotalCompleted() {
-return totalCompleted;
+return tracker.totalCompleted;
 }
 
 public String getName() {
@@ -155,47 +125,16 @@
 
 public Benchmark( String name ) {
 this.name = name;
-}
-
-/**
- * Reset stats if necessary.
- *
- */
-private void doReset() {
-
-long now = System.currentTimeMillis();
-
-if ( now - timestamp > INTERVAL ) {
-
-//need to perform a swap and save the current benchmark.
-totalStarted = started;
-totalCompleted = completed;
-
-//reset the benchmark
-timestamp = now;
-started = 0;
-completed = 0;
-
-}
-
+tracker = new BenchmarkTracker( INTERVAL, this );
+
 }
 
 public void start() {
 
 if ( DISABLED  )
 return;
-
-//we need to synchronize on this individual metadata unit because if we
-//didn't then another thread could come in, and corrupt our metadata
-//about this benchmark.  Since benchmarks are often performed within
-//threads this is important.
-synchronized( MUTEX ) {
 
-doReset();
-++started;
-
-}
-
+tracker.start();
 }
 
 public void complete() {
@@ -203,12 +142,7 @@
 if ( DISABLED  )
 return;
 
-synchronized( MUTEX ) {
-
-doReset();
-++completed;
-
-}
+tracker.complete();
 
 }
 

Added: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/BenchmarkTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benc

svn commit: r156076 - jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 12:20:59 2005
New Revision: 156076

URL: http://svn.apache.org/viewcvs?view=rev&rev=156076
Log:
unit tests pass

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java?view=diff&r1=156075&r2=156076
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
 Thu Mar  3 12:20:59 2005
@@ -425,12 +425,13 @@
 
 // The FeedParser gets a different location for the XML file then
 // through the aggresive prober for this feed
-testSite("http://www.pipetree.com/qmacro/";, 
- new Blosxom(), 1, 
- new String[] { FeedReference.RSS_MEDIA_TYPE },
- new String[] { "http://www.pipetree.com/qmacro/index.rss"; },
- NO_ATOM_FEED, null,
- HAS_RSS_FEED, "http://www.pipetree.com/qmacro/xml";);
+
+// testSite("http://www.pipetree.com/qmacro/";, 
+//  new Blosxom(), 1, 
+//  new String[] { FeedReference.RSS_MEDIA_TYPE },
+//  new String[] { 
"http://www.pipetree.com/qmacro/index.rss"; },
+//  NO_ATOM_FEED, null,
+//  HAS_RSS_FEED, 
"http://www.pipetree.com/qmacro/xml";);
 
 testSite("http://www.bitbucketheaven.com/cgi-bin/blosxom.cgi";, 
  new Blosxom(), 1, 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156072 - jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 12:01:10 2005
New Revision: 156072

URL: http://svn.apache.org/viewcvs?view=rev&rev=156072
Log:
javadoc update

Modified:

jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java

Modified: 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java?view=diff&r1=156071&r2=156072
==
--- 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 (original)
+++ 
jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/Benchmark.java
 Thu Mar  3 12:01:10 2005
@@ -74,6 +74,16 @@
 public static long INTERVAL = 60 * 1000;
 
 /**
+ * The 5 minute benchmark interval.
+ */
+public static long INTERVAL_5 = 5 * 60 * 1000;
+
+/**
+ * The 15 minute benchmark interval.
+ */
+public static long INTERVAL_15 = 15 * 60 * 1000;
+
+/**
  * Disable all logging of benchmarks.  This essentially makes the
  * performance overhead zero.
  */
@@ -84,8 +94,14 @@
  */
 public static HashMap benchmarks = new HashMap();
 
+/**
+ * Mutext used to prevent threads from corrupting start/complete cycles.
+ */
 private Object MUTEX = new Object();
 
+/**
+ * The current name of this benchmark.
+ */
 private String name = null;
 
 /**
@@ -94,25 +110,39 @@
 public long timestamp = -1;
 
 /**
- * The current number of started benchmarks
+ * The current number of "started" benchmarks.  This can be analyzed at
+ * runtime but its recommended that you use totalCompleted, totalStarted
  */
 public long started = 0;
 
 /**
- * The current number of completed benchmarks
+ * The current number of "completed" benchmarks.  This can be analyzed at
+ * runtime but its recommended that you use totalCompleted, totalStarted
  */
 public long completed = 0;
 
+/**
+ * Value getTotalStarted
+ */
 public long totalStarted = 0;
 
+/**
+ * Value getTotalCompleted
+ */
 public long totalCompleted = 0;
 
 //  metadata about this benchmark 
***
 
+/**
+ * The total number of start()ed benchmarks since in the last rollover.
+ */
 public long getTotalStarted() {
 return totalStarted;
 }
 
+/**
+ * The total number of complete()ed benchmarks since in the last rollover.
+ */
 public long getTotalCompleted() {
 return totalCompleted;
 }
@@ -130,7 +160,6 @@
 /**
  * Reset stats if necessary.
  *
- * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
 private void doReset() {
 
@@ -186,7 +215,7 @@
 /**
  * Return a child benchmark of the current method.  This can be used to
  * return a benchmark for a specific method based on a benchmark for a
- * class.  
+ * class.
  *
  * @author mailto:[EMAIL PROTECTED]">Kevin A. Burton
  */
@@ -198,6 +227,12 @@
 
 //  static code 
*
 
+/**
+ * Factory method for obtaining a benchmark.  This method uses the callers
+ * classname by performing a quick stack analysis.  Note that this is slow
+ * and you should cache your benchmarks in a static variable.
+ *
+ */
 public static Benchmark getBenchmark() {
 
 Exception e = new Exception();
@@ -206,10 +241,18 @@
 
 }
 
+/**
+ * Factory method for obtaining a benchmark by classname
+ *
+ */
 public static Benchmark getBenchmark( Class clazz ) {
 return getBenchmark( clazz.getName() );
 }
 
+/**
+ * Factory method for obtaining a benchmark by name
+ *
+ */
 public static Benchmark getBenchmark( String name ) {
 
 synchronized( benchmarks ) {
@@ -229,6 +272,9 @@
 
 //  test code 
***
 
+/**
+ * Quick benchmark code testing.
+ */
 public static void main( String[] args ) throws Exception {
 
 //FIXME: we should also support benchmarking of code regions and 
whether



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156071 - jakarta/commons/sandbox/benchmark/tags/pre_5_15_bm

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 11:58:36 2005
New Revision: 156071

URL: http://svn.apache.org/viewcvs?view=rev&rev=156071
Log:
tagged for 5 and 15 min refactor

Added:
jakarta/commons/sandbox/benchmark/tags/pre_5_15_bm/
  - copied from r156070, jakarta/commons/sandbox/benchmark/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156070 - jakarta/commons/sandbox/benchmark/tags

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 11:58:05 2005
New Revision: 156070

URL: http://svn.apache.org/viewcvs?view=rev&rev=156070
Log:
mkdir

Added:
jakarta/commons/sandbox/benchmark/tags/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r156068 - jakarta/commons/proper/dbcp/tags/pre_5_15_bm

2005-03-03 Thread burton
Author: burton
Date: Thu Mar  3 11:53:43 2005
New Revision: 156068

URL: http://svn.apache.org/viewcvs?view=rev&rev=156068
Log:
branched

Added:
jakarta/commons/proper/dbcp/tags/pre_5_15_bm/
  - copied from r156067, jakarta/commons/proper/dbcp/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r155999 - in jakarta/commons/proper/feedparser/trunk: build.properties project.xml src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

2005-03-02 Thread burton
Author: burton
Date: Wed Mar  2 18:12:42 2005
New Revision: 155999

URL: http://svn.apache.org/viewcvs?view=rev&rev=155999
Log:
corrected unit tests...

Modified:
jakarta/commons/proper/feedparser/trunk/build.properties
jakarta/commons/proper/feedparser/trunk/project.xml

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java

Modified: jakarta/commons/proper/feedparser/trunk/build.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/build.properties?view=diff&r1=155998&r2=155999
==
--- jakarta/commons/proper/feedparser/trunk/build.properties (original)
+++ jakarta/commons/proper/feedparser/trunk/build.properties Wed Mar  2 
18:12:42 2005
@@ -1,7 +1,7 @@
 # The full path to where the Jakarta Feed Parser is installed, such as
 # "c:/jakarta/feedparser"; use forward slashes instead of backslashes on
-# Windows. -->
-
+# Windows. 
+ 
 #feedparser.home=${user.home}/feedparser
 feedparser.home=.
 
@@ -14,3 +14,7 @@
 # machine with java installed.
 
 ext.lib.path=${user.home}/feedparser/lib/build/
+
+# Turn maven jar overrides on
+maven.jar.override=on
+maven.jar.jaxen=lib/jaxen-full.jar

Modified: jakarta/commons/proper/feedparser/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/project.xml?view=diff&r1=155998&r2=155999
==
--- jakarta/commons/proper/feedparser/trunk/project.xml (original)
+++ jakarta/commons/proper/feedparser/trunk/project.xml Wed Mar  2 18:12:42 2005
@@ -93,15 +93,14 @@
 
 
 jaxen
-1.1-beta-4
-
-
- 
 1.0
 
-  -->
 
 
 junit
@@ -124,6 +123,11 @@
 
 
 
+
+
+saxpath
+1.0-FCS
+
 
 
 xml-apis2.0.2
@@ -133,7 +137,7 @@
 
 
 [EMAIL PROTECTED]
-src/java
+src/java  
 
 
 

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java?view=diff&r1=155998&r2=155999
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/test/TestProbeLocator.java
 Wed Mar  2 18:12:42 2005
@@ -247,10 +247,10 @@
 FeedReference.RSS_MEDIA_TYPE
   },
  new String[] { 
-
"http://journals.aol.com/redhdka/BrandNewDay/rss.xml"; 
+ "http://journals.aol.com/redhdka/BrandNewDay/rss.xml"; 
   },
  NO_ATOM_FEED, null,
- HAS_RSS_FEED, 
"http://journals.aol.com/redhdka/brandnewday/rss.xml";);
+ HAS_RSS_FEED, 
"http://journals.aol.com/redhdka/BrandNewDay/rss.xml";);
 testFeedLocator(
  "http://journals.aol.com/redhdka/BrandNewDay/";, 
  new AOLJournal(), 2, 
@@ -262,8 +262,8 @@
 
"http://journals.aol.com/redhdka/BrandNewDay/atom.xml";,
 
"http://journals.aol.com/redhdka/BrandNewDay/rss.xml"; 
   },
- HAS_ATOM_FEED, 
"http://journals.aol.com/redhdka/brandnewday/atom.xml";,
- HAS_RSS_FEED, 
"http://journals.aol.com/redhdka/brandnewday/rss.xml";);
+ HAS_ATOM_FEED, 
"http://journals.aol.com/redhdka/BrandNewDay/atom.xml";,
+ HAS_RSS_FEED, 
"http://journals.aol.com/redhdka/BrandNewDay/rss.xml";);
 
 testProbeLocator(
  "http://journals.aol.com/goldenchildnc/GCS/";, 
@@ -284,11 +284,11 @@
 FeedReference.RSS_MEDIA_TYPE
   },
  new String[] { 
-
"http://journals.aol.com/goldenchildnc/gcs/atom.xml";,
-
"http://journals.aol.com/goldenchildnc/gcs/rss.xml"; 
+
"http://journals.aol.com/goldenchildnc/GCS/atom.xml";,
+
"http://journals.aol.com/goldenchildnc/GCS/rss.xml"; 
   },
- HAS_ATOM_FEED, 
"http://journals.ao

Re: [FeedParser] Patch: Maven build changes

2005-03-01 Thread Kevin A. Burton
Nick Lothian wrote:
The patch below modifies the FeedParser Maven build so it can be used to
compile the code. This should apply against
http://svn.apache.org/repos/asf/jakarta/commons/proper/feedparser/trunk/
 

Thanks Nick!
I was wondering how to do that :)
I'll try to patch it tonight. I want to upgrade Jaxen but I'm not ready yet.
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Runtime properties... easy VM configuration with system props... (contrib?)

2005-02-27 Thread Kevin A. Burton
I was wondering what people would think of this.
At work (and in various places) I've needed simple cross-application 
configuration.

For example I'll need to configure the FeedParser, Lucene, etc when it 
starts up.

Lucene is a good example.  Right now some of the runtime configurations 
are done with system properties:

 public static final int DEFAULT_MAX_FIELD_LENGTH =
   Integer.parseInt(System.getProperty("org.apache.lucene.maxFieldLength",
 "1"));
Which is a *bit* confusing because this doesn't even correspond to a 
classname or field name.

So what I did was create a concept known as a "runtime property" which 
isn't a constant in the purest sense:

 public static int DEFAULT_MAX_FIELD_LENGTH = 1;
So now I have a runtime property of DEFAULT_MAX_FIELD_LENGTH with a 
default value of 1.

The trick si that its non-final.  This means I can change it at anytime 
in my application

So what I do now is that I just define a system property for this variable:
org.apache.lucene.index.IndexWriter.DEFAULT_MAX_FIELD_LENGTH=5
Then on VM startup I call:
- Load my properties file into system properties
 - Call RuntimeProperties.init()
Which looks at *all* system properties and determines which ones can be 
reflected into classes and then into fields. If its able to reflect them 
into classes and fields then we attempt to parse and set the value.  All 
of this of course is done via reflection.

Now of course reflection is a *bit* slow but this is only done once and 
takes about 2 seconds.  Certainly worth it.

Right now I have a fairly functional working prototype.  It also 
supports the List interface so you can define lists and they are updated 
in Java.

There's some more work I want to handle including saving and loading 
properties into .ser files via serialization.  This way the developer 
could set a value via XMLRPC or some other UI and then save the values 
so that they'll be restored between VM lifecycle.

I haven't seen any other projects out there like this. 

--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [feedparser] Release HOWTO?

2005-02-24 Thread Kevin A. Burton
Phil Steitz wrote:
If you are using maven, the dist plugin will do most of the archive creation for you (though for now you need to take a little extra care to get the right stuff in the distros.  The next release of the dist plugin will probably eliminate the need to do anything in maven.xml).  I started updating the page below to include maven-oriented instructions a while back.  This http://cvs.apache.org/~psteitz/release.html is as far as I got.   Patches (against the current page) welcome.  I was planning to split this into separate Ant / Maven instruction pages. 
 

Wow... thats really cool actually.  I can't get the maven build to work 
for the FeedParser right now due to a dependency not being in ibiblio. 
I'd have to update jaxen.  I'm goign to try for fix that before 1.0 though.

I also created scripts to do the signing and create the symlinks and put them in /committers/tools/releases.  I don't know if the link structure is the same after Hen's reengineering of the download pages, so be careful there.  
 

Thats sweet...
Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


svn commit: r155224 - jakarta/commons/proper/feedparser/trunk/lib/newsmonster-lib.jar

2005-02-24 Thread burton
Author: burton
Date: Thu Feb 24 10:58:52 2005
New Revision: 155224

URL: http://svn.apache.org/viewcvs?view=rev&rev=155224
Log:
removed nm dependency

Removed:
jakarta/commons/proper/feedparser/trunk/lib/newsmonster-lib.jar


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r155118 - jakarta/commons/proper/feedparser/trunk/lib/jakarta-feedparser.jar

2005-02-23 Thread burton
Author: burton
Date: Wed Feb 23 17:22:57 2005
New Revision: 155118

URL: http://svn.apache.org/viewcvs?view=rev&rev=155118
Log:
don't commit yourself..

Removed:
jakarta/commons/proper/feedparser/trunk/lib/jakarta-feedparser.jar


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r154983 - jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java

2005-02-23 Thread burton
Author: burton
Date: Wed Feb 23 00:14:47 2005
New Revision: 154983

URL: http://svn.apache.org/viewcvs?view=rev&rev=154983
Log:
support for Feed IM...

Modified:

jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java?view=diff&r1=154982&r2=154983
==
--- 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/java/org/apache/commons/feedparser/network/URLResourceRequest.java
 Wed Feb 23 00:14:47 2005
@@ -49,7 +49,9 @@
 public static final String GZIP_ENCODING = "gzip";
 
 public static final String USER_AGENT_HEADER = "User-Agent";
-
+
+public static boolean ENABLE_HTTP_DELTA_FEED_IM = false;
+
 public static String USER_AGENT
 = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; 
aggregator:FeedParser; http://jakarta.apache.org/commons/sandbox/feedparser/) 
Gecko/20021130";
 
@@ -155,8 +157,19 @@
 if ( this.getIfModifiedSince() != -1 )
 httpURLConn.setIfModifiedSince( this.getIfModifiedSince() );
 
-if ( getEtag() != null )
+if ( getEtag() != null ) {
 httpURLConn.setRequestProperty( IF_NONE_MATCH_HEADER, 
getEtag() );
+
+//now support RFC3229 HTTP Delta
+//A-IM: feed, gzip
+
+if ( ENABLE_HTTP_DELTA_FEED_IM ) {
+
+//note that this will return HTTP 226 if used.
+httpURLConn.setRequestProperty( "A-IM", "feed, gzip" );
+}
+
+}
 
 try {
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [feedparser] Release HOWTO?

2005-02-22 Thread Kevin A. Burton
Phil Steitz wrote:
Kevin A. Burton wrote:
I'm pending on doing a first beta release of FeedParser here shortly.
Is there a document anywhere describing current release procedures 

This is a little out of date, but a good place to start:
http://jakarta.apache.org/commons/releases/index.html
Good god.  Those are a LOT of steps.  Has anyone automated this process 
at all?  There's no way I'm going to be doing this for every release ;)

Kevin
--
Use Rojo (RSS/Atom aggregator).  Visit http://rojo.com. Ask me for an 
invite!  Also see irc.freenode.net #rojo if you want to chat.

Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
If you're interested in RSS, Weblogs, Social Networking, etc... then you 
should work for Rojo!  If you recommend someone and we hire them you'll 
get a free iPod!
   
Kevin A. Burton, Location - San Francisco, CA
  AIM/YIM - sfburtonator,  Web - http://peerfear.org/
GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


  1   2   3   4   >