bloritsch 01/12/13 12:42:38
Modified: src/scratchpad/org/apache/avalon/excalibur/profile
Profiler.java
Added: src/scratchpad/org/apache/avalon/excalibur/profile
ProfileReport.java
Log:
add ProfileReport interface
Revision Changes Path
1.3 +9 -10
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/profile/Profiler.java
Index: Profiler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/profile/Profiler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Profiler.java 2001/12/13 20:37:13 1.2
+++ Profiler.java 2001/12/13 20:42:37 1.3
@@ -50,19 +50,18 @@
void add( Profilable profileSource );
/**
- * Serializes the results of the profiling to a file. The actual format
- * depends on the Profiler in use. It can be simple Comma Separated
Values
- * (CSV) with the columns representing a unique Profilable. Most
spreadsheet
- * programs can import this and generate meaningful graphs from it.
Another
- * alternative is to output the information in a tool specific format.
The
- * actual format depends on the Profiler in question, and the Profiler
merely
- * needs the reference to the output file.
+ * Reports the results of the profiling to a ProfileReport. The actual
+ * format depends on the ProfileReport given. It can be simple Comma
+ * Separated Values (CSV) with the columns representing a unique
Profilable.
+ * Most spreadsheet programs can import this and generate meaningful
graphs
+ * from it. Another alternative is to output the information in a tool
+ * specific format. The actual format depends on the ProfileReport in
+ * question, and the Profiler merely needs to reference to the object.
*
* @parameter outputInfo The handle of the file the profiler
serializes the
* results to.
*
- * @throws <code>IOException</code> If the file is not valid, or cannot
be
- * written to.
+ * @throws <code>NullPointerException</code> If the ProfileReport is
null.
*/
- void serialize( File outputInfo ) throws IOException;
+ void report( ProfileReport outputInfo );
}
1.1
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/profile/ProfileReport.java
Index: ProfileReport.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.excalibur.profile;
/**
* The ProfileReport interface is an event based reporting mechanism. It is
* modeled after the Simple API for XML (SAX), and is effectively simple
itself.
* The ProfileReport may or may not serialize information to a persistent
source,
* but this is how the Profiler publishes it's information.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
*/
public interface ProfileReport {
/**
* The report is started with this method. This is called once at the
* beginning of a profile run, and signifies to the ProfileReport object
* that it should prepare to handle more requests.
*/
void startReport();
/**
* This method is used to write the names for the individual sample
points.
* It is called once at the beginning of a profile run, but after
* <code>startReport</code>. If this method is not called, then the
report
* must supply it's own default names (typically "column1", "column2",
etc).
*/
void setColumnNames(String[] columnNames);
/**
* This method is called each time the Profiler takes a sample. It has
the
* timestamp that the samples were called, and an array of the actual
* values.
*/
void sample( long timestamp, int[] values );
/**
* This method is called once at the end of a profile run, and signifies
* that the ProfileReport object may close it's resources, and no other
* events will be called.
*/
void endReport();
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>