Example usage for org.hibernate.stat Statistics getSecondLevelCacheStatistics

List of usage examples for org.hibernate.stat Statistics getSecondLevelCacheStatistics

Introduction

In this page you can find the example usage for org.hibernate.stat Statistics getSecondLevelCacheStatistics.

Prototype

@Deprecated
SecondLevelCacheStatistics getSecondLevelCacheStatistics(String regionName);

Source Link

Document

Second-level cache statistics per region

Usage

From source file:com.daphne.es.monitor.web.controller.HibernateCacheMonitorController.java

License:Apache License

private void setMemoryInfo(Model model) {
    ////from ww w .j a va 2  s  . c o  m
    MemoryUsage heapMemoryUsage = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
    long usedSystemMemory = heapMemoryUsage.getUsed();
    long maxSystemMemory = heapMemoryUsage.getMax();
    model.addAttribute("usedSystemMemory", usedSystemMemory);
    model.addAttribute("maxSystemMemory", maxSystemMemory);

    //
    Statistics statistics = (Statistics) model.asMap().get("statistics");
    String[] secondLevelCacheRegionNames = statistics.getSecondLevelCacheRegionNames();

    int totalMemorySize = 0;
    int totalMemoryCount = 0;
    int totalDiskCount = 0;

    for (String secondLevelCacheRegionName : secondLevelCacheRegionNames) {
        SecondLevelCacheStatistics secondLevelCacheStatistics = statistics
                .getSecondLevelCacheStatistics(secondLevelCacheRegionName);
        totalMemorySize += secondLevelCacheStatistics.getSizeInMemory();
        totalMemoryCount += secondLevelCacheStatistics.getElementCountInMemory();
        totalDiskCount += secondLevelCacheStatistics.getElementCountOnDisk();
    }

    model.addAttribute("totalMemorySize", totalMemorySize);
    model.addAttribute("totalMemoryCount", totalMemoryCount);
    model.addAttribute("totalDiskCount", totalDiskCount);
}

From source file:com.francetelecom.clara.cloud.scalability.helper.StatisticsHelper.java

License:Apache License

private static void secondLevelStats(Statistics stats, String name) {
    logger.info("Second level statistics for " + name);

    SecondLevelCacheStatistics slStats = stats.getSecondLevelCacheStatistics(name);

    logger.info("  Elements in memory : " + slStats.getElementCountInMemory());
    logger.info("  Element on disk : " + slStats.getElementCountOnDisk());
    logger.info("  Entries : " + slStats.getEntries());
    logger.info("  Hit count : " + slStats.getHitCount());
    logger.info("  Miss count : " + slStats.getMissCount());
    logger.info("  Put count : " + slStats.getPutCount());
    logger.info("  Memory size : " + slStats.getSizeInMemory());
}

From source file:com.openkm.servlet.admin.HibernateStatsServlet.java

License:Open Source License

/**
 * Refresh stats//from w  ww.j av  a 2  s.c  o  m
 */
private synchronized void refresh() {
    Statistics statistics = HibernateUtil.getSessionFactory().getStatistics();
    generalStatistics.set(0, statistics.getConnectCount());
    generalStatistics.set(1, statistics.getFlushCount());
    generalStatistics.set(2, statistics.getPrepareStatementCount());
    generalStatistics.set(3, statistics.getCloseStatementCount());
    generalStatistics.set(4, statistics.getSessionCloseCount());
    generalStatistics.set(5, statistics.getSessionOpenCount());
    generalStatistics.set(6, statistics.getTransactionCount());
    generalStatistics.set(7, statistics.getSuccessfulTransactionCount());
    generalStatistics.set(8, statistics.getOptimisticFailureCount());
    queryStatistics.clear();
    String[] names = statistics.getQueries();

    if (names != null && names.length > 0) {
        for (int i = 0; i < names.length; i++) {
            queryStatistics.put(names[i], statistics.getQueryStatistics(names[i]));
        }
    }

    entityStatistics.clear();
    names = statistics.getEntityNames();

    if (names != null && names.length > 0) {
        for (int i = 0; i < names.length; i++) {
            entityStatistics.put(names[i], statistics.getEntityStatistics(names[i]));
        }
    }

    collectionStatistics.clear();
    names = statistics.getCollectionRoleNames();

    if (names != null && names.length > 0) {
        for (int i = 0; i < names.length; i++) {
            collectionStatistics.put(names[i], statistics.getCollectionStatistics(names[i]));
        }
    }

    secondLevelCacheStatistics.clear();
    names = statistics.getSecondLevelCacheRegionNames();

    if (names != null && names.length > 0) {
        for (int i = 0; i < names.length; i++) {
            secondLevelCacheStatistics.put(names[i], statistics.getSecondLevelCacheStatistics(names[i]));
        }
    }
}

