Jugando con p6spy

P6spy es una herramienta super
sencilla para hacer seguimiento de la interacción entre
tu aplicación y la BD.

Te permite loguear tus sentencias PL/SQL y tambien que queries son
los mas lentos (previa configuracion que comento mas adelante).

Pasos para instalación:

1) Bajar la herramienta

Dowload P6spy

2) Extraer y colocar jar y properties en tu proyecto.

Luego al extraerlo, encontraras un p6spy.jar y un spy.properties.

El p6spy.jar lo pones en tu WEB-INF/lib del proyecto a monitorear.

Y tu spy.properties en tu carpeta src o classpath en general.

3) Donde estas conectandote a tu bd, cambia el driver que estas usando, por el de p6spy, por ejemplo:

driverClassName --> com.p6spy.engine.spy.P6SpyDriver (en tu applicationContext.xml por ejemplo.)
4) En el archivo spy.properties, pones el verdadero driver:

# oracle driver
realdriver=oracle.jdbc.driver.OracleDriver

5) Si deseas le das la ruta donde quieres que se genere tu archivo spy.log (también se configura esto en el spy.properties)

# name of logfile to use
logfile = c:/temporal/spy.log

Listo , correr la aplicación web y disfrutar del log para hacer seguimiento a todo los queries que se ejecutan.

EPILOGO:

outagedetection=false
outagedetectioninterval=

Estas dos te permiten , poner a true y luego decirle cuanto tiempo no debe pasar para considerarlo un query normal, sino pasa a categoria lento.

Disfrutenlo!

Jose
Share:

3 comentarios:

  1. Estimado, estoy ocupando la configuración que dices sin embargo no me pinta ninguna instrucción SQL.
    Lo único que tiene el spy.log es:

    1271261094139|-1||debug||com.p6spy.engine.common.P6SpyOptions reloading properties
    1271261094139|-1||info||Using properties file: D:\p6spy\spy.properties
    1271261094139|-1||info||No value in environment for: getStackTrace, using: false
    1271261094139|-1||info||No value in environment for: getFilter, using: true
    1271261094139|-1||info||No value in environment for: getDeregisterDrivers, using: false
    1271261094139|-1||info||No value in environment for: getUsePrefix, using: false
    1271261094139|-1||info||No value in environment for: getExecutionThreshold, using: 0
    1271261094139|-1||info||No value in environment for: getAutoflush, using: true
    1271261094139|-1||info||No value in environment for: getExclude, using:
    1271261094139|-1||info||No value in environment for: getExcludecategories, using: info,debug,result,batch
    1271261094139|-1||info||No value in environment for: getInclude, using: select, insert, update
    1271261094139|-1||info||No value in environment for: getIncludecategories, using:
    1271261094139|-1||info||No value in environment for: getLogfile, using: spy.log
    1271261094139|-1||info||No value in environment for: getAppender, using: com.p6spy.engine.logging.appender.FileLogger
    1271261094139|-1||info||No value in environment for: getRealdriver, using: oracle.jdbc.driver.OracleDriver
    1271261094139|-1||info||No value in environment for: getRealdriver2, using:
    1271261094139|-1||info||No value in environment for: getRealdriver3, using:
    1271261094139|-1||info||No value in environment for: getAppend, using: true
    1271261094139|-1||info||No value in environment for: getSpydriver, using: com.p6spy.engine.spy.P6SpyDriver
    1271261094139|-1||info||No value in environment for: getDateformat, using:
    1271261094139|-1||info||No value in environment for: getDateformatter, using: null
    1271261094139|-1||info||No value in environment for: getStringmatcher, using: com.p6spy.engine.common.SubstringMatcher
    1271261094139|-1||info||No value in environment for: getStringMatcherEngine, using: com.p6spy.engine.common.SubstringMatcher@1d0feea
    1271261094139|-1||info||No value in environment for: getStackTraceClass, using:
    1271261094139|-1||info||No value in environment for: getSQLExpression, using: null
    1271261094139|-1||info||No value in environment for: getReloadProperties, using: false
    1271261094139|-1||info||No value in environment for: getReloadPropertiesInterval, using: 60
    1271261094139|-1||info||No value in environment for: getJNDIContextFactory, using: null
    1271261094139|-1||info||No value in environment for: getJNDIContextProviderURL, using: null
    1271261094139|-1||info||No value in environment for: getJNDIContextCustom, using: null
    1271261094139|-1||info||No value in environment for: getRealDataSource, using: null
    1271261094139|-1||info||No value in environment for: getRealDataSourceClass, using: null
    1271261094139|-1||info||No value in environment for: getRealDataSourceProperties, using: null


    Podrías ayudarme para saber que puede estar pasando que no pinta ninguna instrucción sql.

    Gracias.
    Saludos

    ResponderBorrar
  2. Felipe, yo hice un nuevo post donde cambie la configuración y ahi me aparecia el log.

    Este es: http://josediazdiaz.blogspot.com/2010/03/p6spy.html o tambien probaste con este y no te muestra nada?

    ResponderBorrar
  3. Usa la propiedad del hibernate.show_sql = true y anda bien.

    Julio M. Oliveira - Buenos Aires

    ResponderBorrar