Java 类org.hibernate.stat.Statistics 实例源码

项目:micrometer    文件:HibernateMetrics.java   
/**
 * Get the {@code Statistics} object from the underlying {@code SessionFactory}. If it isn't hibernate that is
 * used return {@code null}.
 *
 * @param emf an {@code EntityManagerFactory}
 * @return the {@code Statistics} from the underlying {@code SessionFactory} or {@code null}.
 */
private Statistics getStatistics(EntityManagerFactory emf) {
    try {
        SessionFactory sf = emf.unwrap(SessionFactory.class);
        return sf.getStatistics();
    } catch (PersistenceException pe) {
        return null;
    }
}
项目:engerek    文件:AddGetObjectTest.java   
@Test(enabled = false)
public <T extends ObjectType> void perfTest() throws Exception {
    Statistics stats = getFactory().getStatistics();
    stats.setStatisticsEnabled(true);

    final File OBJECTS_FILE = new File("./src/test/resources/10k-users.xml");
    List<PrismObject<? extends Objectable>> elements = prismContext.parserFor(OBJECTS_FILE).parseObjects();

    long previousCycle = 0;
    long time = System.currentTimeMillis();
    for (int i = 0; i < elements.size(); i++) {
        if (i % 500 == 0) {
            LOGGER.info("Previous cycle time {}. Next cycle: {}", new Object[]{
                    (System.currentTimeMillis() - time - previousCycle), i});
            previousCycle = System.currentTimeMillis() - time;
        }

        PrismObject<T> object = (PrismObject<T>) elements.get(i);
        repositoryService.addObject(object, null, new OperationResult("add performance test"));
    }
    LOGGER.info("Time to add objects ({}): {}",
            new Object[]{elements.size(), (System.currentTimeMillis() - time)});

    stats.logSummary();
}
项目:HibernateTips    文件:TestStatistics.java   
@Test
public void statisticsAPI() {
    log.info("... statisticsAPI ...");

    EntityManager em = emf.createEntityManager();
    em.getTransaction().begin();

    List<Author> authors = em.createQuery("SELECT a FROM Author a", Author.class).getResultList();

    for (Author a : authors) {
        log.info(a.getFirstName() + " " + a.getLastName() + " wrote " + a.getBooks().size());
    }

    SessionFactory sessionFactory = emf.unwrap(SessionFactory.class);
    Statistics stats = sessionFactory.getStatistics();
    long queryCount = stats.getQueryExecutionCount();
    long collectionFetchCount = stats.getCollectionFetchCount();
    log.info("QueryCount: "+queryCount);
    log.info("CollectionFetchCount: "+collectionFetchCount);

    em.getTransaction().commit();
    em.close();
}
项目:ezyfox-db    文件:BaseDbTest.java   
@Test
public void test() {
    SessionFactory factory = SessionFactoryProvider
            .getInstance().provide(Context.class);
    Statistics statistics = factory.getStatistics();
    SecondLevelCacheStatistics secondStat = factory.getStatistics().getSecondLevelCacheStatistics(GameUser.class.getName());
    deleteAll();
    logger.info("==========>>>deleteAll: second level cache hits: " + statistics.getSecondLevelCacheHitCount());
    logger.info("==========>>>deleteAll: query execution hits: " + statistics.getQueryExecutionCount());
    logger.info("==========>>>deleteAll: element count in mem: " + secondStat.getElementCountInMemory());
    intsert5();
    logger.info("==========>>>intsert5: second level cache hits: " + statistics.getSecondLevelCacheHitCount());
    logger.info("==========>>>intsert5: query execution hits: " + statistics.getQueryExecutionCount());
    logger.info("==========>>>intsert5: element count in mem: " + secondStat.getElementCountInMemory());
    doSomeThing();
    logger.info("==========>>>doSomeThing: second level cache hits: " + statistics.getSecondLevelCacheHitCount());
    logger.info("==========>>>doSomeThing: query execution hits: " + statistics.getQueryExecutionCount());
    logger.info("==========>>>doSomeThing: element count in mem: " + secondStat.getElementCountInMemory());
    deleteAll();
    logger.info("==========>>>deleteAll: second level cache hits: " + statistics.getSecondLevelCacheHitCount());
    logger.info("==========>>>deleteAll: query execution hits: " + statistics.getQueryExecutionCount());
    logger.info("==========>>>deleteAll: element count in mem: " + secondStat.getElementCountInMemory());
}
项目:elpaaso-core    文件:ManageStatisticsImpl.java   
private Map<String, Long> getStatsValues(Collection<Class> entities) {
    Statistics stats = getStats();
    Map<String, Long> statistics = new HashMap<String, Long>();
    statistics.put("Number of connection requests", stats.getConnectCount());
    statistics.put("Sessions opened", stats.getSessionOpenCount());
    // statistics.put("Sessions closed", stats.getSessionCloseCount());
    statistics.put("Transactions", stats.getTransactionCount());
    // statistics.put("Successful transactions", stats.getSuccessfulTransactionCount());
    // statistics.put("Successful transactions", stats.getSuccessfulTransactionCount());
    statistics.put("Queries executed", stats.getQueryExecutionCount());
    for(Class entity : entities) {
        EntityStatistics eStats = stats.getEntityStatistics(entity.getName());
        statistics.put(entity.getSimpleName() + " Fetched", eStats.getFetchCount());
        statistics.put(entity.getSimpleName() + " Loaded", eStats.getLoadCount());
        statistics.put(entity.getSimpleName() + " Inserted", eStats.getInsertCount());
        statistics.put(entity.getSimpleName() + " Deleted", eStats.getDeleteCount());
        statistics.put(entity.getSimpleName() + " Updated", eStats.getUpdateCount());
    }
    return statistics;
}
项目:midpoint    文件:AddGetObjectTest.java   
@Test(enabled = false)
public <T extends ObjectType> void perfTest() throws Exception {
    Statistics stats = getFactory().getStatistics();
    stats.setStatisticsEnabled(true);

    final File OBJECTS_FILE = new File("./src/test/resources/10k-users.xml");
    List<PrismObject<? extends Objectable>> elements = prismContext.parserFor(OBJECTS_FILE).parseObjects();

    long previousCycle = 0;
    long time = System.currentTimeMillis();
    for (int i = 0; i < elements.size(); i++) {
        if (i % 500 == 0) {
            LOGGER.info("Previous cycle time {}. Next cycle: {}", new Object[]{
                    (System.currentTimeMillis() - time - previousCycle), i});
            previousCycle = System.currentTimeMillis() - time;
        }

        PrismObject<T> object = (PrismObject<T>) elements.get(i);
        repositoryService.addObject(object, null, new OperationResult("add performance test"));
    }
    LOGGER.info("Time to add objects ({}): {}",
            new Object[]{elements.size(), (System.currentTimeMillis() - time)});

    stats.logSummary();
}
项目:saos    文件:SecondLevelCacheTest.java   
@Test
public void test() {
    Cache cache = entityManager.getEntityManagerFactory().getCache();
    cache.evictAll();
    Statistics statistics = ((Session)(entityManager.getDelegate())).getSessionFactory().getStatistics();
    statistics.clear();

    CommonCourt commonCourt = testPersistenceObjectFactory.createCcCourt(CommonCourtType.APPEAL);

    commonCourtRepository.findOne(commonCourt.getId());
    commonCourtRepository.findOne(commonCourt.getId());

    Assert.assertTrue(cache.contains(CommonCourt.class, commonCourt.getId()));
    Assert.assertTrue(cache.contains(CommonCourtDivision.class, commonCourt.getDivisions().get(0).getId()));
    Assert.assertTrue(cache.contains(CommonCourtDivision.class, commonCourt.getDivisions().get(1).getId()));
    cache.evict(CommonCourt.class);
    cache.evict(CommonCourtDivision.class);
    Assert.assertFalse(cache.contains(CommonCourt.class, commonCourt.getId()));
    Assert.assertFalse(cache.contains(CommonCourtDivision.class, commonCourt.getDivisions().get(0).getId()));
    Assert.assertFalse(cache.contains(CommonCourtDivision.class, commonCourt.getDivisions().get(1).getId()));

    Assert.assertEquals(5, statistics.getSecondLevelCachePutCount()); // 1 commonCourt + 2 ccDivision + 2 ccDivisionType
    Assert.assertEquals(2, statistics.getSecondLevelCacheHitCount());
    Assert.assertEquals(0, statistics.getSecondLevelCacheMissCount());

}
项目:midpoint    文件:AddGetObjectTest.java   
@Test(enabled = false)
public <T extends ObjectType> void perfTest() throws Exception {
    Statistics stats = getFactory().getStatistics();
    stats.setStatisticsEnabled(true);

    final File OBJECTS_FILE = new File("./src/test/resources/10k-users.xml");
    List<PrismObject<? extends Objectable>> elements = prismContext.parserFor(OBJECTS_FILE).parseObjects();

    long previousCycle = 0;
    long time = System.currentTimeMillis();
    for (int i = 0; i < elements.size(); i++) {
        if (i % 500 == 0) {
            LOGGER.info("Previous cycle time {}. Next cycle: {}", new Object[]{
                    (System.currentTimeMillis() - time - previousCycle), i});
            previousCycle = System.currentTimeMillis() - time;
        }

        PrismObject<T> object = (PrismObject<T>) elements.get(i);
        repositoryService.addObject(object, null, new OperationResult("add performance test"));
    }
    LOGGER.info("Time to add objects ({}): {}",
            new Object[]{elements.size(), (System.currentTimeMillis() - time)});

    stats.logSummary();
}
项目:micrometer    文件:HibernateMetrics.java   
private void counter(MeterRegistry registry, String name, String description, ToDoubleFunction<Statistics> f, String... extraTags) {
    FunctionCounter.builder(name, stats, f)
        .tags(tags)
        .tags(extraTags)
        .description(description)
        .register(registry);
}
项目:micrometer    文件:HibernateMetricsTest.java   
private static EntityManagerFactory createEntityManagerFactoryMock(final boolean statsEnabled) {
    EntityManagerFactory emf = Mockito.mock(EntityManagerFactory.class);
    SessionFactory sf = Mockito.mock(SessionFactory.class);
    Statistics stats = Mockito.mock(Statistics.class, invocation -> {
        if (invocation.getMethod().getName().equals("isStatisticsEnabled")) {
            return statsEnabled;
        }
        return 42L;
    });
    when(emf.unwrap(SessionFactory.class)).thenReturn(sf);
    when(sf.getStatistics()).thenReturn(stats);
    return emf;
}
项目:oma-riista-web    文件:HibernateStatisticsVerifier.java   
protected void verifyQueryCount(final Statistics stats) {
    final long totalQueryCount = Math.max(stats.getQueryExecutionCount(), stats.getPrepareStatementCount());

    if (assertions.maxQueries() >= 0 && totalQueryCount > assertions.maxQueries()) {
        final StringBuilder msgBuf = new StringBuilder();

        msgBuf.append("Statements prepared: ").append(stats.getPrepareStatementCount());

        // Create list of queries for debugging purposes
        final List<String> queryLines = Stream.of(stats.getQueries())
                .map(query -> {
                    final QueryStatistics qStats = stats.getQueryStatistics(query);
                    return Tuple.of(qStats.getExecutionCount(), query);
                })
                .sorted(reverseOrder())
                .map(pair -> String.format("%s: %s", StringUtils.leftPad(pair._1.toString(), 3, ' '), pair._2))
                .collect(toList());

        if (!queryLines.isEmpty()) {
            msgBuf.append("\n  Queries (ordered by execution count): ")
                    .append(stats.getQueryExecutionCount())
                    .append("\n  ")
                    .append(Joiner.on("\n  ").join(queryLines));
        }

        throw new MaximumQueryCountExceededException(String.format("%s\n  %s\n",
                MaximumQueryCountExceededException.getErrorMessage(assertions.maxQueries(), totalQueryCount),
                msgBuf.toString()));
    }

    if (assertions.queryCount() >= 0 && totalQueryCount != assertions.queryCount()) {
        throw new QueryCountAssertionException(assertions.queryCount(), totalQueryCount);
    }
}
项目:springJpaKata    文件:JmxConfig.java   
@Bean
@DependsOn("statisticsService")
public MBeanExporter jmxService(Statistics statistics) {
    MBeanExporter exporter = new MBeanExporter();
    exporter.setBeans(ImmutableMap.of("Hibernate:application=Statistics", (Object) statistics));
    return exporter;
}
项目:cacheonix-core    文件:StatisticsTest.java   
public void testSessionStats() throws Exception {

    SessionFactory sf = getSessions();
    Statistics stats = sf.getStatistics();
    boolean isStats = stats.isStatisticsEnabled();
    stats.clear();
    stats.setStatisticsEnabled(true);
    Session s = sf.openSession();
    assertEquals( 1, stats.getSessionOpenCount() );
    s.close();
    assertEquals( 1, stats.getSessionCloseCount() );
    s = sf.openSession();
    Transaction tx = s.beginTransaction();
    A a = new A();
    a.setName("mya");
    s.save(a);
    a.setName("b");
    tx.commit();
    s.close();
    assertEquals( 1, stats.getFlushCount() );
    s = sf.openSession();
    tx = s.beginTransaction();
    String hql = "from " + A.class.getName();
    Query q = s.createQuery(hql);
    q.list();
    tx.commit();
    s.close();
    assertEquals(1, stats.getQueryExecutionCount() );
    assertEquals(1, stats.getQueryStatistics(hql).getExecutionCount() );

    stats.setStatisticsEnabled(isStats);
}
项目:cacheonix-core    文件:SessionStatsTest.java   
public void testSessionStatistics() throws Exception {
    Session s = openSession();
    Transaction tx = s.beginTransaction();
    Statistics stats = getSessions().getStatistics();
    stats.clear();
    boolean isStats = stats.isStatisticsEnabled();
    stats.setStatisticsEnabled(true);
    Continent europe = fillDb(s);
    tx.commit();
    s.clear();
    tx = s.beginTransaction();
    SessionStatistics sessionStats = s.getStatistics();
    assertEquals( 0, sessionStats.getEntityKeys().size() );
    assertEquals( 0, sessionStats.getEntityCount() );
    assertEquals( 0, sessionStats.getCollectionKeys().size() );
    assertEquals( 0, sessionStats.getCollectionCount() );
    europe = (Continent) s.get( Continent.class, europe.getId() );
    Hibernate.initialize( europe.getCountries() );
    Hibernate.initialize( europe.getCountries().iterator().next() );
    assertEquals( 2, sessionStats.getEntityKeys().size() );
    assertEquals( 2, sessionStats.getEntityCount() );
    assertEquals( 1, sessionStats.getCollectionKeys().size() );
    assertEquals( 1, sessionStats.getCollectionCount() );
    tx.commit();
    s.close();

    stats.setStatisticsEnabled( isStats);

}
项目:cacheonix-core    文件:BaseCacheProviderTestCase.java   
public void testEmptySecondLevelCacheEntry() throws Exception {
    getSessions().evictEntity( Item.class.getName() );
    Statistics stats = getSessions().getStatistics();
    stats.clear();
    SecondLevelCacheStatistics statistics = stats.getSecondLevelCacheStatistics( Item.class.getName() );
       Map cacheEntries = statistics.getEntries();
    assertEquals( 0, cacheEntries.size() );
}
项目:elpaaso-core    文件:PaasServicesScalabilityIT.java   
private void scalabilityOnPopulate(String pattern, String teamName, int nbApp, int nbReleasePerApp, int nbEnvPerRelease) throws BusinessException, MalformedURLException {
    // Set reference values
    Map<HibernateStatsReferenceType, Long> refs = new HashMap<HibernateStatsReferenceType, Long>(14);
    refs.put(HibernateStatsReferenceType.DURATION, Long.valueOf(3600000));
    refs.put(HibernateStatsReferenceType.QUERY_COUNT, Long.valueOf(1152));
    refs.put(HibernateStatsReferenceType.QUERY_MAX_TIME_MS, Long.valueOf(1700));

    refs.put(HibernateStatsReferenceType.ENTITY_FETCH_COUNT, Long.valueOf(8016));
    refs.put(HibernateStatsReferenceType.ENTITY_LOAD_COUNT, Long.valueOf(43968));
    refs.put(HibernateStatsReferenceType.ENTITY_INSERT_COUNT, Long.valueOf(44455));
    refs.put(HibernateStatsReferenceType.ENTITY_DELETE_COUNT, Long.valueOf(0));
    refs.put(HibernateStatsReferenceType.ENTITY_UPDATE_COUNT, Long.valueOf(3480));

    refs.put(HibernateStatsReferenceType.COLLECTION_FETCH_COUNT, Long.valueOf(16360));
    refs.put(HibernateStatsReferenceType.COLLECTION_LOAD_COUNT, Long.valueOf(16982));
    refs.put(HibernateStatsReferenceType.COLLECTION_RECREATE_COUNT, Long.valueOf(29000));
    refs.put(HibernateStatsReferenceType.COLLECTION_REMOVE_COUNT, Long.valueOf(0));
    refs.put(HibernateStatsReferenceType.COLLECTION_UPDATE_COUNT, Long.valueOf(75));

    // Creation of all paas users, app, app release and env
    long startTime = System.currentTimeMillis();
    manageScalability.populate(pattern, teamName, nbApp, nbReleasePerApp, nbEnvPerRelease);

       long duration = System.currentTimeMillis() - startTime;
       Statistics stats = sessionFactory.getStatistics();
       logger.info("Test duration : " + duration);
       StatisticsHelper.logStats(stats);

    // Check stats
       // Durations are not ignored as checking durations tends to make this test fragile due to IaaS and DBaaS response time dependencies
       HibernateStatsHelper.checkStatsIgnoringDuration(refs, stats);
}
项目:spring-data-jpa-datatables    文件:RelationshipsRepositoryTest.java   
@Test
public void checkFetchJoin() {
    Statistics statistics = sessionFactory.getStatistics();
    statistics.setStatisticsEnabled(true);

    DataTablesOutput<A> output = getOutput(input);

    assertThat(output.getRecordsFiltered()).isEqualTo(3);
    assertThat(statistics.getPrepareStatementCount()).isEqualTo(2);
    assertThat(statistics.getEntityLoadCount()).isEqualTo(3 /* A */ + 3 /* C */);
}
项目:yona-server    文件:HibernateStatisticsService.java   
private Optional<Statistics> getHibernateStatistics()
{
    try
    {
        return Optional.ofNullable(sessionFactory.getStatistics());
    }
    catch (PersistenceException e)
    {
        logger.error("Cannot get statistics", e);
        return Optional.empty();
    }
}
项目:yona-server    文件:HibernateStatisticsService.java   
public StatisticsDto(Statistics statistics)
{
    this.closeStatementCount = statistics.getCloseStatementCount();
    this.collectionFetchCount = statistics.getCollectionFetchCount();
    this.collectionLoadCount = statistics.getCollectionLoadCount();
    this.collectionRecreateCount = statistics.getCollectionRecreateCount();
    this.collectionRemoveCount = statistics.getCollectionRemoveCount();
    this.collectionUpdateCount = statistics.getCollectionUpdateCount();
    this.connectCount = statistics.getConnectCount();
    this.entityDeleteCount = statistics.getEntityDeleteCount();
    this.entityFetchCount = statistics.getEntityFetchCount();
    this.entityInsertCount = statistics.getEntityInsertCount();
    this.entityLoadCount = statistics.getEntityLoadCount();
    this.entityUpdateCount = statistics.getEntityUpdateCount();
    this.flushCount = statistics.getFlushCount();
    this.optimisticFailureCount = statistics.getOptimisticFailureCount();
    this.prepareStatementCount = statistics.getPrepareStatementCount();
    this.queryCacheHitCount = statistics.getQueryCacheHitCount();
    this.queryCacheMissCount = statistics.getQueryCacheMissCount();
    this.queryCachePutCount = statistics.getQueryCachePutCount();
    this.queryExecutionCount = statistics.getQueryExecutionCount();
    this.queryExecutionMaxTime = statistics.getQueryExecutionMaxTime();
    this.secondLevelCacheHitCount = statistics.getSecondLevelCacheHitCount();
    this.secondLevelCacheMissCount = statistics.getSecondLevelCacheMissCount();
    this.secondLevelCachePutCount = statistics.getSecondLevelCachePutCount();
    this.sessionCloseCount = statistics.getSessionCloseCount();
    this.sessionOpenCount = statistics.getSessionOpenCount();
    this.startTime = statistics.getStartTime();
    this.successfulTransactionCount = statistics.getSuccessfulTransactionCount();
    this.transactionCount = statistics.getTransactionCount();
}
项目:PlayTraining    文件:ThreadSafeJPA.java   
/**
 * Get BoneCP stats
 */
