keycloak-uncached

added tracer

11/7/2019 4:49:59 PM

Changes

adapters/pom.xml 58(+58 -0)

authz/pom.xml 58(+58 -0)

blacklist 5(+5 -0)

common/pom.xml 52(+52 -0)

core/pom.xml 55(+54 -1)

docker-compose.yml 38(+37 -1)

examples/pom.xml 54(+54 -0)

federation/pom.xml 57(+57 -0)

ignored 125(+125 -0)

integration/pom.xml 58(+58 -0)

model/pom.xml 58(+56 -2)

pom.xml 7(+6 -1)

run.sh 4(+2 -2)

saml-core/pom.xml 51(+51 -0)

server-spi/pom.xml 56(+55 -1)

services/pom.xml 51(+51 -0)

whitelist 3(+3 -0)

wildfly/pom.xml 58(+58 -0)

Details

adapters/pom.xml 58(+58 -0)

diff --git a/adapters/pom.xml b/adapters/pom.xml
index 394f0ff..8c42f86 100755
--- a/adapters/pom.xml
+++ b/adapters/pom.xml
@@ -35,4 +35,62 @@
         <module>saml</module>
         <module>oidc</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>

authz/pom.xml 58(+58 -0)

diff --git a/authz/pom.xml b/authz/pom.xml
index d66b4d3..1c3e5df 100644
--- a/authz/pom.xml
+++ b/authz/pom.xml
@@ -21,4 +21,62 @@
         <module>policy</module>
         <module>client</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>
\ No newline at end of file

blacklist 5(+5 -0)

diff --git a/blacklist b/blacklist
new file mode 100644
index 0000000..79c3c53
--- /dev/null
+++ b/blacklist
@@ -0,0 +1,5 @@
+public static transient java.lang.Object org.keycloak.common.util.reflections.Reflections.invokeMethod(boolean, java.lang.reflect.Method, java.lang.Class, java.lang.Object, java.lang.Object[])
+public static transient java.lang.Object org.keycloak.common.util.reflections.Reflections.invokeMethod(boolean, java.lang.reflect.Method, java.lang.Object, java.lang.Object[])
+public static java.lang.Object org.keycloak.util.JsonSerialization.readValue(java.io.InputStream, java.lang.Class, boolean)
+public static java.lang.Object org.keycloak.util.JsonSerialization.readValue(java.io.InputStream, java.lang.Class)
+public java.lang.Object org.keycloak.json.StringOrArrayDeserializer.deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext)
\ No newline at end of file

common/pom.xml 52(+52 -0)

diff --git a/common/pom.xml b/common/pom.xml
index 0bcd6bb..2fcb6ad 100755
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -63,7 +63,13 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
     </dependencies>
+
     <build>
         <resources>
             <resource>
@@ -72,6 +78,52 @@
             </resource>
         </resources>
         <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
             <!-- Adding OSGI metadata to the JAR without changing the packaging type. -->
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>

core/pom.xml 55(+54 -1)

diff --git a/core/pom.xml b/core/pom.xml
index e9b1fbe..f97d063 100755
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -70,7 +70,14 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-    </dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
+
     <build>
         <resources>
             <resource>
@@ -79,6 +86,52 @@
             </resource>
         </resources>
         <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
             <!-- Adding OSGI metadata to the JAR without changing the packaging type. -->
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 3d06e91..5a94738 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -56,5 +56,62 @@
             </modules>
         </profile>
     </profiles>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
 
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>

docker-compose.yml 38(+37 -1)

diff --git a/docker-compose.yml b/docker-compose.yml
index 5e4af2b..35d3cf3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -3,9 +3,26 @@ services:
   application:
     build: .
     container_name: keycloak
+    depends_on:
+      - "database"
+    links:
+      - database
+    command: bash -c 'while !</dev/tcp/database/3306; do sleep 5; done; bash run.sh'
+    environment:
+      - JAVA_OPTS=${JAVA_OPTS:-"-Xms4096m -Xmx6124m"}
+      - TRACER_ENABLE=${TRACER_ENABLE:-true}
+      - TRACER_MINIMUM_EXECUTION_TIME=${TRACER_MINIMUM_EXECUTION_TIME:-1}
+      - TRACER_SERIALISE_INTERNALS=false
+      - TRACER_VERBOSE=true
+      - TRACER_TRACES=/caching-approaches-comparison/applications/traces/keycloak
+      - TRACER_LOG=/caching-approaches-comparison/applications/output/keycloak-tracer.log
+      - TRACER_BLACKLIST=/caching-approaches-comparison/applications/uncached/keycloak/blacklist
+      - TRACER_IGNORED_PACKAGES=/caching-approaches-comparison/applications/uncached/keycloak/ignored
+      - TRACER_WHITELIST=/caching-approaches-comparison/applications/uncached/keycloak/whitelist
     volumes:
       - application:/application
       - /root/.m2:/root/.m2
