From: Andreas Müller Date: Thu, 18 Apr 2013 14:34:00 +0000 (+0000) Subject: move ProfilerController to cdmlib-persistence-test X-Git-Tag: cdmlib-parent-3.2.0~90 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/1eafe2db7b1ce724584e0f3b9c45b1ccaca6be84 move ProfilerController to cdmlib-persistence-test --- diff --git a/.gitattributes b/.gitattributes index c8238ee83e..5729d59a97 100644 --- a/.gitattributes +++ b/.gitattributes @@ -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 diff --git a/cdmlib-persistence/pom.xml b/cdmlib-persistence/pom.xml index bf0baa6cf8..4b6d156c00 100644 --- a/cdmlib-persistence/pom.xml +++ b/cdmlib-persistence/pom.xml @@ -335,6 +335,13 @@ p6spy p6spy + + + + com.yourkit + yjp-controller-api-redist + test + - + 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 index 0000000000..b0c8f7b447 --- /dev/null +++ b/cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/profiler/ProfilerController.java @@ -0,0 +1,45 @@ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + +package eu.etaxonomy.cdm.profiler; + +import org.apache.log4j.Logger; + +import com.yourkit.api.Controller; +//TODO move to common +public class ProfilerController { + + + private static final Logger logger = Logger.getLogger(ProfilerController.class); + + private static Controller controller; + private static int memSnapshotCnt = 0; + + private static void init(){ + if(controller == null){ + try { + controller = new Controller(); + memSnapshotCnt = 0; + } catch (Exception e) { + logger.info("The initialization of ProfilerCOntroller fails"); + } + } + } + + public static void memorySnapshot() { + init(); + try { + logger.info("taking memory snapshot " + memSnapshotCnt++); + controller.captureMemorySnapshot(); + } catch (Exception e) { + logger.info("taking memory snapshot " + memSnapshotCnt++ + " fails"); + } + } + +}