From eb2cb4e582b59d9a4408351bb2ae9fa6ffe80368 Mon Sep 17 00:00:00 2001
From: Jan Waller <jwa@informatik.uni-kiel.de>
Date: Tue, 4 Mar 2014 14:28:14 +0100
Subject: [PATCH] add inspectIT

---
 frameworks/inspectIT/.gitignore               |   3 +
 frameworks/inspectIT/README                   |  10 ++
 frameworks/inspectIT/config/common/ejb.cfg    |  18 +++
 .../config/common/exclude-classes.cfg         |  13 +++
 .../inspectIT/config/common/hibernate.cfg     |  20 ++++
 frameworks/inspectIT/config/common/http.cfg   |  21 ++++
 frameworks/inspectIT/config/common/jpa.cfg    |  10 ++
 frameworks/inspectIT/config/common/jsf.cfg    |  27 +++++
 frameworks/inspectIT/config/common/jta.cfg    |  11 ++
 .../config/common/sql-parameters.cfg          |  89 ++++++++++++++
 frameworks/inspectIT/config/common/sql.cfg    |  53 +++++++++
 frameworks/inspectIT/config/common/struts.cfg |  12 ++
 .../inspectIT/config/inspectit-agent.cfg      | 110 ++++++++++++++++++
 .../inspectIT/config/logging.properties       |  17 +++
 14 files changed, 414 insertions(+)
 create mode 100644 frameworks/inspectIT/.gitignore
 create mode 100644 frameworks/inspectIT/README
 create mode 100644 frameworks/inspectIT/config/common/ejb.cfg
 create mode 100644 frameworks/inspectIT/config/common/exclude-classes.cfg
 create mode 100644 frameworks/inspectIT/config/common/hibernate.cfg
 create mode 100644 frameworks/inspectIT/config/common/http.cfg
 create mode 100644 frameworks/inspectIT/config/common/jpa.cfg
 create mode 100644 frameworks/inspectIT/config/common/jsf.cfg
 create mode 100644 frameworks/inspectIT/config/common/jta.cfg
 create mode 100644 frameworks/inspectIT/config/common/sql-parameters.cfg
 create mode 100644 frameworks/inspectIT/config/common/sql.cfg
 create mode 100644 frameworks/inspectIT/config/common/struts.cfg
 create mode 100644 frameworks/inspectIT/config/inspectit-agent.cfg
 create mode 100644 frameworks/inspectIT/config/logging.properties

diff --git a/frameworks/inspectIT/.gitignore b/frameworks/inspectIT/.gitignore
new file mode 100644
index 0000000..2ad4c7d
--- /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 0000000..1290fdd
--- /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 0000000..e1b6a10
--- /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 0000000..97bd500
--- /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 0000000..dbbfa43
--- /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 0000000..a1e993d
--- /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 0000000..6ddfaa1
--- /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 0000000..9d96660
--- /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 0000000..411b129
--- /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 0000000..08d4580
--- /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 0000000..90204a3
--- /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 0000000..f40cbd7
--- /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 0000000..f323da2
--- /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 0000000..9cf6de2
--- /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
-- 
GitLab