NAME
benchmarkanything-storage - BenchmarkAnything storage cmdline tool
SYNOPSIS
Default data format (in and out) is JSON, other formats can be specified.
Initialize BenchmarkAnything:
$ benchmarkanything-storage init
OPTIONAL: Configure MySQL
Iff you want to use MySQL instead of the default SQLite, then edit the just created
~/.benchmarkanything/default.cfg
and in the sectionbenchmarkanything: backend: local storage: backend: sql: dsn: dbi:SQLite:... #dsn: DBI:mysql:database=benchmarkanything #user: benchmarker #password: secret ...
comment out the dsn:dbi:SQLite... line and uncomment the dsn:DBI:mysql... and corresponding user: and password: lines, so it now looks like:
benchmarkanything: backend: local storage: backend: sql: #dsn: dbi:SQLite:... dsn: DBI:mysql:database=benchmarkanything user: benchmarker password: secret ...
And yes, choose a better password!
Then initialize you MySQL like this:
$ sudo apt-get install mysql-server-5.6 mysql-client-5.6 $ mysql -u root -p mysql> create database if not exists benchmarkanything; mysql> create user 'benchmarker'@'localhost' identified by 'secret'; mysql> grant all privileges on benchmarkanything.* to 'benchmarker'@'localhost'; mysql> flush privileges; mysql> quit;
Create BenchmarkAnything storage database:
$ benchmarkanything-storage createdb
This will ask if you are sure before it creates the actual db with tables.
Add data to backend storage:
$ benchmarkanything-storage add data.json $ benchmarkanything-storage add -i yaml data.yaml
Query backend storage for data:
$ echo 'json_search_query' | benchmarkanything-storage search -
Input formats
The following input formats are allowed, with their according modules used to convert the input into a data structure:
yaml - YAML::Any (default)
json - JSON
dumper - Data::Dumper (including the leading $VAR1 variable assignment)
Output formats
The following output formats are allowed:
yaml - YAML::Any
json - JSON (default)
xml - XML::Simple
ini - Config::INI::Serializer
dumper - Data::Dumper (including the leading $VAR1 variable assignment)
flat - pragmatic flat output for typical unixish cmdline usage
See "Output formats" in BenchmarkAnything::Storage::Frontend::Lib for more details, especially about the flat output format.
_read_in
This function reads in a data structure. The meaning of the data depends on the sub command: for search
it is a search query, for add
it is an array of BenchmarkAnything data points.
_write_out
This function writes a data structure in requested output format.
ABOUT
Cmdline tool to handle BenchmarkAnything data, see http://benchmarkanything.org
SEE ALSO
For more information about the BenchmarkAnything schema, see http://www.benchmarkanything.org/.
AUTHOR
Steffen Schwigon <ss5@renormalist.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by Steffen Schwigon.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.