criterion-1.5.6.2: Robust, reliable performance measurement and analysis

Copyright(c) 2009-2014 Bryan O'Sullivan
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellTrustworthy
LanguageHaskell2010

Criterion.Report

Contents

Description

Reporting functions.

Synopsis

Documentation

formatReport Source #

Arguments

:: [Report] 
-> Text

Mustache template.

-> IO Text 

Format a series of Report values using the given Mustache template.

report :: [Report] -> Criterion () Source #

Write out a series of Report values to a single file, if configured to do so.

tidyTails :: KDE -> KDE Source #

Trim long flat tails from a KDE plot.

Rendering helper functions

data TemplateException Source #

A problem arose with a template.

Constructors

TemplateNotFound FilePath

The template could not be found.

Instances
Eq TemplateException Source # 
Instance details

Defined in Criterion.Report

Data TemplateException Source # 
Instance details

Defined in Criterion.Report

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TemplateException -> c TemplateException #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TemplateException #

toConstr :: TemplateException -> Constr #

dataTypeOf :: TemplateException -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TemplateException) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TemplateException) #

gmapT :: (forall b. Data b => b -> b) -> TemplateException -> TemplateException #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TemplateException -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TemplateException -> r #

gmapQ :: (forall d. Data d => d -> u) -> TemplateException -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TemplateException -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TemplateException -> m TemplateException #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TemplateException -> m TemplateException #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TemplateException -> m TemplateException #

Read TemplateException Source # 
Instance details

Defined in Criterion.Report

Show TemplateException Source # 
Instance details

Defined in Criterion.Report

Generic TemplateException Source # 
Instance details

Defined in Criterion.Report

Associated Types

type Rep TemplateException :: Type -> Type #

Exception TemplateException Source # 
Instance details

Defined in Criterion.Report

type Rep TemplateException Source # 
Instance details

Defined in Criterion.Report

type Rep TemplateException = D1 (MetaData "TemplateException" "Criterion.Report" "criterion-1.5.6.2-FgzuYTP90tcJklLNTLLMjj" False) (C1 (MetaCons "TemplateNotFound" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath)))

loadTemplate Source #

Arguments

:: [FilePath]

Search path.

-> FilePath

Name of template file.

-> IO Text 

Load a Mustache template file.

If the name is an absolute or relative path, the search path is not used, and the name is treated as a literal path.

If the -fembed-data-files Cabal flag is enabled, this also checks the embedded data-files from criterion.cabal.

This function throws a TemplateException if the template could not be found, or an IOException if no template could be loaded.

includeFile Source #

Arguments

:: MonadIO m 
=> [FilePath]

Directories to search.

-> FilePath

Name of the file to search for.

-> m Text 

Attempt to include the contents of a file based on a search path. Returns empty if the search fails or the file could not be read.

Intended for preprocessing Mustache files, e.g. replacing sections

{{#include}}file.txt{{/include}

with file contents.

getTemplateDir :: IO FilePath Source #

Return the path to the template and other files used for generating reports.

When the -fembed-data-files Cabal flag is enabled, this simply returns the empty path.

vector Source #

Arguments

:: (Vector v a, ToJSON a) 
=> Text

Name to use when substituting.

-> v a 
-> Value 

Render the elements of a vector.

It will substitute each value in the vector for x in the following Mustache template:

{{#foo}}
 {{x}}
{{/foo}}

vector2 Source #

Arguments

:: (Vector v a, Vector v b, ToJSON a, ToJSON b) 
=> Text

Name for elements from the first vector.

-> Text

Name for elements from the second vector.

-> v a

First vector.

-> v b

Second vector.

-> Value 

Render the elements of two vectors.