P6Spy
Documentation
For the latest software and documentation visit http://www.p6spy.com
Installation
Using the Modules
Writing Your Own
Module
Other
License
Agreement
/*
*
* ====================================================================
*
* The P6Spy Software License, Version 1.1
*
* This license is derived and fully compatible with the Apache Software
* license, see http://www.apache.org/LICENSE.txt
*
* Copyright (c) 2001-2002 Andy Martin, Ph.D. and Jeff Goke
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowledgment:
* "The original concept and code base for P6Spy was conceived
* and developed by Andy Martin, Ph.D. who generously contributed
* the first complete release to the public under this license.
* This product was due to the pioneering work of Andy
* that began in December of 1995 developing applications that could
* seamlessly be deployed with minimal effort but with dramatic results.
* This code is maintained and extended by Jeff Goke and with the ideas
* and contributions of other P6Spy contributors.
* (http://www.p6spy.com)"
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "P6Spy", "Jeff Goke", and "Andy
Martin" must not be used
* to endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* license@p6spy.com.
*
* 5. Products derived from this software may not be called "P6Spy"
* nor may "P6Spy" appear in their names without prior written
* permission of Jeff Goke and Andy Martin.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
Release
Notes
Version
1.0 beta
- Rafael
Alvarez
added log4j support, one of the most requested feature enhancements.
- P6Cache
has been introduced! P6Cache provides seamless caching to any application
running JDBC. Easy installation and no code changes required. This module
is particularly useful for caching queries in session beans, as well
as for applications that do not use EJBs and need a mechanism to provide
caching. It is expected that the functionality of P6Cache will expand
quickly, so keep an eye on future releases.
- Due to
problems reported with driver loading in the alpha version, driver loading
has been rewritten. It is now more efficient.
Version
1.0 alpha
- Restructured
code to inherit from a single core wrapper driver.
- Introduced
concepts of modules and stackable drivers that dynamically load the
necessary code into memory at runtime.
- Broke
code into logical modules: P6Log and P6Outage.
- Refactored
large amount of code.
- Rewrote
Junit tests and added more rigorous tests.
Version
0.8
- Peter
Laird contributed an Outage Detection module that reports database
outages when database statements do not respond within a given period
of time.
- Peter
Laird also contributed a JSP application that gives a visual
control to P6Spy. The first version can be used to view configuration
information about P6Spy and to create a demarcation in the log file.
- Viktor
Szathmary added support for multiple simultaneous databases,
a highly requested feature. Currently support is limited to 3 databases,
but can easily be expanded.
- Viktor
Szathmary also added the logging of a connection id, and enabled
urls to be prefixed with p6spy: to aid in debugging. A common mistake
people make when installing is to have the real driver registered elsewhere,
this feature avoids that problem. The default is not to require this
value, but in the future it may be made mandatory to ease the install
process.
- Rewrote
P6SpyOptions to allow new options to quickly and easily be added.
- Additional
JUnit tests have been added
Version
0.72
- Philip
Ogren
contributed the ability to dynamically reload the property file after
a specified period of time
- Added
logging to commit and rollback statements
Version
0.71
- Philip
Ogren of BEA contributed installation instructions for BEA
WebLogic Portal and Server.
- Jakarta
RegEx support (contributed by Philip Ogren)
- Ability
to print stack trace of logged statements. This is very useful to understand
where a logged query is being executed in the application (contributed
by Philip Ogren)
- Simplified
table monitoring property file option (contributed by Philip Ogren)
- Updated
the RegEx documentation
Version
0.7
- Simon
Sadedin
added timing information to the log files. Now you can better visualize
bottleneck queries.
- Simon
Sadedin
added regex support for table filtering, allowing sophisticated custom
filtering.
- Michael
Sgroi contributed installation instructions for iPlanet.
- Richard
Delbert contributed installation instructions for WebLogic.
- Added
support for callable statements.
- Added
support for batch statements.
- Added
a debug category that provides detailed debug information. By default
this is disabled. See the troubleshooting section
for more information.
- Changed
the default log format to include more information.
- Added
test target to ant that works with JUnit to perform some basic tests.
Currently using Oracle as the test database.
- Added
ResultSet logging and timing information. By default this is disabled.
See the log section for more information.
- Fixed
a number of bugs, in particular a bug that was causing an empty spy.log
file to be created and never populated.
Version
0.6
- Fixed
a bug that null connections were not returning null, but rather an empty
connection. This was a problem for some applications where the application
was expecting a null connection.
- Added
an option to allow the truncation/non-truncation of the log file to
be specified within spy.options.
|