001package io.ebean.metric; 002 003import io.ebean.meta.MetricType; 004 005/** 006 * Factory to create timed metric counters. 007 */ 008public interface MetricFactory { 009 010 /** 011 * Return the factory instance. 012 */ 013 static MetricFactory get() { 014 return MetricServiceProvider.get(); 015 } 016 017 /** 018 * Create a timed metric group. 019 */ 020 TimedMetricMap createTimedMetricMap(MetricType metricType, String name); 021 022 /** 023 * Create a Timed metric. 024 */ 025 TimedMetric createTimedMetric(MetricType metricType, String name); 026 027 /** 028 * Create a Timed metric. 029 */ 030 QueryPlanMetric createQueryPlanMetric(MetricType metricType, Class<?> type, String label, String sql); 031 032}