Forum: Managing VoltDB

Post: Is there a way to export from web studio?

Is there a way to export from web studio?
akh2103
Oct 9, 2013
I am getting the hang of voltdb. I see that I can monitor the performance of a volt database with web studio. Is there any way I can export the realtime data that I see on the graphs? I clicked csv, tab, fix and grid -- but those don't seem to do what I want.
bballard
Oct 9, 2013
The csv, tab, fix and grid options in VoltDB Studio just change the way the results are displayed on the web page. You could cut and paste, but I think what you want to use is the command-line query tool, sqlcmd.

Reference:
https://voltdb.com/docs/UsingVoltDB/clisqlcmd.php

You can use it interactively, as a one-line command, or in a script. For example:

sqlcmd --query="SELECT * FROM foo WHERE id = 1;" [--output-format=(fixed|csv|tab)] > myfile.txt

or

echo "SELECT * FROM foo WHERE id = 1;" | sqlcmd [--output-format=(fixed|csv|tab)] > myfile.txt
akh2103
Oct 9, 2013
Hi Ben,

I want to export performance measures like throughput and latency. It seems like the best way to do this is with benchmarking code in the client java class -- like in the voter sample. Or is there an easy way to export this kind of information from enterprise manager or web manager?
bballard
Oct 9, 2013
The Performance Monitor in VoltDB Studio displays data that is gathered from the @Statistics system procedure. So you can view that live to get a sense of the throughput, and also look at the execution times for the stored procedure to see if they are performing well. If you want to export that data, you could derive it from calling @Statistics directly, but it will require some summarization probably in a spreadsheet.

Here is the reference for the @Statistics procedure:
https://voltdb.com/docs/UsingVoltDB/sysprocstatistics.php

Another way to measure performance is from a client, like our example applications. If you want to write your own client to test a certain workload against your own schema, that is not too difficult. I would recommend starting with one of our other example applications as a template, and replacing the schema, stored procedures, and client-side data generation and procedure calls. The simplest one I would use as a template is this one:

https://github.com/VoltDB/voltdb-labs/tree/master/java/stored_value_cards

But you might look through the other available examples to see if one is closer to your use case.

https://github.com/VoltDB/voltdb-labs/tree/master/java

Is there a particular use case you're trying to test?