script/stackprof: allow CLI to set stackprof mode [ci skip]
This commit is contained in:
parent
02b8e326ed
commit
2c5a5e76ec
|
@ -2,15 +2,21 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
cpu|object) STACKPROF_MODE="$1"; shift ;;
|
||||||
|
*) STACKPROF_MODE="cpu" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
export BENCHMARK=true
|
export BENCHMARK=true
|
||||||
command -v stackprof > /dev/null || script/bootstrap
|
command -v stackprof > /dev/null || script/bootstrap
|
||||||
|
|
||||||
TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site'})"
|
TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site'})"
|
||||||
PROF_OUTPUT_FILE=tmp/stackprof-$(date +%Y%m%d%H%M).dump
|
PROF_OUTPUT_FILE=tmp/stackprof-${STACKPROF_MODE}-$(date +%Y%m%d%H%M).dump
|
||||||
|
|
||||||
|
echo Stackprof Mode: $STACKPROF_MODE
|
||||||
test -f "$PROF_OUTPUT_FILE" || {
|
test -f "$PROF_OUTPUT_FILE" || {
|
||||||
bundle exec ruby -r./lib/jekyll -rstackprof \
|
bundle exec ruby -r./lib/jekyll -rstackprof \
|
||||||
-e "StackProf.run(mode: :cpu, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${TEST_SCRIPT} }"
|
-e "StackProf.run(mode: :${STACKPROF_MODE}, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${TEST_SCRIPT} }"
|
||||||
}
|
}
|
||||||
|
|
||||||
bundle exec stackprof $PROF_OUTPUT_FILE $@
|
bundle exec stackprof $PROF_OUTPUT_FILE $@
|
||||||
|
|
Loading…
Reference in New Issue