001package io.ebean.meta; 002 003/** 004 * Defines visitor to read and report the transaction and query metrics. 005 */ 006public interface MetricVisitor { 007 008 /** 009 * Return true if the metrics should be reset. 010 */ 011 boolean isReset(); 012 013 /** 014 * Return true if we should visit the transaction metrics. 015 */ 016 boolean isCollectTransactionMetrics(); 017 018 /** 019 * Return true if we should visit the ORM and SQL query metrics. 020 */ 021 boolean isCollectQueryMetrics(); 022 023 /** 024 * Visit has started. 025 */ 026 void visitStart(); 027 028 /** 029 * Visit transaction metrics (and L2 cache metrics in future). 030 */ 031 void visitTimed(MetaTimedMetric metric); 032 033 /** 034 * Visit DTO and SQL query metrics. 035 */ 036 void visitQuery(MetaQueryMetric metric); 037 038 /** 039 * Visit ORM query metrics. 040 */ 041 void visitOrmQuery(MetaOrmQueryMetric metric); 042 043 /** 044 * Visit has completed. 045 */ 046 void visitEnd(); 047 048}