Skip to content

Creating Graphs

gereon edited this page Jan 31, 2024 · 2 revisions

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.

Installation

STBenchiGraphs can be installed to any existing R environment using renv by running

renv::install("zergar/STBenchiGraphs")
library(STBenchiGraphs)

Usage

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.

Important to remember

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.

Clone this wiki locally