Leverage the existing system-analyzer log processing and build a cli around it with basic json output and filtering. - Add v8-logviewer as a better cli to v8.log - list scripts, functions, code objects, ics, deopts - filter by script, function name... - Add tools/find-d8.sh helper that we can use in all tools entry scripts Todos: - Add profile support (this is somewhat handled by the various tick-processor helpers) - Add more detailed output for each subcommand - Long-term we want to probably replace this with a trace-processor based solution that works seamlessly with data from d8 and from chromium. Change-Id: I5e0a13ab861ce33f88e7bab10ae2bd58a009292f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7785576 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#106846}
18 lines
453 B
Bash
Executable File
18 lines
453 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# find the name of the log file to process, it must not start with a dash.
|
|
log_file="v8.log"
|
|
for arg in "$@"
|
|
do
|
|
if ! expr "X${arg}" : "^X-" > /dev/null; then
|
|
log_file=${arg}
|
|
fi
|
|
done
|
|
|
|
tools_path=`cd $(dirname "$0");pwd`
|
|
d8_exec=$("${tools_path}/find-d8.sh" "$log_file") || exit 1
|
|
|
|
# nm spits out 'no symbols found' messages to stderr.
|
|
cat $log_file | $d8_exec --enable-os-system \
|
|
--module $tools_path/tickprocessor-driver.mjs -- $@
|