001package io.ebean.metric; 002 003import io.ebean.meta.MetricVisitor; 004 005/** 006 * A map of timed metrics keyed by a string. 007 */ 008public interface TimedMetricMap { 009 010 /** 011 * Add a time event given the start nanos. 012 */ 013 void addSinceNanos(String key, long startNanos); 014 015 /** 016 * Add a time event given the start nanos and beans. 017 */ 018 void addSinceNanos(String key, long startNanos, int beans); 019 020 /** 021 * Add an execution for the given key. 022 */ 023 void add(String key, long exeMicros); 024 025 /** 026 * Add an execution for the given key including row/bean count. 027 */ 028 void add(String key, long exeMicros, int rows); 029 030 /** 031 * Visit the metric. 032 */ 033 void visit(MetricVisitor visitor); 034}