move ProfilerController to cdmlib-persistence-test
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 18 Apr 2013 14:34:00 +0000 (14:34 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 18 Apr 2013 14:34:00 +0000 (14:34 +0000)
.gitattributes
cdmlib-persistence/pom.xml
cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/profiler/ProfilerController.java [new file with mode: 0644]

index c8238ee83eec9ed5ca3ba21c2dee498e94787e33..5729d59a97fa4b10c444fa6e98619a2429298ae2 100644 (file)
@@ -1469,6 +1469,7 @@ cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/hibenate/permissio
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGeneratorTest.java -text
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/hibernate/CdmDeleteListenerTest.java -text
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/hibernate/replace/ReferringObjectMetadataFactoryTest.java -text
+cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/profiler/ProfilerController.java -text
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/test/function/Datasource.java -text
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/test/function/TestCdmApplicationUtils.java -text
 cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/test/function/TestPersistence.java -text
index bf0baa6cf8b8bbd564d064b124b7d3c433f91099..4b6d156c008ffc6bda659ec0e17df5a1fe2e95ab 100644 (file)
         <groupId>p6spy</groupId>
         <artifactId>p6spy</artifactId>
     </dependency>
+  
+       <!-- Profiling -->
+       <dependency>
+               <groupId>com.yourkit</groupId>
+               <artifactId>yjp-controller-api-redist</artifactId>
+               <scope>test</scope>
+       </dependency>
   </dependencies>
-
+  
 </project>
diff --git a/cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/profiler/ProfilerController.java b/cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/profiler/ProfilerController.java
new file mode 100644 (file)
index 0000000..b0c8f7b
--- /dev/null
@@ -0,0 +1,45 @@
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy\r
+* http://www.e-taxonomy.eu\r
+*\r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/ \r
+\r
+package eu.etaxonomy.cdm.profiler;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import com.yourkit.api.Controller;\r
+//TODO move to common\r
+public class ProfilerController {\r
+       \r
+\r
+       private static final Logger logger = Logger.getLogger(ProfilerController.class);\r
+       \r
+       private static Controller controller;\r
+       private static int memSnapshotCnt = 0;\r
+       \r
+       private static void init(){\r
+               if(controller == null){\r
+                       try {\r
+                               controller = new Controller();\r
+                               memSnapshotCnt = 0;\r
+                       } catch (Exception e) {\r
+                               logger.info("The initialization of ProfilerCOntroller fails");\r
+                       }\r
+               }\r
+       }\r
+       \r
+       public static void memorySnapshot() {\r
+               init();\r
+               try {\r
+                       logger.info("taking memory snapshot " + memSnapshotCnt++);\r
+                       controller.captureMemorySnapshot();\r
+               } catch (Exception e) {\r
+                       logger.info("taking memory snapshot " + memSnapshotCnt++ + " fails");\r
+               }\r
+       }\r
+\r
+}\r