/*
* Copyright (C) 2008 Digital Sundhed (SDSD)
*
* All source code and information supplied as part of chronos
* is copyright to its contributers.
*
* The source code has been released under a dual license - meaning you can
* use either licensed version of the library with your code.
*
* It is released under the Common Public License 1.0, a copy of which can
* be found at the link below.
* http://www.opensource.org/licenses/cpl.php
*
* It is released under the LGPL (GNU Lesser General Public License), either
* version 2.1 of the License, or (at your option) any later version. A copy
* of which can be found at the link below.
* http://www.gnu.org/copyleft/lesser.html
*/
package org.codehaus.mojo.chronos;
/**
* Represents a readonly view of the configuration.<br/>
* Makes it more obvious that the reporting will not change the configuration
*
* @author ksr@lakeside.dk
*/
public interface ReportConfig {
/**
* @return the id of this report (default is
*/
String getId();
/**
* @return the title of this report
*/
String getTitle();
/**
* @return the description of the report
*/
String getDescription();
/**
* @return whether a summary of the results should be shown.
*/
boolean isShowsummary();
/**
* @return whether a summary of the results should be shown.
*/
boolean isShowsummarycharts();
/**
* @return Should a report of each individual test be shown?
*/
boolean isShowdetails();
/**
* @return Will the report contain an information table for the tests (both the summary and the individual tests)?
*/
boolean isShowinfotable();
/**
* @return Will the information table contain timeinfo?
*/
boolean isShowtimeinfo();
/**
* @return Will the report contain graphs of response times?
*/
boolean isShowresponse();
/**
* @return Will the report contain a histogram
*/
boolean isShowhistogram();
/**
* @return Will the report contain throughput information (graphically
*/
boolean isShowthroughput();
/**
* @return Will the report contain garbage collection statistics
*/
boolean isShowgc();
/**
* @return the duration of the threadcount
*/
long getThreadcountduration();
/**
* @return the average duration
*/
int getAverageduration();
/**
* responsetimeDivider is often used when the reponse time of a single request is so low that the granularity of the
* system timer corrupts the response time measured.
*
* @return responsetimeDivider - divides response time. Useful when one sample is the response time for multiple
* requests.
*/
int getResponsetimedivider();
/**
* @return whether the charts of response times and histograms will contain 95% percentiles
*/
boolean isShowpercentile();
/**
* @return whether the charts of response times and histograms will contain average times
*/
boolean isShowaverage();
/**
* @return Set the maximum upper bound for a chart in the historyreport goal
*/
/* Merged from Atlassion */
public double getHistoryChartUpperBound();
}