+      - ../../../:/caching-approaches-comparison
     restart: unless-stopped
     ports:
       - 8080:8081
@@ -13,5 +30,24 @@ services:
       options:
         max-size: "10m"
         max-file: "10"
+
+  database:
+    image: mysql:5.7.22
+    expose:
+      - 3306
+    volumes:
+      - ../../dumps/keycloak.sql:/docker-entrypoint-initdb.d/init.sql
+      - database:/var/lib/mysql
+    environment:
+      MYSQL_USER: root
+      MYSQL_ROOT_PASSWORD: root
+      MYSQL_DATABASE: keycloak
+    restart: unless-stopped
+    logging:
+      options:
+        max-size: "10m"
+        max-file: "10"
+
 volumes:
-  application:
\ No newline at end of file
+  application:
+  database:
\ No newline at end of file

examples/pom.xml 54(+54 -0)

diff --git a/examples/pom.xml b/examples/pom.xml
index 4a55ef9..4d5e48c 100755
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -30,9 +30,63 @@
     <artifactId>keycloak-examples-parent</artifactId>
     <packaging>pom</packaging>
 
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
     <build>
         <pluginManagement>
             <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-deploy-plugin</artifactId>

federation/pom.xml 57(+57 -0)

diff --git a/federation/pom.xml b/federation/pom.xml
index 9055737..9a7e0be 100755
--- a/federation/pom.xml
+++ b/federation/pom.xml
@@ -37,5 +37,62 @@
         <module>ldap</module>
         <module>sssd</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
 
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>

ignored 125(+125 -0)

diff --git a/ignored b/ignored
new file mode 100644
index 0000000..403928b
--- /dev/null
+++ b/ignored
@@ -0,0 +1,125 @@
+org.keycloak
+br.ufrgs.inf.prosoft.applicationtracer
+ant-contrib
+ant
+aopalliance
+bouncycastle
+ca.szc.thirdparty.nl.jworks.markdown_to_asciidoc
+com.bazaarvoice.maven.plugins
+com.carma
+com.fasterxml.jackson.core
+com.fasterxml.jackson.jaxrs
+com.fasterxml.jackson.module
+com.fasterxml.woodstox
+com.github.eirslett
+com.github.jnr
+com.github.relaxng
+com.google.code.maven-replacer-plugin
+com.google.guava
+com.google.inject.extensions
+com.google.inject
+com.google.zxing
+com.googlecode.maven-download-plugin
+com.googlecode.owasp-java-html-sanitizer
+com.h2database
+com.icegreen
+com.igormaznitsa
+com.lazerycode.jmeter
+com.openshift
+com.samaxes.maven
+com.spotify
+com.sun.istack
+com.sun.xml.bind.external
+com.sun.xsom
+com.thoughtworks.xstream
+commons-configuration
+commons-io
+commons-logging
+commons-validator
+dom4j
+io.appium
+io.gatling.highcharts
+io.gatling
+io.github.swagger2markup
+io.undertow.jastow
+io.undertow
+javax.enterprise
+javax.mail
+javax.persistence
+javax.ws.rs
+javax.xml.bind
+jfree
+junit
+log4j
+mysql
+net.alchim31.maven
+net.java.dev.jna
+nl.jworks.markdown_to_asciidoc
+org.aesh
+org.antlr
+org.apache.ant
+org.apache.bsf
+org.apache.camel
+org.apache.commons
+org.apache.cxf
+org.apache.directory.api
+org.apache.directory.server
+org.apache.felix
+org.apache.geronimo.specs
+org.apache.httpcomponents
+org.apache.james
+org.apache.jmeter
+org.apache.maven.plugin-tools
+org.apache.maven.plugins
+org.apache.maven.wagon
+org.apache.maven
+org.apache.santuario
+org.apache.sshd
+org.apache.tomcat.embed
+org.apache.tomcat
+org.arquillian.extension
+org.asciidoctor
+org.aspectj
+org.assertj
+org.bouncycastle
+org.codehaus.gmavenplus
+org.codehaus.groovy
+org.codehaus.mojo
+org.codehaus.plexus
+org.commonjava.maven.plugins
+org.drools
+org.eclipse.aether
+org.eclipse.jdt.core.compiler
+org.eclipse.jetty.websocket
+org.eclipse.jetty
+org.eclipse.sisu
+org.freemarker
+org.glassfish
+org.hamcrest
+org.hibernate
+org.infinispan
+org.jboss
+org.kie.soup
+org.kie
+org.liquibase
+org.mariadb.jdbc
+org.mockito
+org.mvel
+org.ops4j.pax.web
+org.osgi
+org.picketbox
+org.picketlink
+org.postgresql
+org.scala-lang
+org.seleniumhq.selenium
+org.slf4j
+org.sonatype.plexus
+org.sonatype.plugins
+org.springframework
+org.subethamail
+org.testcontainers
+org.twitter4j
+org.wildfly
+org.yaml
+rhino
+xml-apis
\ No newline at end of file

