001package org.avaje.metric;
002
003/**
004 * A timing point entry when collecting nested context timing.
005 */
006public interface RequestTimingEntry extends Comparable<RequestTimingEntry> {
007
008  /**
009   * Return the metric this entry is from.
010   */
011  TimedMetric getMetric();
012
013  /**
014   * Returns the depth of the entry.
015   */
016  int getDepth();
017
018  /**
019   * Returns the start nanos value for the entry.
020   */
021  long getStartNanos();
022
023  /**
024   * Returns the end nanos value for the entry.
025   */
026  long getEndNanos();
027
028  /**
029   * Return the execution time in nanos for the entry.
030   */
031  long getExecutionNanos();
032}