001    package biz.hammurapi.metrics.jmx;
002    
003    import java.util.Date;
004    
005    /**
006     * Interface to expose metrics to JMX.
007     * @author Pavel
008     */
009    public interface JmxSlice {
010    
011            /**
012             * @return number of measurements
013             */
014            int getNumber();
015            
016            /**
017             * @return Minimum value
018             */
019            double getMin();
020            
021            /**
022             * @return Maximum value
023             */
024            double getMax();
025            
026            /**
027             * @return Average
028             */
029            double getAverage();
030            
031            /**
032             * @return Sum of values from all measurements
033             */
034            double getTotal();
035            
036            /**
037             * @return average distance from average
038             */
039            double getDeviation();
040            
041            /**
042             * @return Slice start time
043             */
044            Date getFrom();
045            
046            /**
047             * @return Slice end time
048             */
049            Date getTo();
050            
051            /**
052             * Clears all collected measurements
053             */
054            void reset();
055            
056    }