integration/pom.xml 58(+58 -0)

diff --git a/integration/pom.xml b/integration/pom.xml
index 6251d3e..68b75f8 100755
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -35,4 +35,62 @@
         <module>client-registration</module>
         <module>client-cli</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>

model/pom.xml 58(+56 -2)

diff --git a/model/pom.xml b/model/pom.xml
index 17fe53b..a3b2d66 100755
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -39,10 +39,64 @@
                     <skip>true</skip>
                 </configuration>
             </plugin>
-        </plugins>
-    </build>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
     <modules>
         <module>jpa</module>
         <module>infinispan</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
 </project>

pom.xml 7(+6 -1)

diff --git a/pom.xml b/pom.xml
index 27a2e6d..cbe9f62 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1490,7 +1490,12 @@
                 <version>${project.version}</version>
                 <type>zip</type>
             </dependency>
-        </dependencies>
+        <dependency>
+            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+            <artifactId>ApplicationTracer</artifactId>
+            <version>1.0</version>
+        </dependency>
+    </dependencies>
     </dependencyManagement>
 
     <repositories>

run.sh 4(+2 -2)

diff --git a/run.sh b/run.sh
index 78ad209..1027932 100644
--- a/run.sh
+++ b/run.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 if [ ! -e compiled ]; then
-	mvn clean install -DskipTests
+	mvn clean install -DskipTests -Dkeycloak.connectionsJpa.url=jdbc:mysql://database/keycloak -Dkeycloak.connectionsJpa.driver=com.mysql.jdbc.Driver -Dkeycloak.connectionsJpa.user=root -Dkeycloak.connectionsJpa.password=root
 	touch compiled
 fi
-mvn -f testsuite/utils/pom.xml exec:java -Pkeycloak-server
+mvn -f testsuite/utils/pom.xml exec:java -Pkeycloak-server -Dkeycloak.connectionsJpa.url=jdbc:mysql://database/keycloak -Dkeycloak.connectionsJpa.driver=com.mysql.jdbc.Driver -Dkeycloak.connectionsJpa.user=root -Dkeycloak.connectionsJpa.password=root

saml-core/pom.xml 51(+51 -0)

diff --git a/saml-core/pom.xml b/saml-core/pom.xml
index c53c6dd..166dfa4 100755
--- a/saml-core/pom.xml
+++ b/saml-core/pom.xml
@@ -39,6 +39,11 @@
         <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
     </properties>
     <dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
         <dependency>
             <groupId>org.jboss.logging</groupId>
             <artifactId>jboss-logging</artifactId>
@@ -83,6 +88,52 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>aspectj-maven-plugin</artifactId>
+                <version>1.11</version>
+                <configuration>
+                    <showWeaveInfo>false</showWeaveInfo>
+                    <complianceLevel>1.8</complianceLevel>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <Xlint>ignore</Xlint>
+                    <encoding>UTF-8</encoding>
+                    <verbose>false</verbose>
+                    <forceAjcCompile>true</forceAjcCompile>
+                    <sources/>
+                    <weaveDirectories>
+                        <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                    </weaveDirectories>
+                    <aspectLibraries>
+                        <aspectLibrary>
+                            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                            <artifactId>ApplicationTracer</artifactId>
+                        </aspectLibrary>
+                    </aspectLibraries>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjrt</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.aspectj</groupId>
+                        <artifactId>aspectjtools</artifactId>
+                        <version>1.9.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <executions>
diff --git a/saml-core-api/pom.xml b/saml-core-api/pom.xml
index 09cea2b..9b8dcc5 100755
--- a/saml-core-api/pom.xml
+++ b/saml-core-api/pom.xml
@@ -38,6 +38,11 @@
         <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
     </properties>
     <dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
         <dependency>
             <groupId>org.jboss.logging</groupId>
             <artifactId>jboss-logging</artifactId>
