hsbencher-1.5.3.1: Flexible benchmark runner for Haskell and non-Haskell benchmarks.

Safe HaskellNone

HSBencher.Fusion

Description

Code pertaining to Google Fusion Table upload. Built conditionally based on the -ffusion flag.

Synopsis

Documentation

data FusionConfig Source

Constructors

FusionConfig 

Fields

fusionTableID :: Maybe TableId

This must be Just whenever doFusionUpload is true.

fusionClientID :: Maybe String
 
fusionClientSecret :: Maybe String
 
serverColumns :: [String]

Record the ordering of columns server side.

Instances

stdRetry :: String -> OAuth2Client -> OAuth2Tokens -> IO a -> BenchM aSource

The standard retry behavior when receiving HTTP network errors.

getTableId :: OAuth2Client -> String -> BenchM (TableId, [String])Source

Get the table ID that has been cached on disk, or find the the table in the users Google Drive, or create a new table if needed.

In the case of a preexisting table, this function also performs sanity checking comparing the expected schema (including column ordering) to the sserver side one. It returns the permutation of columns found server side.

fusionSchema :: [(String, CellType)]Source

A representaton used for creating tables. Must be isomorphic to BenchmarkResult. This could perhaps be generated automatically.

resultToTuple :: BenchmarkResult -> [(String, String)]Source

Convert the Haskell representation of a benchmark result into a tuple for Fusion table upload.

uploadBenchResult :: BenchmarkResult -> BenchM ()Source

Push the results from a single benchmark to the server.