Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions doc/quickstart_traceAnalyzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,7 @@ The basic form is:
| `--reuse` | Reuse time and reuse distance distribution, overall and over time | [reuse.py](/scripts/traceAnalysis/reuse.py), [reuse_heatmap.py](/scripts/traceAnalysis/reuse_heatmap.py) |
| `--popularity` | Request count of each object, by rank | [popularity.py](/scripts/traceAnalysis/popularity.py) |
| `--accessPattern` | A sample of which objects are accessed when | [access_pattern.py](/scripts/traceAnalysis/access_pattern.py) |
| `--popularityDacay` | How an object's popularity fades with age | [popularity_decay.py](/scripts/traceAnalysis/popularity_decay.py) |

> [!NOTE]
> The popularity decay flag really is spelled `--popularityDacay`. That is a typo in the code. `--popularityDecay` is rejected as an unrecognized option.
| `--popularityDecay` | How an object's popularity fades with age | [popularity_decay.py](/scripts/traceAnalysis/popularity_decay.py) |

Run `./bin/traceAnalyzer --help` for the full list of tasks and options.

Expand Down Expand Up @@ -250,7 +247,7 @@ Pass these two scripts the base name, without the `_req`/`_obj` or `_rt`/`_vt` s
This shows how likely an object is to be requested again as it gets older. You need a long trace, around a week, for a useful plot. Most block workloads do not have enough requests.

```bash
./bin/traceAnalyzer <trace_path> <trace_type> --popularityDacay
./bin/traceAnalyzer <trace_path> <trace_type> --popularityDecay
python3 ../scripts/traceAnalysis/popularity_decay.py ${dataname}.popularityDecay_w300_obj
```

Expand Down
2 changes: 1 addition & 1 deletion libCacheSim/bin/traceAnalyzer/cli_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ static struct argp_option options[] = {
"enable popularity analysis, output freq:cnt in dataname.popularity file, "
"and prints the skewness to stdout and stat file",
3},
{"popularityDacay", OPTION_ENABLE_POPULARITY_DECAY, NULL,
{"popularityDecay", OPTION_ENABLE_POPULARITY_DECAY, NULL,
Comment thread
1a1a11a marked this conversation as resolved.
Resolved
OPTION_ARG_OPTIONAL,
"enable popularity decay analysis, this calculates popularity fade as a "
"heatmap. It is an expensive analysis, enable only when needed.",
Expand Down
18 changes: 18 additions & 0 deletions test/test_cli.sh
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,24 @@ if [[ -x "${BIN_DIR}/traceAnalyzer" ]]; then
"${BIN_DIR}/traceAnalyzer" --common -o out-common "${TRACE}" vscsi
expect_ok "traceAnalyzer --num-req" \
"${BIN_DIR}/traceAnalyzer" --num-req=10000 -o out-nreq "${TRACE}" vscsi

# The option was registered as --popularityDacay, so the documented
# --popularityDecay was rejected as unrecognized. The correct spelling must
# run the analysis and write its data file. It writes into its own
# directory so the output file check cannot be satisfied by another run.
_trace_name=$(basename "${TRACE}")
mkdir -p pd-out
expect_ok "traceAnalyzer --popularityDecay" \
"${BIN_DIR}/traceAnalyzer" "${TRACE}" vscsi --popularityDecay \
-o "pd-out/${_trace_name}"
if [[ -s "pd-out/${_trace_name}.popularityDecay_w300_obj" ]]; then
_report 0 ""
else
_report 1 "traceAnalyzer --popularityDecay did not write ${_trace_name}.popularityDecay_w300_obj"
fi
# [-] keeps grep from reading a pattern that starts with -- as an option
expect_output "traceAnalyzer --help lists --popularityDecay" \
"[-]-popularityDecay" "${BIN_DIR}/traceAnalyzer" --help
fi

if [[ -x "${BIN_DIR}/mrcProfiler" ]]; then
Expand Down
Loading