public static com.jolbox.bonecp.Statistics getBoneCPStatistics() {
    BoneCPDataSource boneCPdatasource = (BoneCPDataSource) DB.getDataSource();
    try {
        Field field = boneCPdatasource.getClass().getDeclaredField("pool");
        field.setAccessible(true);
        BoneCP boneCP = (BoneCP) field.get(boneCPdatasource);
        return boneCP.getStatistics();
    } catch (Exception e) {
        Logger.error(e.toString(), e);
    }
    return null;
}
项目:PlayTraining    文件:ThreadSafeJPA.java   
/**
 * Get BoneCP stats
 */
public static com.jolbox.bonecp.Statistics getBoneCPStatistics() {
    BoneCPDataSource boneCPdatasource = (BoneCPDataSource) DB.getDataSource();
    try {
        Field field = boneCPdatasource.getClass().getDeclaredField("pool");
        field.setAccessible(true);
        BoneCP boneCP = (BoneCP) field.get(boneCPdatasource);
        return boneCP.getStatistics();
    } catch (Exception e) {
        Logger.error(e.toString(), e);
    }
    return null;
}
项目:PlayTraining    文件:ThreadSafeJPA.java   
/**
 * Get BoneCP stats
 */
public static com.jolbox.bonecp.Statistics getBoneCPStatistics() {
    BoneCPDataSource boneCPdatasource = (BoneCPDataSource) DB.getDataSource();
    try {
        Field field = boneCPdatasource.getClass().getDeclaredField("pool");
        field.setAccessible(true);
        BoneCP boneCP = (BoneCP) field.get(boneCPdatasource);
        return boneCP.getStatistics();
    } catch (Exception e) {
        Logger.error(e.toString(), e);
    }
    return null;
}
项目:swutils    文件:HibernateStatisticsTest.java   
@Test @Ignore
public void should_implement_all_public_methods() {
    Method[] delegatePublicMethods = Statistics.class.getMethods();
    Method[] publicMethods = HibernateStatistics.class.getMethods();

    List<Method> otherMethods = Arrays.stream(delegatePublicMethods)
            .filter(method -> !hasElement(publicMethods, method.getName()))
            .collect(Collectors.toList());

    assertThat(otherMethods).isEmpty();
}
项目:swutils    文件:HibernateStatisticsSupportTest.java   
@Before
public void setup() throws Exception {
    SessionFactory sessionFactory = mock(SessionFactory.class);
    statistics = mock(Statistics.class);
    when(sessionFactory.getStatistics()).thenReturn(statistics);
    hibernateStatisticsSupport = new HibernateStatisticsSupport(sessionFactory);

    beanName = new ObjectName("fr.sewatech:type=HibernateStatistics");
}
项目:bard    文件:DBManager.java   
public static EntityManager getEntityManager()
    throws MalformedObjectNameException, NotCompliantMBeanException,
    InstanceAlreadyExistsException, MBeanRegistrationException {
    if (emf == null) {
        emf = Persistence.createEntityManagerFactory(
            Util.getConfig().getString("bard.jpa.unit", "prod")
        );
        final SessionFactory sessionFactory =
            ((HibernateEntityManagerFactory) emf).getSessionFactory();

        ObjectName statsName = new ObjectName("org.hibernate:type=statistics");
        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();

        final Statistics statistics = sessionFactory.getStatistics();
        statistics.setStatisticsEnabled(true);
        Object statisticsMBean = Proxy.newProxyInstance(DBManager.class.getClassLoader(),
            new Class<?>[] {StatisticsMXBean.class}, new InvocationHandler() {

                @Override
                public Object invoke(Object proxy, Method method, Object[] args)
                    throws Throwable {
                    return method.invoke(statistics, args);
                }
            });

        mbeanServer.registerMBean(statisticsMBean, statsName);

    }
    return emf.createEntityManager();
}
项目:client_java    文件:HibernateStatisticsCollectorTest.java   
@Before
public void before() {
  registry = new CollectorRegistry();
  sessionFactory = mock(SessionFactory.class);
  statistics = mock(Statistics.class);
  when(sessionFactory.getStatistics()).thenReturn(statistics);
}
项目:GridSphere    文件:PersistenceManagerRdbmsImpl.java   
public void destroy() {
    System.err.println("destroying pm! " + pm);
    Statistics stats = factory.getStatistics();
    stats.logSummary();
    factory.close();
    //session = null;
}
项目:micrometer    文件:HibernateMetrics.java   
private boolean hasStatisticsEnabled(EntityManagerFactory emf) {
    final Statistics stats = getStatistics(emf);
    return (stats != null && stats.isStatisticsEnabled());
}
项目:lemon    文件:SessionFactoryWrapper.java   
/**
 * 此处需要进行封装,如果sessionFactory没有构建成功,就自己新建. 否则应该使用<code>sessionFactory.getStatistics()</code>
 */
