Skip to content

Commit

Permalink
Merge pull request #416 from perftool-incubator/runfile-doc
Browse files Browse the repository at this point in the history
Update run file doc
  • Loading branch information
rafaelfolco authored Oct 18, 2023
2 parents 32353f8 + f2c851e commit 7cf0713
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 3 deletions.
1 change: 1 addition & 0 deletions .github/workflows/crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
paths-ignore:
- LICENSE
- '**.md'
- .github/workflows/faux-unittest.yaml
- .github/workflows/faux-crucible-ci.yaml
- 'docs/**'
- engine/engine-script-library.py
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/faux-unittest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: faux-unittest

on:
pull_request:
branches: [ main ]
branches: [ master ]
paths:
- LICENSE
- '**.md'
Expand Down
43 changes: 41 additions & 2 deletions util/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,47 @@ configuration by using a single JSON file. Users can specify multi-value
parameters, tools, tags, endpoints, and run parameters, all using an unified
JSON format, in one single place.

For examples, refer to the [crucible-examples](https://github.com/perftool-incubator/crucible-examples/tree/main/runfile)
repository.

## Format
The config runfile structure is the following:
```
{
"benchmarks": [
{
(...)
"mv-params": {
(...)
}
}
]
"tool-params": [
(...)
],
"tags": {
(...)
},
"endpoints": [
(...)
],
"run-params": {
(...)
}
}
```
where:
* `benchmarks`: benchmark definitions
* `mv-params`: benchmark specific params
* `tool-params`: performance tool params, e.g. perf, sysstat, procstat, etc.
* `tags`: tags to identify the test run in the form of "key":"value"
* `endpoints`: endpoint definitions and configuration settings
* `run-params`: addtional (optional) command line params, e.g. number of samples

For more details on the supported format, refer to the JSON [schema](JSON/schema.json).

## Usage

To validate a run-file, run:
```
python3 validate_run_file.py --json <run-file-json>
Expand All @@ -23,7 +62,7 @@ To use a run-file JSON in Crucible, run:
crucible run --from-file <run-file-json>
```

## blockbreaker.py utility
### blockbreaker.py utility

The "blockbreaker.py" utility extracts a configuration block from the
run-file JSON and transforms into a JSON block or stream output.
Expand All @@ -34,7 +73,7 @@ python3 blockbreaker.py --json <run-file-json> --config <config>
```
Example:
```
python3 blockbreaker.py --json run-file.json --config mv-params
python3 blockbreaker.py --json run-file.json --config mv-params --benchmark iperf
```
For more options and usage run:
```
Expand Down

0 comments on commit 7cf0713

Please sign in to comment.