001package io.ebean.meta;
002
003import io.ebean.ProfileLocation;
004
005import java.util.List;
006
007/**
008 * Query execution statistics for Orm queries.
009 */
010public interface MetaOrmQueryMetric extends MetaQueryMetric {
011
012  /**
013   * Return the profile location.
014   */
015  ProfileLocation getProfileLocation();
016
017  /**
018   * Return true if this query plan was tuned by AutoTune.
019   */
020  boolean isAutoTuned();
021
022  /**
023   * Return a string representation of the query plan hash.
024   */
025  String getQueryPlanHash();
026
027  /**
028   * Return the time of the last query executed using this plan.
029   */
030  long getLastQueryTime();
031
032  /**
033   * Return the 'origin' points and paths that resulted in the query being
034   * executed and the associated number of times the query was executed via that
035   * path.
036   * <p>
037   * This includes direct and lazy loading paths.
038   * </p>
039   */
040  List<MetaOrmQueryOrigin> getOrigins();
041
042}