public Statistics getStatistics() {
    return new StatisticsWrapper();
}
项目:lams    文件:SessionFactoryImpl.java   
public Statistics getStatistics() {
    return getStatisticsImplementor();
}
项目:helium    文件:JbpmSessionFactory.java   
public Statistics getStatistics() {
    return delegate.getStatistics();
}
项目:oma-riista-web    文件:HibernateStatisticsVerifier.java   
public void verifyAndClear() {
    final Statistics stats = getStatistics();
    verifyQueryCount(stats);
    stats.clear();
}
项目:oma-riista-web    文件:SpringContextIntegrationTest.java   
@Override
protected Statistics getStatistics() {
    return sessionFactory().getStatistics();
}
项目:oma-riista-web    文件:SpringContextIntegrationTest.java   
protected Statistics getHibernateStatistics() {
    return sessionFactory().getStatistics();
}
项目:OSCAR-ConCert    文件:SpringHibernateLocalSessionFactoryBean.java   
public Statistics getStatistics() {
 return sessionFactory.getStatistics();
}
项目:openbravo-brazil    文件:DalSessionFactory.java   
public Statistics getStatistics() {
  return delegateSessionFactory.getStatistics();
}
项目:hazelcast-hibernate5    文件:RegionFactoryDefaultTest.java   
public void testQuery() throws Exception {
    final int entityCount = 10;
    final int queryCount = 3;
    insertDummyEntities(entityCount);
    // After inserting the entities, we need a slight delay. Otherwise, when the queries run, it's possible
    // that the UpdateTimestampsCache entry for DummyEntity still matches the current timestamp. When that
    // happens, this test fails because the StandardQueryCache considers the cached data out-of-date, which
    // results in an extra miss and put in the statistics. By delaying slightly here, we can be certain our
    // queries will have newer timestamps then tha cache does
    sleep(1);

    List<DummyEntity> list = null;
    for (int i = 0; i < queryCount; i++) {
        list = executeQuery(sf);
        assertEquals(entityCount, list.size());
    }

    Session session = sf.openSession();
    Transaction tx = session.beginTransaction();
    try {
        for (DummyEntity dummy : list) {
            session.delete(dummy);
        }
        tx.commit();
    } catch (Exception e) {
        tx.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }

    Statistics stats = sf.getStatistics();
    assertEquals(1, stats.getQueryCachePutCount());
    assertEquals(1, stats.getQueryCacheMissCount());
    assertEquals(queryCount - 1, stats.getQueryCacheHitCount());
    assertEquals(1, stats.getQueryExecutionCount());
    assertEquals(entityCount, stats.getEntityInsertCount());
    //      FIXME
    //      HazelcastRegionFactory puts into L2 cache 2 times; 1 on insert, 1 on query execution
    //      assertEquals(entityCount, stats.getSecondLevelCachePutCount());
    assertEquals(entityCount, stats.getEntityLoadCount());
    assertEquals(entityCount, stats.getEntityDeleteCount());
    assertEquals(entityCount * (queryCount - 1) * 2, stats.getSecondLevelCacheHitCount());
    // collection cache miss
    assertEquals(entityCount, stats.getSecondLevelCacheMissCount());
    stats.logSummary();
}
项目:springJpaKata    文件:JmxConfig.java   
@Bean
@DependsOn("entityManagerFactory")
public Statistics statisticsService(EntityManagerFactory entityManagerFactory) {
    SessionFactory sf = ((HibernateEntityManagerFactory) entityManagerFactory).getSessionFactory();
    return sf.getStatistics();
}
项目:hazelcast-hibernate    文件:RegionFactoryDefaultTest.java   
@Test
public void testQuery() {
    final int entityCount = 10;
    final int queryCount = 3;
    insertDummyEntities(entityCount);
    List<DummyEntity> list = null;
    for (int i = 0; i < queryCount; i++) {
        list = executeQuery(sf);
        assertEquals(entityCount, list.size());
    }

    assertNotNull(list);
    Session session = sf.openSession();
    Transaction tx = session.beginTransaction();
    try {
        for (DummyEntity dummy : list) {
            session.delete(dummy);
        }
        tx.commit();
    } catch (Exception e) {
        tx.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }

    Statistics stats = sf.getStatistics();
    assertEquals(1, stats.getQueryCachePutCount());
    assertEquals(1, stats.getQueryCacheMissCount());
    assertEquals(queryCount - 1, stats.getQueryCacheHitCount());
    assertEquals(1, stats.getQueryExecutionCount());
    assertEquals(entityCount, stats.getEntityInsertCount());
    //      FIXME
    //      HazelcastRegionFactory puts into L2 cache 2 times; 1 on insert, 1 on query execution
    //      assertEquals(entityCount, stats.getSecondLevelCachePutCount());
    assertEquals(entityCount, stats.getEntityLoadCount());
    assertEquals(entityCount, stats.getEntityDeleteCount());
    assertEquals(entityCount * (queryCount - 1) * 2, stats.getSecondLevelCacheHitCount());
    // collection cache miss
    assertEquals(entityCount, stats.getSecondLevelCacheMissCount());
    stats.logSummary();
}
项目:hazelcast-hibernate    文件:RegionFactoryDefaultTest.java   
@Test
public void testQuery() {
    final int entityCount = 10;
    final int queryCount = 3;
    insertDummyEntities(entityCount);
    List<DummyEntity> list = null;
    for (int i = 0; i < queryCount; i++) {
        list = executeQuery(sf);
        assertEquals(entityCount, list.size());
        sleepAtLeastSeconds(1);
    }

    assertNotNull(list);
    Session session = sf.openSession();
    Transaction tx = session.beginTransaction();
    try {
        for (DummyEntity dummy : list) {
            session.delete(dummy);
        }
        tx.commit();
    } catch (Exception e) {
        tx.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }

    Statistics stats = sf.getStatistics();
    assertEquals(1, stats.getQueryCachePutCount());
    assertEquals(1, stats.getQueryCacheMissCount());
    assertEquals(queryCount - 1, stats.getQueryCacheHitCount());
    assertEquals(1, stats.getQueryExecutionCount());
    assertEquals(entityCount, stats.getEntityInsertCount());
    //      FIXME
    //      HazelcastRegionFactory puts into L2 cache 2 times; 1 on insert, 1 on query execution
    //      assertEquals(entityCount, stats.getSecondLevelCachePutCount());
    assertEquals(entityCount, stats.getEntityLoadCount());
    assertEquals(entityCount, stats.getEntityDeleteCount());
    assertEquals(entityCount * (queryCount - 1) * 2, stats.getSecondLevelCacheHitCount());
    // collection cache miss
    assertEquals(entityCount, stats.getSecondLevelCacheMissCount());

    stats.logSummary();
}