Safe Haskell | None |
---|
Google Fusion Table upload of benchmark data.
This module must be used in conjunction with the main hsbencher package, e.g. import HSBencher.
- defaultFusionPlugin :: FusionPlug
- data FusionConfig = FusionConfig {}
- stdRetry :: String -> OAuth2Client -> OAuth2Tokens -> IO a -> BenchM (Maybe a)
- getTableId :: OAuth2Client -> String -> BenchM (TableId, [String])
- fusionSchema :: [(String, CellType)]
- resultToTuple :: BenchmarkResult -> [(String, String)]
- uploadBenchResult :: BenchmarkResult -> BenchM ()
- data FusionPlug
- data FusionCmdLnFlag
- = FusionTables (Maybe TableId)
- | ClientID String
- | ClientSecret String
- | FusionTest
The plugin itself, what you probably want
defaultFusionPlugin :: FusionPlugSource
A default plugin. This may seem pointless, but we abstract over the internals of FusionPlug to enable backwards compatibility in the phase of future extensions.
Details and configuration options.
data FusionConfig Source
Configuration options for Google Fusion Table uploading.
FusionConfig | |
|
stdRetry :: String -> OAuth2Client -> OAuth2Tokens -> IO a -> BenchM (Maybe a)Source
The standard retry behavior when receiving HTTP network errors. Note that this can retry for quite a long while so it is only to be usedfrom batch applications.
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.
Note, order is important here, because this is the preferred order we'd like to have it in the Fusion table.
resultToTuple :: BenchmarkResult -> [(String, String)]
Convert the Haskell representation of a benchmark result into a tuple for upload to a typical database backend.
uploadBenchResult :: BenchmarkResult -> BenchM ()Source
Push the results from a single benchmark to the server.
data FusionPlug Source
The type of Fusion table plugins. Currently this is a singleton type; there is really only one fusion plugin.
data FusionCmdLnFlag Source
Parsed command line options provided by the user initiating benchmarking.