001package com.avaje.ebean.meta;
002
003import com.avaje.ebean.bean.ObjectGraphNode;
004
005/**
006 * Statistics for query execution based on object graph origin and paths.
007 * <p>
008 * These statistics can be used to identify origin queries that result in lots
009 * of lazy loading.
010 * </p>
011 * 
012 * @see MetaInfoManager#collectNodeStatistics(boolean)
013 */
014public interface MetaObjectGraphNodeStats {
015
016  /**
017   * Return the ObjectGraphNode which has the origin point and relative path.
018   */
019  ObjectGraphNode getNode();
020
021  /**
022   * Return the startTime of statistics collection.
023   */
024  long getStartTime();
025
026  /**
027   * Return the total count of queries executed for this node.
028   */
029  long getCount();
030
031  /**
032   * Return the total time of queries executed for this node.
033   */
034  long getTotalTime();
035
036  /**
037   * Return the total beans loaded by queries for this node.
038   */
039  long getTotalBeans();
040
041}