From source file:net.sf.ehcache.hibernate.management.impl.HibernateStatsImpl.java

License:Apache License

/**
 * {@inheritDoc}//from www.j av a2s  .c o m
 */
public TabularData getCacheRegionStats() {
    List<CompositeData> list = new ArrayList<CompositeData>();
    Statistics statistics = getStatistics();
    for (String region : statistics.getSecondLevelCacheRegionNames()) {
        CacheRegionStats l2CacheStats = new CacheRegionStats(region,
                statistics.getSecondLevelCacheStatistics(region));
        list.add(l2CacheStats.toCompositeData());
    }
    TabularData td = CacheRegionStats.newTabularDataInstance();
    td.putAll(list.toArray(new CompositeData[list.size()]));
    return td;
}

From source file:org.bedework.calcore.hibernate.DbStatistics.java

License:Apache License

private static void secondLevelStats(Collection<StatsEntry> c, Statistics dbStats, String name) {
    c.add(new StatsEntry("Second level statistics for " + name));

    SecondLevelCacheStatistics slStats = dbStats.getSecondLevelCacheStatistics(name);

    c.add(new StatsEntry("Elements in memory", slStats.getElementCountInMemory()));
    c.add(new StatsEntry("Element on disk", slStats.getElementCountOnDisk()));
    //c.add(new StatsEntry("Entries", slStats.getEntries()));
    c.add(new StatsEntry("Hit count", slStats.getHitCount()));
    c.add(new StatsEntry("Miss count", slStats.getMissCount()));
    c.add(new StatsEntry("Put count", slStats.getPutCount()));
    c.add(new StatsEntry("Memory size", slStats.getSizeInMemory()));
}

From source file:org.horizontaldb.shard.hibernate.AbstractDaoEnricher.java

License:Apache License

private void logSlcStats(Session session, String tenantId) {
    if (LOG.isTraceEnabled() && session != null) {
        Statistics statistics = session.getSessionFactory().getStatistics();

        if (statistics != null && statistics.isStatisticsEnabled()) {
            String[] regions = statistics.getSecondLevelCacheRegionNames();

            for (String region : regions) {
                SecondLevelCacheStatistics stat = statistics.getSecondLevelCacheStatistics(region);

                LOG.trace(String.format(
                        "secondLevelCacheStatistics.%s.%s=hits[%s], misses[%s], puts[%s], memCount[%s], memSize[%s], diskCount[%s]",
                        tenantId, region, stat.getHitCount(), stat.getMissCount(), stat.getPutCount(),
                        stat.getElementCountInMemory(), stat.getSizeInMemory(), stat.getElementCountOnDisk()));
            }/* ww  w  .j av a2  s.  co m*/
        }
    }
}

From source file:org.infinispan.test.hibernate.cache.commons.functional.ReadWriteTest.java

License:LGPL

@Test
public void testCollectionCache() throws Exception {
    final Statistics stats = sessionFactory().getStatistics();
    stats.clear();//from   w  ww.  j a v a2s . c  o  m

    final Item item = new Item("chris", "Chris's Item");
    final Item another = new Item("another", "Owned Item");
    item.addItem(another);

    withTxSession(s -> {
        s.persist(item);
        s.persist(another);
    });
    // The collection has been removed, but we can't add it again immediately using putFromLoad
    TIME_SERVICE.advance(1);

    withTxSession(s -> {
        Item loaded = s.load(Item.class, item.getId());
        assertEquals(1, loaded.getItems().size());
    });

    String itemsRegionName = Item.class.getName() + ".items";
    SecondLevelCacheStatistics cStats = stats.getSecondLevelCacheStatistics(itemsRegionName);
    assertEquals(1, cStats.getElementCountInMemory());

    withTxSession(s -> {
        Item loadedWithCachedCollection = (Item) s.load(Item.class, item.getId());
        stats.logSummary();
        assertEquals(item.getName(), loadedWithCachedCollection.getName());
        assertEquals(item.getItems().size(), loadedWithCachedCollection.getItems().size());
        assertEquals(1, cStats.getHitCount());
        assertEquals(1,
                TEST_SESSION_ACCESS.getRegion(sessionFactory(), itemsRegionName).getElementCountInMemory());
        Item itemElement = loadedWithCachedCollection.getItems().iterator().next();
        itemElement.setOwner(null);
        loadedWithCachedCollection.getItems().clear();
        s.delete(itemElement);
        s.delete(loadedWithCachedCollection);
    });
}

