001package com.avaje.ebean.meta; 002 003import java.util.List; 004 005/** 006 * Provides access to the meta data in EbeanServer such as query execution statistics. 007 */ 008public interface MetaInfoManager { 009 010 /** 011 * Return the MetaBeanInfo for a bean type. 012 */ 013 MetaBeanInfo getMetaBeanInfo(Class<?> beanClass); 014 015 /** 016 * Return all the MetaBeanInfo. 017 */ 018 List<MetaBeanInfo> getMetaBeanInfoList(); 019 020 /** 021 * Collect and return the query plan statistics for all the beans. 022 * <p> 023 * Note that this excludes the query plan statistics where there has been no 024 * executions (since the last collection with reset). 025 * </p> 026 */ 027 List<MetaQueryPlanStatistic> collectQueryPlanStatistics(boolean reset); 028 029 /** 030 * Collect and return the ObjectGraphNode statistics. 031 * <p> 032 * These show query executions based on an origin point and relative path. 033 * This is used to look at the amount of lazy loading occurring for a given 034 * query origin point and highlight potential for tuning a query. 035 * </p> 036 * 037 * @param reset 038 * Set to true to reset the underlying statistics after collection. 039 */ 040 List<MetaObjectGraphNodeStats> collectNodeStatistics(boolean reset); 041 042}