Skip to content
This repository was archived by the owner on Jun 2, 2025. It is now read-only.

Repository files navigation

Agora

The evaluation tool

The source for the evaluation tool lives under this repo at ./agora/.

Installation

To compile and run from source:

Install Rustup If you don't have cargo already, install it by following the instructions here: https://www.rust-lang.org/tools/install

Compile and Run

The first step in using the tool is to compile it with cargo.

cd ./agora
cargo build --release

The tool will be compiled to /target/release/.

cd target/release/
./agora -h

This should print the available command-line arguments, which, at the time of this writing will look like this:

agora 0.1.0
USAGE:
agora [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --cost <cost> A cost model to use for costing
--globals <globals>
--grt-per-time <grt-per-time>
-l, --load-log <load-log>... Load request log file(s) supports json and tree-buf
--sample <sample> Take a sample of the request log. Unit interval [default: 1.0]
--save-log <save-log> Save the request log file. Only tree-buf is supported

Usage

The arguments to the tool are meant to be combined to instruct agora to accomplish tasks. What follows are just examples:

# Load two log files (from json lines format)# Sample the logs at 10%# Save the result as a single tree-buf file
./agora \
--load-log ./log1.jsonl \
--load-log ./log2.jsonl \
--sample 0.1 \
--save-log ./logs.treebuf
# Load the sampled/combined file# And evaluate the effectiveness of our pricing
./agora \
--load-log ./logs.treebuf \
--globals ./globals.json \
--grt-per-time 0.0001 \
--cost ./cost-model.agora

Cost Models

Agora uses a specialized language for defining cost models that can react to changes in Query structure and parameters. See the documentation to learn about the Agora cost model language.

Copyright

Copyright © 2020 The Graph Foundation.

Licensed under the MIT license.

About

Cost model

Resources

Stars

19 stars

Watchers

11 watching

Forks

Releases

Packages

Contributors

Languages