From source file:org.infinispan.test.hibernate.cache.commons.functional.ReadWriteTest.java

License:LGPL

@Test
@TestForIssue(jiraKey = "HHH-9231")
public void testAddNewOneToManyElementInitFlushLeaveCacheConsistent() throws Exception {
    Statistics stats = sessionFactory().getStatistics();
    stats.clear();//from   w ww  .j a va2  s.  c o  m
    SecondLevelCacheStatistics cStats = stats.getSecondLevelCacheStatistics(Item.class.getName() + ".items");

    ByRef<Long> itemId = new ByRef<>(null);
    saveItem(itemId);

    // create an element for item.itsms
    Item itemElement = new Item();
    itemElement.setName("element");
    itemElement.setDescription("element item");

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        assertFalse(Hibernate.isInitialized(item.getItems()));
        // Add an element to item.items (a Set); it will initialize the Set.
        item.addItem(itemElement);
        assertTrue(Hibernate.isInitialized(item.getItems()));
        s.persist(itemElement);
        s.flush();
        markRollbackOnly(s);
    });

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        Hibernate.initialize(item.getItems());
        assertTrue(item.getItems().isEmpty());
        s.delete(item);
    });
}

From source file:org.infinispan.test.hibernate.cache.commons.functional.ReadWriteTest.java

License:LGPL

@Test
@TestForIssue(jiraKey = "HHH-9231")
public void testAddNewOneToManyElementNoInitFlushLeaveCacheConsistent() throws Exception {
    Statistics stats = sessionFactory().getStatistics();
    stats.clear();// ww w  . j a  v a 2s . co  m
    SecondLevelCacheStatistics cStats = stats.getSecondLevelCacheStatistics(Item.class.getName() + ".items");

    ByRef<Long> itemId = new ByRef<>(null);

    saveItem(itemId);

    // create an element for item.bagOfItems
    Item itemElement = new Item();
    itemElement.setName("element");
    itemElement.setDescription("element item");

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        assertFalse(Hibernate.isInitialized(item.getItems()));
        // Add an element to item.bagOfItems (a bag); it will not initialize the bag.
        item.addItemToBag(itemElement);
        assertFalse(Hibernate.isInitialized(item.getBagOfItems()));
        s.persist(itemElement);
        s.flush();
        markRollbackOnly(s);
    });

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        Hibernate.initialize(item.getItems());
        assertTrue(item.getItems().isEmpty());
        s.delete(item);
    });
}

From source file:org.infinispan.test.hibernate.cache.commons.functional.ReadWriteTest.java

License:LGPL

@Test
public void testAddNewOneToManyElementNoInitFlushInitLeaveCacheConsistent() throws Exception {
    Statistics stats = sessionFactory().getStatistics();
    stats.clear();//from   w w w  . jav a2s .  c  om
    SecondLevelCacheStatistics cStats = stats.getSecondLevelCacheStatistics(Item.class.getName() + ".items");

    ByRef<Long> itemId = new ByRef<>(null);

    saveItem(itemId);

    // create an element for item.bagOfItems
    Item itemElement = new Item();
    itemElement.setName("element");
    itemElement.setDescription("element item");

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        assertFalse(Hibernate.isInitialized(item.getBagOfItems()));
        // Add an element to item.bagOfItems (a bag); it will not initialize the bag.
        item.addItemToBag(itemElement);
        assertFalse(Hibernate.isInitialized(item.getBagOfItems()));
        s.persist(itemElement);
        s.flush();
        // Now initialize the collection; it will contain the uncommitted itemElement.
        Hibernate.initialize(item.getBagOfItems());
        markRollbackOnly(s);
    });

    withTxSession(s -> {
        Item item = s.get(Item.class, itemId.get());
        // Because of HHH-9231, the following will fail due to ObjectNotFoundException because the
        // collection will be read from the cache and it still contains the uncommitted element,
        // which cannot be found.
        Hibernate.initialize(item.getBagOfItems());
        assertTrue(item.getBagOfItems().isEmpty());
        s.delete(item);
    });
}