-
Notifications
You must be signed in to change notification settings - Fork 1
Creating Graphs
RaVeN has a strong dependency to the STBenchiGraphs package, which can use the results-db created by RaVeN to create custom graphs on the results. Under the hood, STBenchiGraphs heavily relies on dplyr, dbplyr, tidyr, ggplot2 and duckdb.
STBenchiGraphs can be installed to any existing R environment using renv by running
renv::install("zergar/STBenchiGraphs")
library(STBenchiGraphs)
To start, you need to load the results database created by ST_Benchi:
conn <- connect_stbenchi_db("results.db")
You can then load the latency data by specifying the benchmark sets you want to load the data for:
data <- prepare_timings_data_comparison(conn, 145, 148, 151, 154)
Next, you can use this dataframe to plot latency graphs all stages of a run:
plot_full_run(data, c("system", "recipe"))
or for a single stage:
plot_stage_comparison(data, "execution", c("system", "recipe"))
or for the size of the result sets:
plot_result_size(data, c("system", "recipe"))
You can also plot the resource utilization for a single benchmark run:
create_stage_graph(conn, 203, c("CPUUsage", "MemUsage"), c("execution"))
If you are only interested in basic latency comparisons returned as a table, you can use:
get_set_timings(data, c("system", "recipe"))
You can find all possible parameters by checking the attributes of the parameters table of the results-db.
For further configuration options of the functions, please refer to the documentation of STBenchiGraphs.
STBenchiGraphs has to use the same DuckDB-Version as RaVeN. If you want to bump the DuckDB-version of one package, you have to also bump the version of the other.