@@ -53,7 +58,55 @@
             <artifactId>xmlsec</artifactId>
         </dependency>
     </dependencies>
-    <build>
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
         <resources>
             <resource>
                 <directory>src/main/resources</directory>

server-spi/pom.xml 56(+55 -1)

diff --git a/server-spi/pom.xml b/server-spi/pom.xml
index f341bcd..7a5fe38 100755
--- a/server-spi/pom.xml
+++ b/server-spi/pom.xml
@@ -31,6 +31,11 @@
     <description/>
 
     <dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
         <dependency>
             <groupId>org.jboss.spec.javax.transaction</groupId>
             <artifactId>jboss-transaction-api_1.2_spec</artifactId>
@@ -72,5 +77,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>
diff --git a/server-spi-private/pom.xml b/server-spi-private/pom.xml
index c7e49d3..f85be5e 100755
--- a/server-spi-private/pom.xml
+++ b/server-spi-private/pom.xml
@@ -31,6 +31,11 @@
     <description/>
 
     <dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
             <artifactId>keycloak-server-spi</artifactId>
@@ -87,5 +92,54 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>

services/pom.xml 51(+51 -0)

diff --git a/services/pom.xml b/services/pom.xml
index 246e25a..070a30b 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -182,6 +182,11 @@
             <groupId>com.openshift</groupId>
             <artifactId>openshift-restclient-java</artifactId>
         </dependency>
+        <dependency>
+            <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+            <artifactId>ApplicationTracer</artifactId>
+            <version>1.0</version>
+        </dependency>
     </dependencies>
     <build>
         <plugins>
@@ -335,6 +340,52 @@
                             </execution>
                         </executions>
                     </plugin>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
                 </plugins>
             </build>
         </profile>

whitelist 3(+3 -0)

diff --git a/whitelist b/whitelist
new file mode 100644
index 0000000..3158089
--- /dev/null
+++ b/whitelist
@@ -0,0 +1,3 @@
+br.ufrgs.inf.prosoft.trace
+org.keycloak
+

wildfly/pom.xml 58(+58 -0)

diff --git a/wildfly/pom.xml b/wildfly/pom.xml
index 1daffc2..428bcb6 100755
--- a/wildfly/pom.xml
+++ b/wildfly/pom.xml
@@ -35,4 +35,62 @@
         <module>extensions</module>
         <module>server-subsystem</module>
     </modules>
+<dependencies>
+    <dependency>
+        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+        <artifactId>ApplicationTracer</artifactId>
+        <version>1.0</version>
+    </dependency>
+</dependencies>
+
+<build>
+    <plugins>
+        <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>aspectj-maven-plugin</artifactId>
+            <version>1.11</version>
+            <configuration>
+                <showWeaveInfo>false</showWeaveInfo>
+                <complianceLevel>1.8</complianceLevel>
+                <source>1.8</source>
+                <target>1.8</target>
+                <Xlint>ignore</Xlint>
+                <encoding>UTF-8</encoding>
+                <verbose>false</verbose>
+                <forceAjcCompile>true</forceAjcCompile>
+                <sources/>
+                <weaveDirectories>
+                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
+                </weaveDirectories>
+                <aspectLibraries>
+                    <aspectLibrary>
+                        <groupId>br.ufrgs.inf.prosoft.applicationtracer</groupId>
+                        <artifactId>ApplicationTracer</artifactId>
+                    </aspectLibrary>
+                </aspectLibraries>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>process-classes</phase>
+                    <goals>
+                        <goal>compile</goal>
+                        <goal>test-compile</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <dependencies>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjrt</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.aspectj</groupId>
+                    <artifactId>aspectjtools</artifactId>
+                    <version>1.9.1</version>
+                </dependency>
+            </dependencies>
+        </plugin>
+   </plugins>
+</build>
 </project>