diff --git a/frameworks/inspectIT/.gitignore b/frameworks/inspectIT/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2ad4c7d81938d8a1764de9209e5e5d7b30be9ac9 --- /dev/null +++ b/frameworks/inspectIT/.gitignore @@ -0,0 +1,3 @@ +inspectit-agent.jar +inspectIT-licence.pdf +CMR/ diff --git a/frameworks/inspectIT/README b/frameworks/inspectIT/README new file mode 100644 index 0000000000000000000000000000000000000000..1290fddd6ed6293c052a50e5d86169faf88c6ef7 --- /dev/null +++ b/frameworks/inspectIT/README @@ -0,0 +1,10 @@ +Folder structure: + +CMR/ -> add from download +config/ +inspectit-agent.jar -> add from download + + +to clean: +remove in CMR db/ logs/ storage/ + diff --git a/frameworks/inspectIT/config/common/ejb.cfg b/frameworks/inspectIT/config/common/ejb.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e1b6a10fb3490ce477925316a4d5abab157b6cc6 --- /dev/null +++ b/frameworks/inspectIT/config/common/ejb.cfg @@ -0,0 +1,18 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +# Configuration for EJB < 3 + +sensor timer javax.ejb.EntityBean * interface=true modifiers=pub +sensor timer javax.ejb.SessionBean * interface=true modifiers=pub +sensor timer javax.ejb.MessageDrivenBean * interface=true modifiers=pub + +sensor timer javax.ejb.EJBLocalObject * interface=true modifiers=pub +sensor timer javax.ejb.EJBObject * interface=true modifiers=pub + +# Configuration for EJB 3 + +sensor timer * * @javax.ejb.Stateless modifiers=pub +sensor timer * * @javax.ejb.Stateful modifiers=pub diff --git a/frameworks/inspectIT/config/common/exclude-classes.cfg b/frameworks/inspectIT/config/common/exclude-classes.cfg new file mode 100644 index 0000000000000000000000000000000000000000..97bd500b353d531c4a6fcf19783aca985af0038c --- /dev/null +++ b/frameworks/inspectIT/config/common/exclude-classes.cfg @@ -0,0 +1,13 @@ +## Exclude classes definition +############################# +## Only change the already specified patterns if you are a expert level user +## Add additional classes if needed +############################################################################ + +exclude-class info.novatec.inspectit.* +exclude-class $Proxy* +exclude-class sun.* +exclude-class java.lang.ThreadLocal +exclude-class java.lang.ref.Reference +exclude-class *_WLStub +exclude-class *[] \ No newline at end of file diff --git a/frameworks/inspectIT/config/common/hibernate.cfg b/frameworks/inspectIT/config/common/hibernate.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dbbfa431b625b9231c80537343b14770ade64b94 --- /dev/null +++ b/frameworks/inspectIT/config/common/hibernate.cfg @@ -0,0 +1,20 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +sensor timer org.hibernate.impl.QueryImpl * modifiers=pub + +sensor timer org.hibernate.impl.SessionImpl load modifiers=pub +sensor timer org.hibernate.impl.SessionImpl get modifiers=pub +sensor timer org.hibernate.impl.SessionImpl evict modifiers=pub +sensor timer org.hibernate.impl.SessionImpl flush modifiers=pub +sensor timer org.hibernate.impl.SessionImpl forceFlush modifiers=pub +sensor timer org.hibernate.impl.SessionImpl find modifiers=pub +sensor timer org.hibernate.impl.SessionImpl list modifiers=pub +sensor timer org.hibernate.impl.SessionImpl iterate modifiers=pub +sensor timer org.hibernate.impl.SessionImpl delete modifiers=pub +sensor timer org.hibernate.impl.SessionImpl executeUpdate modifiers=pub +sensor timer org.hibernate.impl.SessionImpl executeNativeUpdate modifiers=pub + +sensor timer org.hibernate.impl.SessionFactoryImpl openSession \ No newline at end of file diff --git a/frameworks/inspectIT/config/common/http.cfg b/frameworks/inspectIT/config/common/http.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a1e993d5eea9c5378a0505b0cc9d86ea1b77b2f1 --- /dev/null +++ b/frameworks/inspectIT/config/common/http.cfg @@ -0,0 +1,21 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +# Definition of the sensor type. We do that here as we only will need it when activating +# the http sensor. +# You can add the capturing of session attributes by adding "sessioncapture=true" (without +# the quotations to the end of this definition. +method-sensor-type http info.novatec.inspectit.agent.sensor.method.http.HttpSensor MAX stringLength=500 + +# The sensor can specify the regular expression that can be performed on the URI +# Additionally the template can be specified to provide better looking results, where $1$, $2$, $3$, etc are substituted with the groups found in regular expression +# The following example take first and second URI component parts and creates the template with them +# method-sensor-type http info.novatec.inspectit.agent.sensor.method.http.HttpSensor MAX stringLength=500 regEx=/([^"]+)/([^"]+) regExTemplate=App:$1$,Action:$2$ + +sensor isequence javax.servlet.Filter doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain) interface=true +sensor isequence javax.servlet.Servlet service(javax.servlet.ServletRequest,javax.servlet.ServletResponse) interface=true + +sensor http javax.servlet.Filter doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain) interface=true charting=true +sensor http javax.servlet.Servlet service(javax.servlet.ServletRequest,javax.servlet.ServletResponse) interface=true charting=true diff --git a/frameworks/inspectIT/config/common/jpa.cfg b/frameworks/inspectIT/config/common/jpa.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6ddfaa131c3fd5b2355a4248b38dd5d1600ce897 --- /dev/null +++ b/frameworks/inspectIT/config/common/jpa.cfg @@ -0,0 +1,10 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +sensor timer javax.persistence.EntityManager * interface=true modifiers=pub +sensor timer javax.persistence.EntityManagerFactory * interface=true modifiers=pub + +sensor timer javax.persistence.EntityTransaction * interface=true modifiers=pub +sensor timer javax.persistence.Query * interface=true modifiers=pub \ No newline at end of file diff --git a/frameworks/inspectIT/config/common/jsf.cfg b/frameworks/inspectIT/config/common/jsf.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9d966600504f71c084de9366d2af47a24eeae457 --- /dev/null +++ b/frameworks/inspectIT/config/common/jsf.cfg @@ -0,0 +1,27 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +sensor timer javax.faces.webapp.UIComponentClassicTagBase * modifiers=pub + +sensor timer javax.faces.component.* processDecodes modifiers=pub +sensor timer javax.faces.component.* processRestoreState modifiers=pub +sensor timer javax.faces.component.* processSaveState modifiers=pub +sensor timer javax.faces.component.* processUpdates modifiers=pub +sensor timer javax.faces.component.* processValidators modifiers=pub +sensor timer javax.faces.component.* saveState modifiers=pub +sensor timer javax.faces.component.* restoreState modifiers=pub + +sensor timer org.apache.myfaces.trinidad.render.CoreRenderer * modifiers=pub + +sensor timer org.apache.myfaces.trinidad.component.* saveState modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* encodeBegin modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* encodeEnd modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* encodeAll modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* processSaveState modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* processDecodes modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* processValidators modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* processUpdates modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* processRestoreState modifiers=pub +sensor timer org.apache.myfaces.trinidad.component.* restoreState modifiers=pub diff --git a/frameworks/inspectIT/config/common/jta.cfg b/frameworks/inspectIT/config/common/jta.cfg new file mode 100644 index 0000000000000000000000000000000000000000..411b1295641082b28852068d2e600e8ec027e4c4 --- /dev/null +++ b/frameworks/inspectIT/config/common/jta.cfg @@ -0,0 +1,11 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +sensor timer javax.transaction.UserTransaction begin interface=true modifiers=pub +sensor timer javax.transaction.UserTransaction commit interface=true modifiers=pub +sensor timer javax.transaction.UserTransaction getStatus interface=true modifiers=pub +sensor timer javax.transaction.UserTransaction rollback interface=true modifiers=pub +sensor timer javax.transaction.UserTransaction setRollbackOnly interface=true modifiers=pub +sensor timer javax.transaction.UserTransaction setTransactionTimeout(int) interface=true modifiers=pub \ No newline at end of file diff --git a/frameworks/inspectIT/config/common/sql-parameters.cfg b/frameworks/inspectIT/config/common/sql-parameters.cfg new file mode 100644 index 0000000000000000000000000000000000000000..08d45805cfabbc33f77b2679e55ad016ff1028dc --- /dev/null +++ b/frameworks/inspectIT/config/common/sql-parameters.cfg @@ -0,0 +1,89 @@ +## SQL Parameter +####################### +# SQL Prepared Statement Parameter Replacement +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setArray(int,java.sql.Array) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setAsciiStream(int,java.io.InputStream) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setAsciiStream(int,java.io.InputStream,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setAsciiStream(int,java.io.InputStream,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBigDecimal(int,java.math.BigDecimal) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBinaryStream(int,java.io.InputStream) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBinaryStream(int,java.io.InputStream,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBinaryStream(int,java.io.InputStream,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBlob(int,java.sql.Blob) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBlob(int,java.io.InputStream) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBlob(int,java.io.InputStream,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBoolean(int,boolean) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setByte(int,byte) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setBytes(int,byte[]) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setCharacterStream(int,java.io.Reader) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setCharacterStream(int,java.io.Reader,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setCharacterStream(int,java.io.Reader,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setClob(int,java.sql.Clob) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setClob(int,java.io.Reader) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setClob(int,java.io.Reader,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setDate(int,java.sql.Date) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setDate(int,java.sql.Date,java.util.Calendar) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setDouble(int,double) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setFloat(int,float) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setInt(int,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setLong(int,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNCharacterStream(int,java.io.Reader) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNCharacterStream(int,java.io.Reader,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNClob(int,java.sql.NClob) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNClob(int,java.io.Reader) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNClob(int,java.io.Reader,long) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNClob(int,java.sql.NClob) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNString(int,java.lang.String) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setObject(int,java.lang.Object) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setObject(int,java.lang.Object,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setObject(int,java.lang.Object,int,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setRef(int,java.sql.Ref) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setRowId(int,java.sql.RowId) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setShort(int,short) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setSQLXML(int,java.sql.SQLXML) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setString(int,java.lang.String) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setTime(int,java.sql.Time) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setTime(int,java.sql.Time,java.util.Calendar) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setTimestamp(int,java.sql.Timestamp) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setTimestamp(int,java.sql.Timestamp,java.util.Calendar) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setUnicodeStream(int,java.io.InputStream,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setURL(int,java.net.URL) interface=true + +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNull(int,int) interface=true +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement setNull(int,int,java.lang.String) interface=true + +sensor jdbc-prepared-statement-parameter java.sql.PreparedStatement clearParameters() interface=true + +# Postgre SQL Prepared Statement Parameter Replacement +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setArray(int,java.sql.Array) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setAsciiStream(int,java.io.InputStream,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setBigDecimal(int,java.math.BigDecimal) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setBinaryStream(int,java.io.InputStream,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setBlob(int,java.sql.Blob) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setBoolean(int,boolean) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setByte(int,byte) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setBytes(int,byte[]) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setCharacterStream(int,java.io.Reader,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setClob(int,java.sql.Clob) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setDate(int,java.sql.Date) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setDate(int,java.sql.Date,java.util.Calendar) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setDouble(int,double) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setFloat(int,float) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setInt(int,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setLong(int,long) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setObject(int,java.lang.Object) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setObject(int,java.lang.Object,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setObject(int,java.lang.Object,int,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setRef(int,java.sql.Ref) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setShort(int,short) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setString(int,java.lang.String) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setTime(int,java.sql.Time) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setTime(int,java.sql.Time,java.util.Calendar) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setTimestamp(int,java.sql.Timestamp) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setTimestamp(int,java.sql.Timestamp,java.util.Calendar) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setUnicodeStream(int,java.io.InputStream,int) + +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setNull(int,int) +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement setNull(int,int,java.lang.String) + +sensor jdbc-prepared-statement-parameter org.postgresql.jdbc2.AbstractJdbc2Statement clearParameters() \ No newline at end of file diff --git a/frameworks/inspectIT/config/common/sql.cfg b/frameworks/inspectIT/config/common/sql.cfg new file mode 100644 index 0000000000000000000000000000000000000000..90204a31e9df47e7deaff11ed4105f3f21ae8482 --- /dev/null +++ b/frameworks/inspectIT/config/common/sql.cfg @@ -0,0 +1,53 @@ +## SQL Tracing (generic) +######################## +# SQL Connection +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String) interface=true +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String,int) interface=true +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String,int[]) interface=true +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String,int,int) interface=true +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String,int,int,int) interface=true +sensor jdbc-connection java.sql.Connection prepareStatement(java.lang.String,java.lang.String[]) interface=true +sensor jdbc-connection java.sql.Connection prepareCall(java.lang.String) interface=true +sensor jdbc-connection java.sql.Connection prepareCall(java.lang.String,int,int) interface=true +sensor jdbc-connection java.sql.Connection prepareCall(java.lang.String,int,int,int) interface=true +# WebLogic SQL Connection +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String,int) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String,int[]) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String,int,int) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String,int,int,int) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareStatement(java.lang.String,java.lang.String[]) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareCall(java.lang.String) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareCall(java.lang.String,int,int) interface=true +sensor jdbc-connection weblogic.jdbc.wrapper.Connection prepareCall(java.lang.String,int,int,int) interface=true +# SQL Prepared Statement +sensor jdbc-prepared-statement java.sql.PreparedStatement <init> interface=true +sensor jdbc-prepared-statement java.sql.PreparedStatement executeQuery() interface=true +sensor jdbc-prepared-statement java.sql.PreparedStatement executeUpdate() interface=true +sensor jdbc-prepared-statement java.sql.PreparedStatement execute() interface=true +sensor jdbc-prepared-statement java.sql.Statement executeBatch() interface=true +# PostgreSQL Prepared Statement +sensor jdbc-prepared-statement org.postgresql.jdbc2.AbstractJdbc2Statement executeQuery() +sensor jdbc-prepared-statement org.postgresql.jdbc2.AbstractJdbc2Statement executeUpdate() +sensor jdbc-prepared-statement org.postgresql.jdbc2.AbstractJdbc2Statement execute() +# SQL Statement +sensor jdbc-statement java.sql.Statement execute(java.lang.String) interface=true +sensor jdbc-statement java.sql.Statement execute(java.lang.String,int) interface=true +sensor jdbc-statement java.sql.Statement execute(java.lang.String,int[]) interface=true +sensor jdbc-statement java.sql.Statement execute(java.lang.String,java.lang.String[]) interface=true +sensor jdbc-statement java.sql.Statement executeUpdate(java.lang.String)interface=true +sensor jdbc-statement java.sql.Statement executeUpdate(java.lang.String,int) interface=true +sensor jdbc-statement java.sql.Statement executeUpdate(java.lang.String,int[]) interface=true +sensor jdbc-statement java.sql.Statement executeUpdate(java.lang.String,java.lang.String[]) interface=true +sensor jdbc-statement java.sql.Statement executeQuery(java.lang.String) interface=true +# H2 +sensor jdbc-connection org.h2.jdbc.JdbcConnection prepareAutoCloseStatement(java.lang.String) +# WebSphere / DB2 +sensor jdbc-connection com.ibm.db2.jcc.t4.b c(java.lang.String,int,int,int) +sensor jdbc-connection com.ibm.db2.jcc.t4.* newCallableStatement_(java.lang.String,int,int,int) +sensor jdbc-connection com.ibm.icm.da.portable.common.sql.DefaultPConnection prepareStatement1(java.lang.String) +# Derby metadata queries +sensor jdbc-connection org.apache.derby.impl.jdbc.EmbedConnection prepareMetaDataStatement(java.lang.String) + +# Exclude classes that are not meaningful +exclude-class oracle.jdbc.driver.OracleClosedStatement diff --git a/frameworks/inspectIT/config/common/struts.cfg b/frameworks/inspectIT/config/common/struts.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f40cbd7b48b3f22246491a7c0e2e57ef65db8e05 --- /dev/null +++ b/frameworks/inspectIT/config/common/struts.cfg @@ -0,0 +1,12 @@ +################################################################ +# INFO: This instrumentation is maybe instrumenting too # +# many classes. Please check if it corresponds to your needs. # +################################################################ + +sensor timer org.apache.struts.action.* * modifiers=pub +sensor timer org.apache.struts.config.* * modifiers=pub +sensor timer org.apache.struts.taglib.html.* * modifiers=pub +sensor timer org.apache.struts.taglib.tiles.* * modifiers=pub +sensor timer org.apache.struts.tiles.* * modifiers=pub +sensor timer org.apache.struts.upload.* * modifiers=pub +sensor timer org.apache.struts.util.* * modifiers=pub \ No newline at end of file diff --git a/frameworks/inspectIT/config/inspectit-agent.cfg b/frameworks/inspectIT/config/inspectit-agent.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f323da26eb92cce4ecb82b52168eaed4ec509239 --- /dev/null +++ b/frameworks/inspectIT/config/inspectit-agent.cfg @@ -0,0 +1,110 @@ +## repository <IP> <port> <Agent Name> +############################################# +repository localhost 9070 inspectIT + +## method-sensor-type <name> <fully-qualified-name> <priority> [<additional options>] +##################################################################################### +# method-sensor-type average-timer info.novatec.inspectit.agent.sensor.method.averagetimer.AverageTimerSensor HIGH stringLength=100 +method-sensor-type timer info.novatec.inspectit.agent.sensor.method.timer.TimerSensor MAX stringLength=100 +method-sensor-type isequence info.novatec.inspectit.agent.sensor.method.invocationsequence.InvocationSequenceSensor INVOC stringLength=100 +method-sensor-type jdbc-connection info.novatec.inspectit.agent.sensor.method.jdbc.ConnectionSensor MIN +method-sensor-type jdbc-prepared-statement info.novatec.inspectit.agent.sensor.method.jdbc.PreparedStatementSensor MIN stringLength=1000 +method-sensor-type jdbc-prepared-statement-parameter info.novatec.inspectit.agent.sensor.method.jdbc.PreparedStatementParameterSensor MIN +method-sensor-type jdbc-statement info.novatec.inspectit.agent.sensor.method.jdbc.StatementSensor MIN stringLength=1000 + +## exception-sensor-type <fully-qualified-name> [<additional options>] +###################################################################### +exception-sensor-type info.novatec.inspectit.agent.sensor.exception.ExceptionSensor mode=simple stringLength=500 + +## platform-sensor-type <fully-qualified-name> [<additional options>] +##################################################################### +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.ClassLoadingInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.CompilationInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.MemoryInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.CpuInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.RuntimeInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.SystemInformation +platform-sensor-type info.novatec.inspectit.agent.sensor.platform.ThreadInformation + +## send-strategy <fully-qualified-name> +####################################### +send-strategy info.novatec.inspectit.agent.sending.impl.TimeStrategy time=5000 +# send-strategy info.novatec.inspectit.agent.sending.impl.ListSizeStrategy size=10 + +## buffer-strategy <fully-qualified-name> +######################################### +buffer-strategy info.novatec.inspectit.agent.buffer.impl.SimpleBufferStrategy +#buffer-strategy info.novatec.inspectit.agent.buffer.impl.SizeBufferStrategy size=12 + +## Ignore classes settings +######################################### +$include common/exclude-classes.cfg + +## SQL tracing +############## +# $include common/sql.cfg +## Uncomment configuration file under to enable parameter binding for SQL queries. This feature allows to have +## prepared Statements filled with the concrete parameter value that it was executed with, instead of just "?" values. +## Bear in mind that activating this feature will affect performance in a negative way as more methods need to be instrumented. +# $include common/sql-parameters.cfg + +## Common technologies (please uncomment wanted) +################################################ +# $include common/ejb.cfg +# $include common/http.cfg +# $include common/hibernate.cfg +# $include common/struts.cfg +# $include common/jsf.cfg +# $include common/jpa.cfg +# $include common/jta.cfg + + +## EXAMPLES +########### +# sensor timer novatec.SubTest msg(java.lang.String) +# sensor timer novatec.Sub* msg(int) modifiers=pub +# sensor timer novatec.SubTest msg(*String) modifiers=pub +# sensor timer novatec.Sub* m*(java.lang.String,*String) modifiers=pub +# sensor timer novatec.ITest * interface=true modifiers=pub,prot +# sensor timer nova*.Te* m*(*String) superclass=true modifiers=pub,prot +# sensor timer * * @javax.ejb.Stateless modifiers=pub + +# sensor timer info.novatec.inspectitsamples.calculator.Calculator * modifiers=pub +# sensor timer info.novatec.inspectitsamples.calculator.Calculator substract(double,double) +# sensor timer info.novatec.inspectitsamples.calculator.Calculator divide(double,double) +# sensor timer info.novatec.inspectitsamples.calculator.Calculator multiply(double,double) + +sensor timer mooBench.monitoredApplication.MonitoredClass monitoredMethod interface=true charting=true + +## The following aren't working properly (for java classes), just added to show the usage of the superclass/interface option +# sensor timer java.lang.Object * superclass=true modifiers=pub +# sensor timer java.util.List size() interface=true modifiers=pub + +## For parameter catching: p=parameter of the method | f=field of the class/instance | r=return value of a method +# sensor isequence info.novatec.inspectitsamples.calculator.Calculator actionPerformed p=0;Source; f=LastOperator;lastOperator f=LastOutput;jlbOutput.text + +# reads the result of the substract method (which is a double) +# sensor timer info.novatec.inspectitsamples.calculator.Calculator substract(double,double) r=substractionResult; + +## For constructors: +# sensor timer info.novatec.inspectitsamples.calculator.Calculator <init> modifiers=pub + +# Specified modifiers can be: pub (public), prot (protected), priv (private) and def (default) + +# To save timer data to DB for charting and future checking use charting=true +# sensor timer novatec.SubTest msg(java.lang.String) charting=true + +## Exception catching +# exception-sensor info.novatec.exception.MyException +# exception-sensor info.novatec.ex*.*Exception + +## You can include additional sensor configuration files (e.g. for separation or easier (de-)activation) like this +## If no absolute path is specified, the folder containing this file will be taken as the root! +# $include sensors.cfg +# $include api1.cfg +# $include api2.cfg +# $include /my/path/to/the/configuration/ui-sensors.cfg + +## Your Sensor Definitions +########################## +# sensor <sensor-type-name> <class-to-monitor> <method-to-monitor> [<additional options>] \ No newline at end of file diff --git a/frameworks/inspectIT/config/logging.properties b/frameworks/inspectIT/config/logging.properties new file mode 100644 index 0000000000000000000000000000000000000000..9cf6de2060046b7122a545e1555fd340879b59c6 --- /dev/null +++ b/frameworks/inspectIT/config/logging.properties @@ -0,0 +1,17 @@ +# This is the default logging configuration for the inspectIT agent. Feel free +# to adapt this logging to your needs. +# +# To integrate this logging configuration set the "-Djava.util.logging.config.file" Parameter to +# point to the configuration (for example: -Djava.util.logging.config.file=[path-to]/logging.properties + + +# The console handler logs output to the console +handlers= java.util.logging.ConsoleHandler + +# In addition to that additional handlers to store the information to a file can be added +#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler + +# Default log level - Change this to "fine" for more information or to "severe" to only get errors +.level= INFO + +java.util.logging.ConsoleHandler.formatter = info.novatec.inspectit.util.MessageFormatFormatter \ No newline at end of file